5

我希望开发几个站点,并且想知道在框架或直接 PHP 中开发它们是否会更便宜。

我对几种类型的社交网站有以下几个方面的想法:维基、标记、投票和评论,非常简单的博客。我想在这些站点中重复使用这些组件。

我在一个网站上取得了不错的开端,但我真的进展得不够快。作为一个未经训练的、主要是意大利面条代码的 PHP 程序员,如果我想向外部贡献开放源代码,恐怕我的代码不会被认真对待。

我知道 MVC 对快速开发很有用,但我想知道是否会因为雇用具有框架知识的人而增加的成本超过开发成本的降低。

我还担心框架代码过时,即与最新的框架版本不兼容。我猜减少的维护成本超过了升级成本?我一直在关注 Symfony 2,因为它声称与其他软件一样快或更快。

非常感谢

4

4 回答 4

6

以下是您可能没有想到的几件事:

  • 使用框架,您的代码将以某种方式构造(它将遵循框架的指导方针);这意味着新员工(已经使用过该框架)将更容易理解代码的结构。
  • 框架不仅仅意味着 MVC:它们通常带有一个很好的可靠组件库,经过良好测试,经过深思熟虑;你不必重新发明很多轮子
  • 与新版本的框架不兼容可能是个问题,是的——但是你认为没有框架你的代码会更容易维护吗?
    • 花几天时间重新编写部分代码,使其与新版本的框架一起工作,这可能是一项不错的投资。
    • 如果您的代码结构正确(通常在不(过多)依赖于框架的类中的模型代码),更新将不会那么困难
    • 考虑到仍然存在的完全手工制作的 PHP 4 应用程序的数量,似乎框架并不能阻止人们升级......


另一方面 :

  • 如果你在没有框架的情况下编写意大利面条代码,这可能意味着你没有那么多经验——这意味着你需要一些时间才能高效地使用新框架(你需要学习它——并且,通常,这可能需要几周/几个月)
于 2011-04-05T17:18:05.067 回答
1

如果您不选择使用框架,那么您雇用的人将不得不学习您的约定,这将需要更长的时间才能真正开始以良好的速度产生结果。从本质上讲,您将制作自己的框架,并且您可以打赌没有人对此有任何经验。有了一个框架,你至少有一些共同点。您可能仍然应该仅就语言的基础知识采访他们,但是当他们开始工作时,他们可以上网并询问其他人有关在框架中做某事的特定方法的问题。如果您制作框架,他们可能不得不询问您要使用的约定。

框架对于起步很有用。请记住,您可以在某些时候“放弃”使用该框架,只需开始偏离框架使用的约定即可。您可以简单地获取框架代码并使其成为您自己的代码。通过假设这将是一个网络应用程序,我忽略了任何类型的许可。

于 2011-04-05T17:20:38.993 回答
1

听起来您要么拥有或将要获得 php 开发人员。任何体面的 php 程序员都应该能够在几周内学习任何 php 框架。

一些框架在向后兼容性方面比其他框架更好。您必须在研究中进行比较。

Yii 是我见过的最快的 php 框架。

于 2011-04-05T17:24:17.923 回答
1

这就是为什么你应该走框架路线的原因:

  • 如果你不这样做,你会发现自己重新发明了很多轮子。框架为您提供成熟、稳定的库,可能会处理您需要执行的大部分任务。

  • 找到了解您选择的框架的开发人员将比找到某人并让他们熟悉您的自定义代码库要容易得多。

  • 框架已经变得如此普遍,以至于您很难找到没有经验的开发人员。如果有更多与框架经验丰富的开发人员相关的成本,那是最低限度的。

  • 一些框架有简单的方法来升级代码库——Symfony 就是其中之一。

注意:不要使用 Symfony 2。它还没有准备好生产。而是选择 Symfony 1.4,或者如果您正在寻找一个学习曲线更容易的框架,CakePHP、CodeIgniter 或 Kohana。

于 2011-04-05T17:25:15.663 回答