Symfony是一款基于MVC架构的PHP框架。它是一款免费软件,在MIT License许可下发行。Symfony致力于减少重复代码的编写,以加速Web应用的开发和维护。
Symfony 是一款基于 MVC 架构的 PHP 框架。它是一款免费软件,在 MIT License 许可下发行。2005 年 10 月 18 日,其官方网站 symfony-project.com 对外开放。2011 年 Symfony2 正式发布,随即启用全新的官方网站 symfony.com。
目标
Symfony 致力于减少重复代码的编写,以加速 Web 应用的开发和维护。它需要以下软件的支持:安装过 PHP5 的 Unix,Mac OS 或 Microsoft Windows 等操作系统作为 WEB 应用服务。Symfony 与许多关系型数据库集成的也非常好,成本也较小。
Symfony 致力于在企业背景下创建健壮的应用,同时也给予了开发者强大的配置功能:从文件结构到外部目录,几乎所有的东西都可以自定义。Symfony 也捆绑了一些诸如测试、调试、文档生成等额外的工具来满足企业的开发过程。
技术
Symfony 使用了大量的设计模式,比如 MVC 模式,它分离了业务逻辑层和表示层,降低了耦合性,使程序更易于维护。
Symfony 使用了以下一些 PHP 开源项目的部分功能。
- Propel (PHP):用作对象关系映射(ORM)
- Doctrine (PHP):用作对象关系映射(ORM)
- Creole:用作数据库抽象层
- Prado:用作国际化支持
- Spyc:用作解析 YAML
- Pake:用作命令行工具
- Twig:用作模板引擎
Symfony 也使用了一些开源的 Javascript 库。
- Prototype:用作 javascript 框架(v 1.0 和 1.1)
- script.aculo.us:用作视觉特效(v 1.0 and 1.1)
- Dynarch.com,用作 DHTML 日历(v 1.0 and 1.1)
- TinyMCE,用作富文本编辑器(v 1.0)
- FCKeditor,用作富文本编辑器
在 symfony1.2 中默认状态没有包含任何 JavaScript 框架,开发者必须手动选择并添加 JavaScript 框架。
赞助
Sensio 是 Symfony 的赞助商,它是一家法国 Web 代理商。起先 Symfony 使用 Sensio Framework 作为该项目的名字,因此代码中所有的类名前都加上了"sf"前缀,当它决定以开源形式发布时,便以 Symfony 作为名称(Symfony 的英文缩写也是 sf)。
应用
一款开源的 Q&A 服务 Askeet 就是使用 Symfony 开发的。许多其他应用,包括拥有 2000 万用户的 Yahoo Bookmarks,也是使用 Symfony 开发的。