5

我正在尝试找出处理 php 项目的最佳方式。它是几年前在一个自定义框架上构建的——该框架不是严格的 MVC ......它只是有控制器、视图和库。

从那以后我添加了额外的功能,它开始感觉很像一团糟,旧代码和新代码混合在一起,没有像样的数据库管理。

我正在努力决定我最好的选择是什么。一方面,我可以继续修补现有的代码库,希望我可以使它更有用和面向未来,或者转向 codeigniter(注意:我说 codeigniter,因为我有相当多的经验)。

Codeigniter 选项显然意味着我必须经历所有事情,并且毫无疑问会进行大量的重新编码,但从长远来看,这可能是值得的。

我正在考虑另一种选择,那就是 Laravel 框架。我没有直接的经验,但是我听说 Laravel 4(尚未发布)应该很棒。

那么,把这三个选项放在桌面上,你会选择哪个,为什么?我正在寻找一个令人信服的理由来选择一个而不是另一个,坦率地说,我不知道我目前最好走哪条路线!

4

4 回答 4

4

简短的回答:两者都不是

现在有点长版本..

我的印象是,您对框架旨在解决哪些问题感到困惑。当您使用框架时,您获得的是更短的简单应用程序开发。你总是失去的是性能,通常是可维护性。

框架旨在为您提供解决简单问题的工具。这意味着有很多东西是你不需要的。还有一些问题,框架不能解决甚至积极阻碍你制定解决方案的努力。

你应该怎么做..

重构你的代码。

如果你已经在这个项目上工作了很长时间,你会从这次经历中学到很多教训。通过改进现有代码库来利用它们。

  • 如果您的架构中存在缺陷:重组损坏的部分
  • 如果您不确定,是否可行:添加单元测试
  • 如果某些事情看起来很慢:分析您的编码和优化
  • 如果您不知道某事的作用:找出并添加评论

这样,您将提高您的项目和技能。

PS
即使您开始新项目,我也建议您避免使用这两种框架。它们都充满了糟糕的实践和更糟糕的代码:无处不在的全局状态、程序化编程、对 MVC 的误解、无视 OOP 原则和法律。

于 2012-10-31T21:50:36.097 回答
0

我实际上已经有了这方面的经验,因为我最近将一个较旧的站点从本质上是模块化的模型视图设置移动到了 CodeIgniter(带有 MX 模块化扩展)。它并没有花太多时间,而且很容易将模型转换为 CodeIgniter 的 ActiveRecord 范式。

听起来你甚至没有任何模型转换要做,所以我想说转换到 CodeIgniter 应该不是太大的挑战,尤其是考虑到你的经验。

于 2012-10-31T21:33:22.643 回答
0

没有明确的正确或答案——要么现在及时进行投资,要么在未来分散投资。

就个人而言,我会硬着头皮去迁移到 CI。如果您与代码作斗争而不是修复它,那么从长远来看,您在短期内付出的努力将是值得的。

大多数时候,将现有的 PHP 应用程序导入 CodeIgniter 并不需要太多时间——之后您只需要花更多时间重新组织代码即可。

于 2012-10-31T21:33:31.830 回答
-1

切换到 Laravel,它已经与 php v5.3+ 兼容,拥有一个很棒的社区。我确实在许多项目中使用了 CI,但与 Laravel 相处是我最好的决定之一。L3 是稳定的并且做得非常好,L4 将重新定义 php 的使用最大化效率。

如果您的旧系统以 OOP 标准的形式结构良好,那么您可以花一点时间将可用的药水迁移到 Laravel,并结合 Laravel 的超级功能来节省大量时间。例如,Laravel 使用称为 Eloquent 的结构良好的 ORM,并且可以在几分钟内捕捉到所有数据模型。如果你也看看活跃的社区,你会很高兴得到快速的支持。

于 2012-10-31T21:51:15.037 回答