Symfony核心类概述
本文讲述了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程序设计有所帮助。
相关推荐
-
Symfony控制层深入详解
本文深入分析了Symfony控制层.分享给大家供大家参考,具体如下: Symfony中控制层包含了连接业务逻辑与表现的代码,控制层为不同的使用分成了几个不同的部分. 1. 前端控制器是指向应用的唯一入口 2. 动作包含了应用的逻辑,他们检查请求的完整性并准备好表示层需要的数据 3. 请求.响应和Session对象提供访问请求参数.响应参数以及持久的用户数据,这些数据在控制层使用的很普遍 4. 过滤器是每个请求都要执行的代码的一部分,无论在动作前还是在动作后.可以自创过滤器. 前端控制器 所有WE
-
Symfony2框架学习笔记之HTTP Cache用法详解
本文实例讲述了Symfony2框架HTTP Cache用法.分享给大家供大家参考,具体如下: 富web应用程序的本质意味着它们的动态.无论你的应用程序多么有效率,每个请求比起静态文件来说总会存在很多的耗费.对于大多数web程序来说,这没什么. Symfony2非常的轻快,无论你做些严重超载的请求,每个请求将会得到很快的回复,而不会对你的服务器造成压力.但是随着你站点的成长,负载将成为一个严重的问题.对每个请求处理应该只被正常执行一次.这就是缓存真正要达成的目标. 站在巨人肩膀上的缓存: 提高一个
-
Symfony2之session与cookie用法小结
本文实例讲述了Symfony2之session与cookie用法.分享给大家供大家参考,具体如下: session操作: 1. Set Session: public function testSetSession() { $session = $this->getRequest()->getSession(); $session->set($sessionName, $sessionValue ); } 2. Get Session: public function testGetSe
-
Symfony2框架创建项目与模板设置实例详解
本文实例讲述了Symfony2框架创建项目与模板设置的方法.分享给大家供大家参考,具体如下: 环境准备与概览 习惯于在windows使用netbean编辑器并使用virtualbox虚拟centos系统, 预将nginx+php-fpm+mysql, 当然apache也是不错的选择, 使用http://symfony在windows与centos上作为开发域名. 一.下载与环境设置 1. 如何于centos上面建立开发环境不再详述, 当然也可以在windows上面建立开发环境. 2. 关于
-
Symfony2实现在controller中获取url的方法
本文实例讲述了Symfony2实现在controller中获取url的方法.分享给大家供大家参考,具体如下: // 假设当前URL地址是http://192.168.1.100/demo/web/app_dev.php/m/index $request = $this->getRequest(); // http or https 此处为http $request->getScheme(); // 192.168.1.100 $request->getHttpHost(); // htt
-
使用symfony命令创建项目的方法
本文实例讲述了使用symfony命令创建项目的方法.分享给大家供大家参考,具体如下: 概况 这一章节描述一个Symfony项目的合理结构框架,并且用 symfony 命令初始项目结构. 介绍 在symfony里,一个项目是一个指定域名下的一组服务和有效操作,共享相同的项目模型. 在一个项目里面,应用中的操作是一组逻辑:每个应用都可以正常的独立运行,与相同项目中的其他应用互不干涉. 在多数情况中,一个项目会包含两个应用,一个负责前台显示,一个负责后台处理,使用相同的数据库.当然你也可以在一个项目中
-
Symfony学习十分钟入门经典教程
Symfony是一个强大的基于PHP的Web开发框架,在这里我们用十分钟的时间来做一个简单的增删改查的程序, 任何不熟悉Symfony的人都可以通过这个教程完成自己的第一个Symfony程序. 如果需要这个样例程序的全部源代码,可以访问 这里 ,或者通过下面的方式获取源代码: $git clone https://github.com/saharabear/symfony-sample.git 项目初始化 首先,需要你在自己的电脑中安装PHP环境并安装git.这方面的内容属于基础内容,网络上有大
-
Symfony2框架学习笔记之表单用法详解
本文实例讲述了Symfony2框架表单用法.分享给大家供大家参考,具体如下: 对于一个Web开发者来说,处理HTML表单是一个最为普通又具挑战的任务.Symfony2集成了一个Form组件,让处理表单变的容易起来.在这一节里,我们将 从基础开始创建一个复杂的表单,学习表单类库中最重要的内容. Symfony2 的Form组件是一个独立的类库,你可以在Symfony2项目之外使用它. 创建一个简单的表单: 假设你要创建一个应用程序的todo列表,需要显示一些任务.因为你的用户需要编辑和创建任务,所
-
Symfony模板的快捷变量用法实例
本文实例讲述了Symfony模板的快捷变量用法.分享给大家供大家参考,具体如下: 在模板里,有一些symfony变量可以直接使用.通过这些快捷变量可以从symfony的对象里取得一些最常用的模板信息: $sf_context:完整的环境对象(sfContext 类的实例) $sf_request:请求对象(sfRequest 类的实例) $sf_params:请求的参数 $sf_user:当前的用户session对象(sfUser 类的实例) 三种常见的使用方法: //1. 长版本 <?php
-
高性能PHP框架Symfony2经典入门教程
Symfony2是一个基于PHP语言的Web开发框架,有着开发速度快.性能高等特点.本文以一个程序示例的实现过程详细叙述了Symfony2框架的配置与程序开发. 一.下载 首先是下载Symfony2,到 http://symfony.com/download或者本站下载http://www.jb51.net/codes/187833.html.本人以Ubuntu系统为例,采用.tgz的压缩包,解压源文件到/var/www目录中并执行: tar zxvf Symfony_Standard_Vend
-
symfony2.4的twig中date用法分析
本文实例讲述了symfony2.4的twig中date用法.分享给大家供大家参考,具体如下: 获得当前时间: {{ "now"|date("Y-m-d") }} //2014-03-06 获得三天后的时间 {{ "+3 day"|date('Y-m-d') }} //2014-03-09 //或者 date('+3days') //2014-03-09 对twig中的变量进行处理: {{ var|date("Y-m-d") }
-
Symfony2实现从数据库获取数据的方法小结
本文实例讲述了Symfony2实现从数据库获取数据的方法.分享给大家供大家参考,具体如下: 假设有一张表:test, 字段:name,color; 有2条记录: Tom blue Lily red 示例1: $conn = $this->getDoctrine()->getConnection(); $data = $conn->fetchcolumn("SELECT name, color FROM test"); echo '<pre>'; print
随机推荐
- 非常实用的js验证框架实现源码 附原理方法
- SqlLoader怎么使用
- javascript qq右下角滑出窗口 sheyMsg
- python中使用xlrd、xlwt操作excel表格详解
- 用vbs遍历文件并随机显示的脚本
- Java的Hibernate框架中的组合映射学习教程
- 用jmSlip编写移动端顶部日历选择控件
- OpenStack安装部署Liberty Neutron
- 用document.documentElement取代document.body的原因分析
- php usort 使用用户自定义的比较函数对二维数组中的值进行排序
- 一键配置CentOS iptables防火墙的Shell脚本分享
- 下拉菜单的级联操作(ajax)
- 不用js多浏览器兼容纯DIV/CSS对联漂浮广告代码
- jquery实现可关闭的倒计时广告特效代码
- mysql出现“Incorrect key file for table”处理方法
- 深入学习jQuery Validate表单验证(二)
- javascript获取当前的时间戳的方法汇总
- Linux系统下常见基本问题的解决方法
- Nginx网站根目录更改及导致403 forbidden的问题解决
- Android开发之浏览器用法实例详解(调用uc,opera,qq浏览器访问网页)