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 相关文章推荐
浅谈Windows下 PHP4.0与oracle 8的连接设置
Oct 09 PHP
php 输出双引号"与单引号'的方法
May 09 PHP
Look And Say 序列php实现代码
May 22 PHP
php实现文件下载更能介绍
Nov 23 PHP
PHP将两个关联数组合并函数提高函数效率
Mar 18 PHP
PHP对接微信公众平台消息接口开发流程教程
Mar 25 PHP
php开发工具有哪五款
Nov 09 PHP
PHP+MySql+jQuery实现的"顶"和"踩"投票功能
May 21 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
php基于单例模式封装mysql类完整实例
Oct 18 PHP
PHP 中TP5 Request 请求对象的实例详解
Jul 31 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 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
Protoss魔法科技
2020/03/14 星际争霸
php单例模式实现方法分析
2015/03/14 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
在vs2010中调试javascript代码方法
2011/02/11 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
jQuery操作基本控件方法实例分析
2015/12/31 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
Vue.js教程之计算属性
2016/11/11 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
Angular 数据请求的实现方法
2018/05/07 Javascript
jQuery实现简易QQ聊天框
2020/02/10 jQuery
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
python循环监控远程端口的方法
2015/03/14 Python
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
Python文件常见操作实例分析【读写、遍历】
2018/12/10 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
Python 实现try重新执行
2019/12/21 Python
有750多个顶级品牌的瑞士时尚在线:ABOUT YOU
2017/01/04 全球购物
奥斯汀独木舟和皮划艇:Austin Canoe & Kayak
2018/05/22 全球购物
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
可持续木材、生态和铝制太阳镜:Proof Eyewear
2019/07/24 全球购物
介绍一下gcc特性
2015/10/31 面试题
Java如何获得ResultSet的总行数
2016/09/03 面试题
工作疏忽检讨书
2014/01/25 职场文书