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输出控制功能在简繁体转换中的应用
Oct 09 PHP
用PHP的ob_start();控制您的浏览器cache!
Nov 25 PHP
[原创]PHP中通过ADODB库实现调用Access数据库之修正版本
Dec 31 PHP
php download.php实现代码 跳转到下载文件(response.redirect)
Aug 26 PHP
PHP CURL获取cookies模拟登录的方法
Nov 04 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
Apr 28 PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
Apr 08 PHP
PHP实现QQ空间自动回复说说的方法
Dec 02 PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
Oct 15 PHP
PHP单元测试配置与使用方法详解
Dec 27 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
一篇不错的PHP基础学习笔记
2007/03/18 PHP
php多维数组去掉重复值示例分享
2014/03/02 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
JavaScript中的null和undefined解析
2012/04/14 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
jQuery实现contains方法不区分大小写的方法
2015/02/13 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
Bootstrap table分页问题汇总
2016/05/30 Javascript
最原始的jQuery注册验证方式
2016/10/11 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
2017/07/26 Javascript
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
详解vue中移动端自适应方案
2019/05/05 Javascript
使用pkg打包ThinkJS项目的方法步骤
2019/12/30 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
vue+node 实现视频在线播放的实例代码
2020/10/19 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
利用python爬取散文网的文章实例教程
2017/06/18 Python
Python变量赋值的秘密分享
2018/04/03 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
python版DDOS攻击脚本
2019/06/12 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
免费获得微软MCSD证书赶快行动吧!
2012/11/13 HTML / CSS
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
Linux Interview Questions For software testers
2013/05/17 面试题
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
工伤调解协议书
2016/03/21 职场文书
利用python调用摄像头的实例分析
2021/06/07 Python