本文讲述了Symfony核心类。分享给大家供大家参考,具体如下:
Symfony的核心类
Symfony的MVC方式使用了一些你以后会经常碰到的类
1. sfController是控制器,他解码请求并专递至动作(action)
2. sfRequest存储了所有的请求元素(参数、Cookies、头信息等等)
3. sfResponse包含了响应头信息和内容,这些是最终要转换为HTML并送与用户的东西
4. 一个上下文(通过sfContext::getInstance()获取)保存了所有核心对象的参考和现有的配置信息,他可以在任何位置被访问。
就像你看到的,所有的symfony类使用sf前缀,这可以避免和你自己的类或变量冲突,而且可以使核心框架的类容易识别。
代码的组织
你已经知道了symfony应用的不同组成,但也许还不知道他是如何组织的。
项目结构:应用、模块和动作
在symfony里,一个项目是一组制定域名下的服务和操作,他们共享对象模型。
一个项目是由多个应用组成,一个应用有多个模块组成,一个模块可以包含多个动作。
项目结构图:
Symfony的根树结构及描述
<p>apps/</p>
<p>包含了项目的应用,一个应用对应一个文件夹</p>
<p>Batch/</p>
<p>包含用于命令行执行或者调度的PHP代码</p>
<p>Cache/</p>
<p>缓存文件夹,需要777的权限</p>
<p>Config/</p>
<p>保存项目的基本配置</p>
<p>Data/</p>
<p>存放项目的数据文件,比如数据库结构、创建数据表的SQL文件,或者SQLite的数据库文件等</p>
<p>Doc/</p>
<p>存放项目文档,包括你自己的文档和PHPDoc产生的文档</p>
<p>Lib/</p>
<p>数据模型</p>
<p>Log/</p>
<p>日志文件夹,需要777权限</p>
<p>Plugins/</p>
<p>存放在应用中安装的插件</p>
<p>Test/</p>
<p>半酣单元和共性测试</p>
<p>Web/</p>
<p>WEB服务的根</p>
希望本文所述对大家基于Symfony框架的PHP程序设计有所帮助。