Symfony2Book16:Symfony2内部01-概述

简介:

看起来你想要知道Symfony2是如何工作的,以及要如何对它进行扩展。这让我非常高兴。本节深入Symfony2内部,对其进行说明。

如果你想了解Symfony2是如何工作的,或者你想扩展Symfony2的话,你只需要阅读本节。

Symfony2的代码由几个独立层构成,每层都构建在上一层之上。

自动加载没有被框架直接管理;它是在UniversalClassLoader类和src/autoload.php的帮助下独立实现的。更多信息请阅读专用章节

 

HttpFoundation组件

最底层是HttpFoundation组件。HttpFoundation提供处理HTTP所需的主对象。它是一些PHP函数和变量的面向对象的抽象:

  • Request 类抽象出主要的PHP全局变量。如$_GET、$_POST$_COOKIE$_FILES、和 $_SERVER
  • Response类抽象出一些PHP函数。如header()、setcookie()和echo;
  • Session类和SessionStorageInterface接口抽象会话管理函数。如session_*()。

HttpKernel组件

HttpFoundation层之上是HttpKernel组件。HttpKernel处理HTTP的动态部分;它是一个Request和Response类的瘦封装,是规范请求处理的方式。它也提供了扩展点和工具,使之成为一个理想的基点,用以创建一个没有太大负载的Web框架。

它也可以增加配置性和扩展性,感谢依赖注入组件和强大的插件系统(Bundle)。

请阅读更多关于HttpKernel组件的内容、阅读更多关于依赖注入和Bundle的内容。

FrameworkBundle组件

FrameworkBundle组件是联系主要组件和库的钮带,它用于构建一个轻量级的、快速的MVC框架。它具有合理的缺省配置和约定,用以缓和学习曲线。

 


本文转自 firehare 51CTO博客,原文链接:http://blog.51cto.com/firehare/587277,如需转载请自行联系原作者

相关文章
|
5月前
|
前端开发 数据管理 API
Django REST framework中GenericAPIView与混入扩展类详解
Django REST framework中GenericAPIView与混入扩展类详解
|
SQL 缓存 数据库连接
Yii2.0框架API文档中的ActiveRecord类是什么?底层原理是什么?
Yii2.0框架API文档中的ActiveRecord类是什么?底层原理是什么?
106 0
|
JavaScript
Web Components 系列(十一)—— 实现 MyCard 的可复用
在上一节中,使用 Templates 实现了 MyCard 的基本布局,并且在文章结尾我也说过,因为不可复用,其实用性基本为零。
161 0
Web Components 系列(十一)—— 实现 MyCard 的可复用
|
存储 文件存储
【1】JAVA---地址App小软件(AddressApp.class)(初步接触项目开发的分层思想)(表现层)
【1】JAVA---地址App小软件(AddressApp.class)(初步接触项目开发的分层思想)(表现层)
395 0
|
Python
Django的rest_framework的视图之Mixin类编写视图源码解析
Django的rest_framework的视图之Mixin类编写视图源码解析 Mixin类编写视图 我们这里用auther表来做演示,先为auther和autherdetail写2个url 1 2 url(r'^autherdetail/(?P\d+)', views.
1414 0
下一篇
无影云桌面