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将session放入memcached的设置方法
Feb 14 PHP
php的declare控制符和ticks教程(附示例)
Mar 21 PHP
PHP使用Alexa API获取网站的Alexa排名例子
Jun 12 PHP
使用PHPCMS搭建wap手机网站
Sep 20 PHP
PHP的APC模块实现上传进度条
Oct 27 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 PHP
PHP生成唯一ID之SnowFlake算法
Dec 17 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
PHP如何通过表单直接提交大文件详解
Jan 08 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 PHP
PHP连接MySQL数据库三种实现方法
Dec 10 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设计模式 FlyWeight (享元模式)
2011/06/26 PHP
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
php中文字符串截取方法实例总结
2014/09/30 PHP
php实现断点续传大文件示例代码
2020/06/19 PHP
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
深入理解javascript原型链和继承
2014/09/23 Javascript
jquery插件推荐浏览器嗅探userAgent
2014/11/09 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
js实现带有介绍的Select列表菜单实例
2015/08/18 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
JavaScript Split()方法
2015/12/18 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
[58:00]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第二场 2月7日
2021/03/11 DOTA
详解在Python程序中解析并修改XML内容的方法
2015/11/16 Python
kali中python版本的切换方法
2019/07/11 Python
Python使用windows设置定时执行脚本
2020/11/12 Python
应聘教师自荐信
2013/10/12 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书
2015年小学财务工作总结
2015/07/20 职场文书
Nginx反爬虫策略,防止UA抓取网站
2021/03/31 Servers
面试中canvas绘制图片模糊图片问题处理
2022/03/13 Javascript