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


猜你喜欢
- 描述random() 方法返回随机生成的一个实数,它在[0,1)范围内。import randomhelp(random)FUNCTIONS
- 这篇文章主要介绍了Python pickle模块实现对象序列化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- PyQt5图片显示控件QPixmap介绍QPixmap类用于绘图设备的图像显示,它可以作为一个QPainterDevice对象,也可以加载到
- Timer继承子Thread类,是Thread的子类,也是线程类,具有线程的能力和特征。这个类用来定义多久执行一个函数。它的实例是能够延迟执
- 一、安装一个基于Python的强大的信号库,它既支持简单的对象到对象通信,也支持针对多个对象进行组播支持注册全局命名信号,支持自定义命名信号
- 前言随时随地发现新鲜事!微博带你欣赏世界上每一个精彩瞬间,了解每一个幕后故事。分享你想表达的,让全世界都能听到你的心声!今天我们通过pyth
- 1.读取CSV文件到Listdef readCSV2List(filePath): try: file=open(filePat
- 我想大多写web的朋友应该和我一样,正则是不可少的,可是每次到用时去百度一下,也麻烦,存在电脑里也得找半天~换了电脑还是得靠google了~
- 快捷键可以帮助我们有效提高效率,我们来看看网页设计软件FrontPage有哪些快捷键。相关文章:Dreamweaver快捷键大全、photo
- 关于opencvOpenCV 是 Intel 开源计算机视觉库 (Computer Version) 。它由一系列 C 函数和少量 C++
- 具体的 websocket 介绍可见 http://zh.wikipedia.org/wiki/WebSocket 这里,介绍如何
- 后台数据库用是Access,客户用了一年后说打开界面非常慢,查看了数据库后发现数据表中的记录已有五万多条,自己试过将记录复制到10 万条,打
- 问题描述我自己根据edgelist计算的邻接矩阵,与调用networkx.adjacency_matrix(g)返回的结果不一样,经过调试发
- 本文实例讲述了Python文件与文件夹常见基本操作。分享给大家供大家参考,具体如下:1、判断文件(夹)是否存在。os.path.exists
- 解决的问题需要将数组(list)或元组(tuple)中的元素导出到N个变量中。解决的方案任何序列都可以通过简单的变量赋值方式将其元素分配到对
- 前言诶?这有一个按钮(~ ̄▽ ̄)~,这是一个在html中实现的具有金属质感并且能镜面反射的按钮~效果电脑效果手机效果说明主要思路是使用 na
- 1.安装依赖包 pip install channels channels-redis2.settings.py 修改加上支持INSTALL
- 问题微信公众号获取code时的跳转链接,默认是获取当前页面的链接,代码如下:// 说明:获取当前页面的url地址function GetCu
- 一、连接数据库格式:mysql -h主机地址 -u用户名 -p用户密码1.1.连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录my
- 本文实例讲述了MySQL切分查询用法。分享给大家供大家参考,具体如下:对于大查询有时需要‘分而治之',将大查询切分为小查询: 每个查