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,如需转载请自行联系原作者

相关文章
|
6月前
|
JavaScript 前端开发 API
通过一个实际例子,理解 SAP UI5 sap.ui.model.odata.v2.ODataModel API 中 BindingContext 绑定上下文的概念和用法试读版
通过一个实际例子,理解 SAP UI5 sap.ui.model.odata.v2.ODataModel API 中 BindingContext 绑定上下文的概念和用法试读版
42 0
|
7月前
|
JSON 数据格式
通过一个实际例子,讲解 SAP UI5 Compatibility Version 的概念和运行时绑定解析器的选择逻辑
通过一个实际例子,讲解 SAP UI5 Compatibility Version 的概念和运行时绑定解析器的选择逻辑
32 0
|
前端开发
symfony2框架配置页面
symfony2框架配置页面
102 0
symfony2框架配置页面
|
前端开发 数据库连接 PHP
symfony框架MVC模式中的Model使用方法
symfony框架MVC模式中的Model使用方法
symfony框架MVC模式中的Model使用方法
|
JavaScript
Web Components 系列(十一)—— 实现 MyCard 的可复用
在上一节中,使用 Templates 实现了 MyCard 的基本布局,并且在文章结尾我也说过,因为不可复用,其实用性基本为零。
129 0
Web Components 系列(十一)—— 实现 MyCard 的可复用
|
Python
Django的rest_framework的视图之Mixin类编写视图源码解析
Django的rest_framework的视图之Mixin类编写视图源码解析 Mixin类编写视图 我们这里用auther表来做演示,先为auther和autherdetail写2个url 1 2 url(r'^autherdetail/(?P\d+)', views.
1392 0