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下过滤HTML代码的函数
Dec 10 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
May 18 PHP
php递归获取目录内文件(包含子目录)封装类分享
Dec 25 PHP
PHP+ajax分页实例简析
Dec 07 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
SAE实时日志接口SDK用法示例
Oct 09 PHP
php中this关键字用法分析
Dec 07 PHP
php 字符串中是否包含指定字符串的多种方法
Apr 12 PHP
laravel自定义分页的实现案例offset()和limit()
Oct 15 PHP
详解阿里云视频直播PHP-SDK接入教程
Jul 09 PHP
让你的PHP,APACHE,NGINX支持大文件上传
Mar 09 PHP
PHP高并发和大流量解决方案整理
Mar 09 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 强制下载文件代码
2010/10/24 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
javascript 继承实现方法
2009/08/26 Javascript
通过隐藏option实现select的联动效果
2009/11/10 Javascript
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
StringTemplate遇见jQuery冲突的解决方法
2011/09/22 Javascript
jquery.tmpl JQuery模板插件
2011/10/10 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
jQuery的$.extend 浅拷贝与深拷贝
2017/03/08 Javascript
详解webpack+es6+angular1.x项目构建
2017/05/02 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
微信小程序实现倒计时功能
2020/11/19 Javascript
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
2020/03/06 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
Python绘图实现台风路径可视化代码实例
2020/10/23 Python
HTML5边玩边学(1)画布实现方法
2010/09/21 HTML / CSS
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
人事专员工作职责
2014/02/22 职场文书
节约电力资源的建议书
2014/03/12 职场文书
长江三峡导游词
2015/01/31 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL