Symfony2框架的工作原理


从Requests(请求)链接开始,根据不同的请求调用前台的controller(控制器),由controller调用系统核心功能对请求的URI资源进行Routing(路由)解析,再根据解析的结果调用不同action函数,生成Responses(响应数据)并返回。

其中,不同的链接都对应不同的controller,系统是如何判断的呢?

不同的链接就必须在app/config/routing.yml文件中进行配置,例如要添加/contact链接(通过index.php/contact访问),配置如下:
contact:
path: /contact
defaults: { _controller: AcmeDemoBundle:Main:contact }


该配置的意思是当用户请求index.php/contact,路由系统根据配置执行MainController类的contactAction函数

MainController类部署如下:
//src/Acme/DemoBundle/Controller/MainController.php
use Symfony\Component\HttpFoundation\Response;
class MainController
{

public function contactAction()

{

//do something 实现功能,这里返回一个带h1标签的"Contact us!"输出

return new Response('<h1>Contact us!</h1>');

}

}

标准组件

Symfony框架允许我们自由地创建自己的应用程序,并且大量的内置工具来协助完成各种各样的任务(如持久化数据库,渲染视图,发送邮件,处理提交数据,验证用户输入,安全处理)

Symfony本身包含超过了20个核心的相对独立组件,每个组件实现不同的功能:

HttpFoundation(HTTP处理):其中包含request类和response类,主要处理HTTP的请求和响应;session处理;Cookie处理;上传文件等

Routing(路由处理):解析URI资源,根据分析的结果执行操作

HttpFoundation(HTTP处理):,其中包含request类和response类,主要处理HTTP的请求和响应;session处理;Cookie处理;上传文件等

Form(表单处理):Symfony提供Forms组件帮助我们快速创建表单,以及处理表单提交的任务

Validator(HTTP处理):定义验证规则,验证用户提交的数据

ClassLoader(类加载):自动加载,让开发者不通过require方式包含文件即可调用指定的类

Templating(模板):可将获取的数据渲染到html模板中,实现逻辑与展示分离

Security(处理安全性问题

Translation(语言翻译):实现多语言的功能

转载于:https://my.oschina.net/yoyo1987/blog/493967

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值