优雅的PHP微型框架: Silex

Silex是我最喜欢的PHP开发框架之一(不,我现在更喜欢Laravel系列了)。其优点在于他既能够允许你不浪费时间构建任何项目结构,仅用3行代码启动一个超轻量级的应用,同时也支持你以十分优雅的方式,将各种优秀的第三方组件以极低的成本加入到Silex中,使之能胜任企业级应用的开发。

Silex与Symfony、Twig、Pimple等著名PHP开源项目一样也是SensioLabs家族中的一员,Silex建立在Symfony生态圈的基础之上,你可以很方便地将Symfony的各种组件安插在Silex上,这也是我在Slim(另一款优秀的PHP微型框架)和Silex中最终选择后者的主要原因。基本上,你可以把Silex当作一个迷你版的Symfony。Silex的学习成本非常低,只用花半个小时通读一遍Silex官方文档你就能大概了解Silex的基本使用方法。微型框架的重点就在于要够简单,和Slim一样,用Silex你也可以在3行代码之内启动你的应用,下面是一个 Hello World 的例子:

Silex Hello World

在Silex的设计中,各种第三方库可以以Service Provider的方式被组织起来,为Silex提供更强大的功能支持,也能便于开发者更轻易的将这些Provider复用在新的项目上。Silex中已经为一些优秀的第三方库定义好了现成的Provider,例如:DoctrineTwig,Symfony Security 等,要使用它们,你要做的只是将这些现成的Provider(在)注册到应用中即可。

Silex Provider

另外,Silex内置的Pimple也为框架的依赖注入提供了方便的实现方案。

喜欢TDD吗?没问题!Silex同样为测试提供了非常友好的支持。在PHPUnit和Symfony Web Driver的帮助下,你可以很容易的在Silex项目中为你的代码编写一个个单元测试或者功能测试。

最后,再分享一个我自己的Silex MVC 项目骨架。在这个针对中型MVC应用设计的项目骨架中,除了有对Doctrine DBAL,Twig等组件的支持,还加入了对PHPCIDoctine MigrationsSilex Simple User的支持,以及对测试代码结构和命令行工具的设计。可以帮助希望用Silex开发MVC项目的开发者更快速高效的开始开发工作。

	git clone https://github.com/chenxiaojing123/Silex-MVC-Skeleton.git
    cd Silex-MVC-Skeleton/
    composer install

Here's an Demo, and enjoy coding with Silex ~

Show Comments