Codeigniter 编写基于PHP的工具-我应该使用框架吗?

Codeigniter 编写基于PHP的工具-我应该使用框架吗?,codeigniter,php,Codeigniter,Php,我正在制作一个非常特殊的“控制面板”,用来组织信息、记录统计数据、发送警报等等 我最初的计划是使用CakePHP。我试过蛋糕,虽然我觉得它真的很棒,但我真的很讨厌它,因为它是“自动”的。我不喜欢它在我不知道的情况下做这些事情。昨天我换成了CodeIgniter,因为一个朋友让我试试。我更喜欢CI,但是使用PHP框架感觉不太好。对我来说,它感觉不够自由和灵活 我向您提出的问题: 我应该继续尝试使用框架,还是应该构建一个“半框架”,使某些事情更容易(布局、表单验证、本地化) 请允许我补充一点,我已经

我正在制作一个非常特殊的“控制面板”,用来组织信息、记录统计数据、发送警报等等

我最初的计划是使用CakePHP。我试过蛋糕,虽然我觉得它真的很棒,但我真的很讨厌它,因为它是“自动”的。我不喜欢它在我不知道的情况下做这些事情。昨天我换成了CodeIgniter,因为一个朋友让我试试。我更喜欢CI,但是使用PHP框架感觉不太好。对我来说,它感觉不够自由和灵活

我向您提出的问题: 我应该继续尝试使用框架,还是应该构建一个“半框架”,使某些事情更容易(布局、表单验证、本地化)


请允许我补充一点,我已经创建了一个安全的身份验证系统(嗯,我认为它是安全的,但这是另一个讨论:p),该系统在这个站点上实现起来相当简单。

这取决于您的站点。如果你有一个有几十个页面的大型站点,最好使用一个框架。但是如果你的网站很小,就没有必要使用它

我应该继续尝试使用一个框架,还是应该构建一个 “半框架”,使某些事情更容易(布局、形式) 验证、本地化)

我认为这里的大问题是使用框架是否能让你的生活更轻松。框架的设计目的是简化编码,为你自己的代码提供强大的基础。如果这个基础通过减少需要编写的代码量和维护量来帮助您,那么是的,我强烈建议您使用框架。如果这个框架使你的工作更加困难,因为它不适合你的需要,并且没有减少你需要做的工作总量,那么我强烈建议你不要浪费时间在这个框架上


就像你会停止使用不能帮助你更快更好地洗碗的洗碗机一样,继续并停止使用不能帮助你更快更好地编写代码的框架。

尝试将Zend与NuSphere PHPEd IDE结合起来。Zend是一个通用的多用途框架,它允许您随心所欲地使用它,它有大量的示例和文档。PHPEd将使您能够进行非常好的调试,即使是在框架代码中,这样您将感觉到完全可以控制

另一方面,重新发明轮子从来都不是一个好主意。你将永远无法独自完成所有的表单验证,而对所有这些代码的测试量将使你在周二、夜班期间呆在办公室:)


花些时间阅读一些开源项目可能是个不错的主意,比如,这样你就可以在尝试编写自己的框架之前观察通用框架的真正威力。

可能是@michael的复制品(我在这里同意并标记它),尽管我想指出,所有框架都不是MVC框架,即使使用PHP.:)陛下就像我说的,我不会写一个完整的框架,而是一个“半框架”,本质上是几个文件,只是为了让我的生活更轻松。@DrAgonmoray我不认为这样做有什么害处,只要你知道你在做什么,并且可以避免大部分(或全部)常见的陷阱。如果你不需要的话,就不要重新发明大东西的轮子。好吧,我曾经为执行SQL语句创建一个包装类,然后为每个“模型”类创建几个填充SQL语句的文件。因此,我最终重复了大量的代码,更改内容简直是一场噩梦。之后,我学习了ORM(对象关系映射)和EAV数据库的功能。问问自己,你是否能够设计、实现和测试一个通用框架,它能够自动地基于ORM原则构建SQL语句。如果答案是肯定的,那么你一定有很多空闲时间……但这真的是我需要的吗?(我知道这不是我特别想要的东西)取决于你是否想要那么重的东西。不管怎么说,除了信条,还有更轻的替代品(那一大堆赘肉很难处理,布莱)-红豆值得尝试一些灵活的东西。这确实有道理,但有一个小问题:我真的不知道它是否更好。在最近的一个项目中,我将我的PHP分为三个位置:“包括”(我从中获取公共文件)、“根”(我的站点根,用户看到的页面)和“ajax”(处理ajax请求的文件)。这样更好吗?也许,如果我做了一些补充,以更好地简化流程。你容易理解吗?代码中的“魔力”是否已被移除,这样您就可以放心地进行更改和修复问题,而不用担心破坏所说的魔力?如果有,那么你可能做了正确的事情,因为魔法代码是糟糕的代码,因为它很难改进和适应,因为你没有完全理解它。如果你已经移除了这个魔法,现在完全理解了代码,我肯定会说你已经提高了成功的几率。(对不起,如果我给你这样基本的答案是在侮辱你的智慧…)不,不,没关系。是的,这很容易理解,而且它完成了工作。我喜欢你的回答。谢谢:)