<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[symfony框架]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Fri, 19 Mar 2010 05:13:04 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	这个框架看似有自己的独到的地方，譬如：Symfony的路由系统是比较不错的！<br/>这个路由在对搜索引擎来说是有很多的好处，而结构和层次上要分明和清楚一些，我们完全可以借鉴它的精华<br/>书籍：http://youa.baidu.com/item/a20ceb130b33b2eada61c10f<br/><br/>symfony<br/><br/>目录[隐藏]<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;概况<br/>&nbsp;&nbsp;&nbsp;&nbsp;什么是框架（framework）？<br/>&nbsp;&nbsp;&nbsp;&nbsp;什么是symfony?<br/>&nbsp;&nbsp;&nbsp;&nbsp;symfony适合我吗？<br/><br/><br/><br/><br/>概况<br/>　　Symfony是一个基于MVC模式的面向对象的PHP5框架。Symfony允许在一个web应用中分离事务控制，服务逻辑和表示层。同时，它还包含了很多工具和类用以缩短开发复杂的网络应用的时间。基于最佳Web开发实践，已经有多个网站完全采用此框架开发，symfony的目的是加速Web应用的创建与维护。<br/>　　它的特点如下：<br/>　　简单的模板功能<br/>　　缓存管理<br/>　　自定义URLs<br/>　　搭建了一些基础模块<br/>　　多语言与I18N支持<br/>　　采用对象模型与MVC分离<br/>　　Ajax支持<br/>　　适用于企业应用开发。<br/><br/>什么是框架（framework）？<br/>　　一个框架结构在编程语言之上加入了新的机制，并且这些机制能够为许多特定的目标自动提供一些开发模式。一个框架结构同样为编码增加了结构，并且促使程序员编出更好、更易读的、有持续性的代码。一个框架家结构能让编程变得更加简单，因为它把复杂的程序封装成了简明的陈述。<br/>　　一个框架的发展通常是以它所使用的语言所延伸出来的。一个php5框架是由一系列的用php5写成的文件组成的。<br/>　　一个框架将为应用划分出层次。从整体上来说，它可以将应用分为三个层次：<br/>　　*<br/>　　表现逻辑层（presentation logic） 用于处理用户与软件之间的交互<br/>　　*<br/>　　数据源逻辑层（data source logic） 提供了一个数据库同其他数据提供者的联系通道。<br/>　　*<br/>　　范围逻辑层（domain logic），或者叫事务逻辑层（business logic），这是剩余的部分。它包括关于输入的计算、处理表现层中的数据，以及根据从表现层收到的指令分派调度数据源逻辑层。<br/>　　网络应用框架致力于促进网络应用的开发（websites,intranets,等等）。建立一个基本的动态网站可以从现有的编程语言中轻易的实现，而PHP的知名就是由于它的简易性被广泛的应用。只需要php，你就可以查询数据库、管理会话（session，cookies）、访问服务器端文件等等。而当你需要构建一个更加复杂的站点，当事务逻辑大大的增加了用于维护的编码量的时候，你就需要一个网络应用的框架出现了。<br/><br/>什么是symfony?<br/>　　Symfony是一个完整的框架结构，设计用来帮助并加速网络应用的开发。<br/>　　它是基于以下的一些观念的：<br/>　　*<br/>　　尽可能的兼容更多的开发环境<br/>　　*<br/>　　易于安装和配置<br/>　　*<br/>　　简单易学<br/>　　*<br/>　　企业级应用<br/>　　*<br/>　　规定而非配置，支持回调<br/>　　*<br/>　　在大多数情况下简洁明了，但是有足够的弹性为复杂情况做准备<br/>　　*<br/>　　包含大多数网站的共性<br/>　　*<br/>　　适应大多数 web “最佳实践（best practices）” 和 web “设计模式（design patterns）”<br/>　　*<br/>　　非常易读的代码、轻松维护<br/>　　*<br/>　　开源<br/>　　这些主要的基本概念突出了symfony的框架是使更多的公共任务自动完成，以使开发人员能够完全专注于一项应用任务的特殊细节所在。而在每次一个新的web应用建立的时候不需要重新反复劳动。<br/>　　为了实现这些需求，symfony完全由PHP5写成。它已经彻底的在各种现实项目应用中被测试过，并且实际上已经应用于一些高要求的电子商务网站。它可以同大多数现有的数据库兼容,具体如下：<br/>　　*<br/>　　MySQL<br/>　　*<br/>　　PostgreSQL<br/>　　*<br/>　　Oracle<br/>　　*<br/>　　MSSQL<br/>　　*<br/>　　和其他数据库（如果安装了Creole驱动）<br/>　　symfony的对象模型依赖于以下三个独立的层：<br/>　　*<br/>　　数据库抽象层（a database abstraction）<br/>　　*<br/>　　对象关系映射层（an object-relational mapping）<br/>　　*<br/>　　用于负责前台显示和后台事务的 模型-视图-控制器 模式层（a Model-View-Controller model for the front and back-office）<br/>　　web项目的公共特性可以轻易的由symfony自动得到：<br/>　　*<br/>　　国际化（internationalization）<br/>　　*<br/>　　模板和助手（templating with helpers）<br/>　　*<br/>　　表单确认（form validation）<br/>　　*<br/>　　缓存管理（cache management）<br/>　　*<br/>　　购物车管理（shopping cart management）<br/>　　*<br/>　　简洁的路径（smart URLs）<br/>　　*<br/>　　scaffolding<br/>　　*<br/>　　发送邮件（email sending）<br/>　　*<br/>　　分页（Pagination）<br/>　　*<br/>　　AJAX交互（AJAX interactions）<br/>　　另外为了满足企业已有的编码规范和项目管理规则，symfony可以全部重新用YAML配置文件。它是默认提供的，几个开发环境，和捆绑：<br/>　　*<br/>　　原型（prototyping）<br/>　　*<br/>　　内容管理（content management）<br/>　　*<br/>　　live configuration changes<br/>　　*<br/>　　部署（deployment）<br/>　　*<br/>　　单元测试（unit testing）<br/>　　*<br/>　　应用测试（applicative testing）<br/>　　*<br/>　　日志记录（logging）<br/>　　*<br/>　　调试（debugging）<br/>　　Symfony用到了其他一些开源项目的代码：<br/>　　*<br/>　　Creole, 用于数据库抽象层（for the database abstraction layer）<br/>　　*<br/>　　Propel, 用于对象关系映射层（for the object-relational mapping layer）<br/>　　*<br/>　　Mojavi, 用于MVC模型层（for the Model-View-Controller model layer）<br/><br/>symfony适合我吗？<br/>　　无论你是一个php5的专家还是一个在网络应用编程方面的新手都没有问题，影响你决定的最主要因素是你项目的大小。<br/>　　如果你只是想要开发一个简易的5-10页的站点，只需要有限的访问数据库和几乎不考虑性能、可用性或文档，那么你只需要单独使用PHP。你将不会从网络应用的框架结构的特征中获的太多的益处，使用面向对象或MVC模式只会使你的开发变慢。 Symfony运行在一个只有CGI支持的共享主机上将不会高效优异的运行。<br/>　　另一方面，如果你开发大型的web应用，其中有大量的事务逻辑，那么单独使用PHP是不够的。如果你计划将来维护和扩展你的应用，你需要编写轻量级、易读的和高性能的的代码。如果你想直接使用最友好的用户交互界面（AJAX），你不能只写上数百行的Javascrīpt代码。如果你想享受并且快速的开发，那么单独使用PHP将是令人失望的。介于上述这些原因，symfony非常适合你。<br/>　　当然，如果你是一个专业的web开发人员，你已经知道了web应用框架的所有优点，并且你需要一个成熟的，具有详细文档和一个大的团体支持。那么不要再犹豫，symfony就是你的解决方案。
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] symfony框架]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>