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

相关文章
|
3月前
|
前端开发 数据管理 API
Django REST framework中GenericAPIView与混入扩展类详解
Django REST framework中GenericAPIView与混入扩展类详解
也玩MVC3.“.NET研究”0 Razor自定义视图引擎来修改默认的Views目录结构
刚刚爱上MVC3.0,几个不眠夜的学习越来越有趣。今天随手尝试自定义Mvc3.0的视图引擎,虽然已成功,但是还发现有点小疑问。随手贴出来希望大家指教指教。 MVC的视图文件目录被固定/Views目录内,区域视图文件也是被固定在/Areas目录下,出于好奇和对目录名的敏感,尝试修改它。
886 0
一起谈.NET技术,也玩MVC3.0 Razor自定义视图引擎来修改默认的Views目录结构
刚刚爱上MVC3.0,几个不眠夜的学习越来越有趣。今天随手尝试自定义Mvc3.0的视图引擎,虽然已成功,但是还发现有点小疑问。随手贴出来希望大家指教指教。 MVC的视图文件目录被固定/Views目录内,区域视图文件也是被固定在/Areas目录下,出于好奇和对目录名的敏感,尝试修改它。
768 0
也玩MVC3.0 Razor自定义视图引擎“.NET技术”来修改默认的Views目录结构
刚刚爱上MVC3.0,几个不眠夜的学习越来越有趣。今天随手尝试自定义Mvc3.0的视图引擎,虽然已成功,但是还发现有点小疑问。随手贴出来希望大家指教指教。 MVC的视图文件目录被固定/Views目录内,区域视图文件也是被固定在/Areas目录下,出于好奇和对目录名的敏感,尝试修改它。
1058 0
|
Python
Django的rest_framework的视图之Mixin类编写视图源码解析
Django的rest_framework的视图之Mixin类编写视图源码解析 Mixin类编写视图 我们这里用auther表来做演示,先为auther和autherdetail写2个url 1 2 url(r'^autherdetail/(?P\d+)', views.
1405 0
|
XML 前端开发 测试技术