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
加强版phplib的DB类
Mar 31 PHP
php5数字型字符串加解密代码
Apr 24 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
php使用curl和正则表达式抓取网页数据示例
Apr 13 PHP
windows7下安装php的php-ssh2扩展教程
Jul 04 PHP
浅谈json_encode用法
Mar 05 PHP
php实现的用户查询类实例
Jun 18 PHP
php微信支付之公众号支付功能
May 30 PHP
PHP中isset、empty的用法与区别示例详解
Nov 05 PHP
Jsonp劫持学习
Apr 01 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
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
PHP实现SMTP邮件的发送实例
2018/09/27 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
javascript中的location用法简单介绍
2007/03/07 Javascript
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
2007/05/07 Javascript
[原创]用javascript实现检测指定目录是否存在的方法
2008/01/12 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
JQuery 获取Dom元素的实例讲解
2017/07/08 jQuery
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
Element Notification通知的实现示例
2020/07/27 Javascript
python支持断点续传的多线程下载示例
2014/01/16 Python
wxpython中自定义事件的实现与使用方法分析
2016/07/21 Python
python 实现删除文件或文件夹实例详解
2016/12/04 Python
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
使用python计算三角形的斜边例子
2020/04/15 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
Farah官方网站:男士服装及配件
2019/11/01 全球购物
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
幼儿教育感言
2014/02/05 职场文书
普罗米修斯教学反思
2014/02/06 职场文书
简易离婚协议书范本
2014/10/24 职场文书
2014年财政局工作总结
2014/12/09 职场文书
商标侵权律师函
2015/05/27 职场文书
2015秋季新学期开学寄语
2015/05/28 职场文书
关于法制教育的宣传语
2015/07/13 职场文书
民警忠诚教育心得体会
2016/01/23 职场文书
Web应用开发TypeScript使用详解
2022/05/25 Javascript