Symfony核心类概述


Posted in PHP onMarch 17, 2016

本文讲述了Symfony核心类。分享给大家供大家参考,具体如下:

Symfony的核心类

Symfony的MVC方式使用了一些你以后会经常碰到的类

1. sfController是控制器,他解码请求并专递至动作(action)

2. sfRequest存储了所有的请求元素(参数、Cookies、头信息等等)

3. sfResponse包含了响应头信息和内容,这些是最终要转换为HTML并送与用户的东西

4. 一个上下文(通过sfContext::getInstance()获取)保存了所有核心对象的参考和现有的配置信息,他可以在任何位置被访问。

就像你看到的,所有的symfony类使用sf前缀,这可以避免和你自己的类或变量冲突,而且可以使核心框架的类容易识别。

代码的组织

你已经知道了symfony应用的不同组成,但也许还不知道他是如何组织的。

项目结构:应用、模块和动作

在symfony里,一个项目是一组制定域名下的服务和操作,他们共享对象模型。

一个项目是由多个应用组成,一个应用有多个模块组成,一个模块可以包含多个动作。

项目结构图:

Symfony核心类概述

Symfony的根树结构及描述

apps/ 包含了项目的应用,一个应用对应一个文件夹
Batch/ 包含用于命令行执行或者调度的PHP代码
Cache/ 缓存文件夹,需要777的权限
Config/ 保存项目的基本配置
Data/ 存放项目的数据文件,比如数据库结构、创建数据表的SQL文件,或者SQLite的数据库文件等
Doc/ 存放项目文档,包括你自己的文档和PHPDoc产生的文档
Lib/ 数据模型
Log/ 日志文件夹,需要777权限
Plugins/ 存放在应用中安装的插件
Test/ 半酣单元和共性测试
Web/ WEB服务的根

希望本文所述对大家基于Symfony框架的PHP程序设计有所帮助。

PHP 相关文章推荐
一个很不错的PHP翻页类
Jun 01 PHP
php 验证码实例代码
Jun 01 PHP
PHP写的求多项式导数的函数代码
Jul 04 PHP
深入apache配置文件httpd.conf的部分参数说明
Jun 28 PHP
php stripslashes和addslashes的区别
Feb 03 PHP
MongoDB在PHP中的常用操作小结
Feb 20 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
Mar 13 PHP
thinkphp中ajax与php响应过程详解
Dec 08 PHP
PHP使用缓存即时输出内容(output buffering)的方法
Aug 03 PHP
PHP MySql增删改查的简单实例
Jun 21 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
Jan 21 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
Nov 29 PHP
使用symfony命令创建项目的方法
Mar 17 #PHP
Symfony实现行为和模板中取得request参数的方法
Mar 17 #PHP
Symfony模板的快捷变量用法实例
Mar 17 #PHP
Symfony2框架创建项目与模板设置实例详解
Mar 17 #PHP
Symfony2学习笔记之插件格式分析
Mar 17 #PHP
Symfony2学习笔记之系统路由详解
Mar 17 #PHP
Symfony2学习笔记之控制器用法详解
Mar 17 #PHP
You might like
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
使用PHP如何实现高效安全的ftp服务器(一)
2015/12/20 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
JavaScript prototype对象的属性说明
2010/03/13 Javascript
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
Vue.js2.0中的变化小结
2017/10/24 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
python判断windows隐藏文件的方法
2014/03/21 Python
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
基于DataFrame筛选数据与loc的用法详解
2018/05/18 Python
Python数据持久化shelve模块用法分析
2018/06/29 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
css3实现图片遮罩效果鼠标hover以后出现文字
2013/11/05 HTML / CSS
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
萨克斯第五大道的折扣店:Saks Fifth Avenue OFF 5TH
2016/08/25 全球购物
母亲80寿诞答谢词
2014/01/16 职场文书
优秀团员个人事迹材料
2014/01/29 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
工作时间证明
2015/06/15 职场文书
使用feign服务调用添加Header参数
2021/06/23 Java/Android
python 管理系统实现mysql交互的示例代码
2021/12/06 Python
HDFS免重启挂载新磁盘
2022/04/06 Servers
MySQL GTID复制的具体使用
2022/05/20 MySQL
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server