什么是symfony?Symfony是一个完整的框架结构,设计用来帮助并加速网络应用的开发。
它是基于以下的一些观念的:
尽可能的兼容更多的开发环境
易于安装和配置
简单易学
企业级应用
规定而非配置,支持回调
在大多数情况下简洁明了,但是有足够的弹性为复杂情况做准备
包含大多数网站的共性
适应大多数 web “最佳实践(best practices)” 和 web “设计模式(design patterns)”
非常易读的代码、轻松维护
开源
这些主要的基本概念突出了symfony的框架是使更多的公共任务自动完成,以使开发人员能够完全专注于一项应用任务的特殊细节所在。而在每次一个新的web应用建立的时候不需要重新反复劳动。
为了实现这些需求,symfony完全由
PHP5写成。它已经彻底的在各种现实项目应用中被测试过,并且实际上已经应用于一些高要求的电子商务网站。它可以同大多数现有的数据库兼容,具体如下:
MySQL
PostgreSQL
Oracle
MSSQL
和其他数据库(如果安装了
Creole驱动)
symfony的对象模型依赖于以下三个独立的层:
数据库抽象层(a database abstraction)
对象关系映射层(an object-relational mapping)
用于负责前台显示和后台事务的 模型-视图-控制器 模式层(a Model-View-Controller model for the front and back-office)
web项目的公共特性可以轻易的由symfony自动得到:
国际化(internationalization)
模板和助手(templating with helpers)
表单确认(form validation)
缓存管理(cache management)
购物车管理(shopping cart management)
简洁的路径(smart URLs)
scaffolding
发送邮件(email sending)
分页(Pagination)
AJAX交互(AJAX interactions)
另外为了满足企业已有的编码规范和项目管理规则,symfony可以全部重新用
YAML配置文件。它是默认提供的,几个开发环境,和捆绑:
原型(prototyping)
内容管理(content management)
live configuration changes
部署(deployment)
单元测试(unit testing)
应用测试(applicative testing)
日志记录(logging)
调试(debugging)
Symfony用到了其他一些开源项目的代码:
Creole, 用于数据库抽象层(for the database abstraction layer)
Propel, 用于对象关系映射层(for the object-relational mapping layer)
Mojavi, 用于MVC模型层(for the Model-View-Controller model layer)
[
本帖最后由 flyindance 于 2007-6-20 10:46 编辑 ]