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 相关文章推荐
图形数字验证代码
Oct 09 PHP
开发大型PHP项目的方法
Oct 09 PHP
php cout<<的一点看法
Jan 24 PHP
php中函数的形参与实参的问题说明
Sep 01 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
Dec 14 PHP
php连接mssql数据库的几种方法
Feb 21 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
May 10 PHP
分享一段php获取linux服务器状态的代码
May 27 PHP
PHP+MYSQL会员系统的开发实例教程
Aug 23 PHP
PHP加密解密字符串汇总
Apr 26 PHP
ThinkPHP框架实现数据增删改
May 07 PHP
PHP实现模拟http请求的方法分析
Dec 20 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文件读写操作之文件读取方法详解
2011/01/13 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
PHP判断表达式中括号是否匹配的简单实例
2016/10/22 PHP
ECMAScript 基础知识
2007/06/29 Javascript
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
Google Maps基础及实例解析
2016/08/06 Javascript
vue axios 表单提交上传图片的实例
2018/03/16 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
Node使用Selenium进行前端自动化操作的代码实现
2019/10/10 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS NE
2014/05/22 DOTA
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
使用python实现快速搭建简易的FTP服务器
2018/09/12 Python
numpy向空的二维数组中添加元素的方法
2018/11/01 Python
详解python使用turtle库来画一朵花
2019/03/21 Python
python实发邮件实例详解
2019/11/11 Python
使用python去除图片白色像素的实例
2019/12/12 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
2020/02/13 Python
Python换行与不换行的输出实例
2020/02/19 Python
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
html5实现canvas阴影效果示例
2014/05/07 HTML / CSS
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
口腔医学技术应届生求职信
2013/11/09 职场文书
校运会入场式解说词
2014/02/10 职场文书
财务总监管理岗位职责
2014/03/08 职场文书
投标承诺书怎么写
2014/05/24 职场文书