2011-01-26 33 views
1

这个“框架”问题在这里被问了很多次,但是看过我能找到的所有东西,我找不到这个问题的答案。是否有为封装产品设计的MVC PHP框架?

我创建了从游戏到CMS,社交应用程序等的所有内容。我简单地使用了Zend和CodeUgnighter,但是当我提供它时,它会有一堆不必要的文件夹,它需要任何想要的人修改我的程序以了解框架,并且如果他们想要将其更新到最新版本的框架,他们会有一个动作。

在我看来,框架的设计主要针对超大型项目,其设计为一个客户,而不是一个发布的程序。似乎所有大型打包的php产品都有自己的框架(vbulletin等)。

+1

你真的为自己回答了。如果你不喜欢像CodeIgniter这样的框架,那么编写你自己的。但是等等..如果你打包你的框架,人们仍然需要学习它。 – 2011-01-26 19:58:07

+0

告诉我们关于你的“打包产品”:)我认为几乎所有的框架都有固有的局限性和障碍,由于这个行业的性质,但也许一些框架会比其他框架更好(接近你想要的),取决于你的具体需求。 – Sampson 2011-01-26 19:58:40

回答

2

其将有一堆不需要的文件夹

这些uncessary文件夹都存储在一个文件夹中,并且需要对框架的工作,就是10,20,200 Mb这是问题吗?现在存储便宜,为什么要关心?

它要求任何人谁想要修改 我的程序知道框架

你猜对了!这是一个优点,而不是一个不方便的。如果没有,那么会阅读你的代码的人将需要了解你的习惯,你的习惯,而且他们可能并不常见。 如果您能够编写一致的代码,遵循任何约定,为什么不。 但它也可以给你的客户一个真正的价值,因为他知道如果你因任何原因必须离开,任何人都可以收回你的工作。

如果他们想要更新到最新版本的框架,他们已经有了一座山。

在任何情况下,升级的框架,为新版本的应用程序是大多数时间,因为在生产环境中,你需要测试一个颇富,并再次测试,以确保您的应用程序是稳定的。 大部分的框架都会提供发布说明,让您了解向后兼容性。

在我看来,框架 主要是为超大型 项目设计的。

Zend或Code Igniter适合中等规模的项目,随着时间的推移,您开发了框架扩展,您将能够在较小的项目上节省时间和错误。

好像所有的大包装PHP 产品在那里让自己 框架(vBulletin等)。

PHP框架是年轻人,他们大多数都是3/4岁(Zend,Symfony)。很多像Vbulletin这样的应用程序都比较老旧。

有很多基于通用框架的应用程序,但它们并不针对同一个人。

Joomla,Drupal,Wordpress有自己的框架(程序或对象),但他们更多的目标是最终用户。

然而像Magento这样使用Zend Framework的解决方案被设计为扩展并且可以通过扩展进行定制。

2

有许多轻量级PHP MVC框架,每个框架都具有不同程度的功能和灵活性。其中大部分将缺乏高级功能,但会完成工作。

想到的是:http://www.kissmvc.com

希望帮助:)

2

你说得对,大多数框架都是针对“适合所有人”而设计的,这意味着他们有很多东西,你不一定需要每个项目。这有时会让他们有点重量级。更多'现代'框架强调模块化,但是当涉及到核心时,通常存在很多相互依赖关系。一个解决方案:滚动你自己的框架,解剖其他框架的代码,并使用你喜欢/需要的部分。如果可以的话,更多地倾向于使用专注于您所需的特定任务的库。例如。 ORM的数据库,你可能会使用原则,因为它的专业领域非常集中。只是一个例子。

无论哪种方式,如果你做得对,这是很多工作,试图找出你甚至需要什么。从基础知识开始,您的控制器如何工作,您是否需要完全实现MVC与前端控制器,动作控制器,可能是CMS的页面控制器?你可以在哪里偷工减料?它很大程度上取决于您对特定产品(或产品调色板)的需求。

另一个解决方案,就像Serge提到的,正在获得一个轻量级的框架,它真的只关注基础知识。并且自己填充所有洞,或者使用可用的第三方库。我个人使用FLOW3的重大修改版本(目前在alpha开发中),它使用了很多很酷的东西,但在使用遗留数据库(他们有自己的域模型实现)时缺少一点。这是我改变主要为我的版本。