Symfony是一款基于MVC架构的PHP框架。它是一款免费软件,在MIT License许可下发行。Symfony致力于减少重复代码的编写,以加速Web应用的开发和维护。

Symfony 是一款基于 MVC 架构的 PHP 框架。它是一款免费软件,在 MIT License 许可下发行。2005 年 10 月 18 日,其官方网站 symfony-project.com 对外开放。2011 年 Symfony2 正式发布,随即启用全新的官方网站 symfony.com。

Symfony是什么  第1张

目标

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 开发的。