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与XML联手进行网站编程代码实例
Jul 10 PHP
php时间戳格式化显示友好的时间函数分享
Oct 21 PHP
windows下配置php5.5开发环境及开发扩展
Dec 25 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
Jan 19 PHP
PHP编程之设置apache虚拟目录
Jul 08 PHP
PHP实现上传多文件示例代码
Feb 20 PHP
php 查找数组元素提高效率的方法详解
May 05 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
ThinkPHP防止重复提交表单的方法实例分析
May 10 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
Jul 06 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 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 addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
php生成静态页面的简单示例
2014/04/17 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
学习ExtJS Window常用方法
2009/10/07 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
2013/08/07 Javascript
js+css实现的简单易用兼容好的分页
2013/12/30 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
2014/06/06 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
2017/01/27 Javascript
js中new一个对象的过程
2017/02/20 Javascript
原生js实现放大镜特效
2017/03/08 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
详解vue中使用express+fetch获取本地json文件
2017/10/10 Javascript
Vue实现表格批量审核功能实例代码
2019/05/28 Javascript
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
Python 专题四 文件基础知识
2017/03/20 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
Django开发中的日志输出的方法
2018/07/02 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
Python之NumPy(axis=0 与axis=1)区分详解
2019/05/27 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
解决pytorch 的state_dict()拷贝问题
2021/03/03 Python
泰国最新活动和优惠:Megatix
2020/05/07 全球购物
报社实习生自荐信
2014/01/24 职场文书
生物工程专业求职信
2014/09/03 职场文书
标准版离职证明书
2014/09/12 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
MySQL 视图(View)原理解析
2021/05/19 MySQL
Python Pygame实战之塔防游戏的实现
2022/03/17 Python