所有组件使用Wind::import()加载文件,而非标准的require_once()。导致所有组件与class Wind tightly coupled。跟糟糕的是class Wind所在文件Wind.php是个流程文件(内有Wind::init()方法调用),因此所有组件与整个framework tightly coupled,无法剥离,离开此框架后就无法使用。 请参考Zend Framework,尽量减少组件间的依赖,这样在其它项目中可单独引入一个组件,而非整个框架。
Activity
2ig2ag commentedon Mar 30, 2012
补充一点,这种加载方式导致单元测试跟整个框架tightly coupled,虽然写php的基本不会做单元测试。
hizhou commentedon Mar 31, 2012
单元测试,长期维护来说,写比不写都好。强耦合确实是个问题。
lixiaokai2008 commentedon May 21, 2012
这个应该和整合框架的构架思路有关系
phpwind commentedon Jun 12, 2012
是的,我们构建了wf的核心技术体系和运行机制,使得组建的开发创建运行都变得简单简洁~
但是要从框架中剥离一个组建,还是相对来说比较容易的~ 除了组建本身核心系统对象,比如request,response等
是的我们的思路是不同的,我们的主要目的不是为了将组建引入其它的项目或框架再做努力~
php自身的特点就是这样的,如果硬要开发一个万能的东西,那么效率肯定是底下的~