不带Doctrine的Symfony2是什么样?

这是一个奇怪话题,因为Doctrine是Symfony2的几个核心之一(另外几个是DI, Twig, 集成的单元测试).

怎么会突然想到不带Doctrine的Symfony2呢?因为最近用Slim用得很爽,直接是Twig+Slim+PDO,虽然有点阳春白雪,但是用起来果断很爽,比原生写PHP要方便很多,比Symfony2要轻便很多.

仔细对比了一会,最大的区别应该还是Form的处理,换句话说,核心依然是Doctrine,在为没有Doctrine就没有方便的操作Form的接品,这种事情让我突然有一种奇怪的感觉:也许Symfony2走到最后,不只是需要一些代码生成器,更需要一个IDE.

如果使用Symfony2但却不使用Doctrine,会怎么样呢?

相对来说,当再做Symfony2项目时,假如没有Doctrine,那么应该更适合从页面入手,先做一个页面出来,然后考虑需要展示的数据有哪些,再然后呢?做一个简单的数据表,然后在Service中处理一下db操作,写一个单元测试.

这个数据链接要么是写一个pdo的单例,要么是直接从entity manager中获取,用完应该记得关闭.

似乎这样用Symfony2比直接用Doctrine要复杂?

那么是不是说明DI应该配合ORM来用,而不应该直接用?

这个问题在Java时代就开始思考,这么做也许可以,也许不可以,不过Symfony2很适合多人协作,Slim更适合一个人开发.Slim要想多人开发自然也可以,只是分隔性不如Symfony2.

我思考问题太简单了,哪能只考虑这些,可能是因为今天写了一天代码,头有点晕吧.不管了,睡觉,明天再继续.

转载自:http://saharabear.com/weblog/?p=1840

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>