修改代码点火器

时间:2011-07-26 01:18:06

标签: codeigniter

我正在研究使用PHP开发商业应用程序。由于我有CodeIgniter的经验并且它一直很适合我,所以我决定使用它。现在,如果我的应用程序需要增长并且必须在平台中进行自定义修改,是否可以将CodeIgniter源代码修改为远离原始代码的程度?

5 个答案:

答案 0 :(得分:4)

我强烈建议不要修改源代码,因为这是应用程序的后端,将无法更新到codeigniter的期货版本。

相反,您应该创建自己的类/库来扩展核心基础。这是最佳做法。

codeigniter用户指南提供了一些有关此问题的精彩信息http://codeigniter.com/user_guide/general/creating_libraries.html

祝你好运。

答案 1 :(得分:1)

请勿修改extend itEllislab关于releasing bug fixes and patches是好的,你想要的最后一件事是每次发布更新的源代码时都必须将所有更新重新设计到新的混合中。此外,corereactor以不同的速度发布了不同的功能和错误修复,因此,除非您计划在当前版本中锁定框架,否则需要进行扩展。

好消息是CI的构建和鼓励扩展源。系统文件夹和应用程序文件夹分离清楚地表明了如何将增强功能与基本库分离。

答案 2 :(得分:0)

CodeIgniter是用PHP编写的。无论如何,您可以完全重写框架。所以答案是肯定的。

有许多大型网站使用不同的语言编写,或者在框架开始时构建,并且已经多次重写。我认为许多开发人员(大多数是自由职业者)在开始时都过度思考。当我开始一个项目,然后我尝试完成它并尽快在网络上得到它。如果一个网站开始服用 - 并且大部分时间都开始赚钱 - 那么你总是可以花时间重写它。

我认为在计划和设计数据库和表格时花些时间更重要。我认为稍后重做部分数据库要困难的是重写使用数据的代码。

只需2美分。

答案 3 :(得分:0)

如果您使用过CI,那么您应该知道,作为一个PHP框架,下载中的所有源代码都存在,而且打开系统和应用程序文件夹并查看它会告诉您很多。是的所有来源都是普通英语(简单编程英语),不仅是简单的英语,而且内部和外部都有广泛的文档(字面意思是在源代码和用户指南中)。 CI从这个简单的事实中获得了最初的名声,所有代码都得到了广泛而细致的记录。

除此之外,问题本身引起了一些担忧,即在使用它编写商业应用程序之前,您可能应该进一步研究CI。 Ci是一个功能强大且易于使用的PHP框架,但它不是WYSIWYG。在我看来,编码人员应该从内到外了解他的工具,以便能够创建一个可靠的安全且可信赖的应用程序。第一个衡量标准是阅读用户手册,你应该至少知道其中的所有内容,因为它中有12个部分涵盖了从扩展CI库到创建自己的库的所有内容,以及介于两者之间的所有内容。说你需要多花一点时间。

我想说,但我并不是粗鲁或试图以任何方式羞辱你,我只是说你应该在使用它进入商业应用程序之前先学习一下这个框架。

在PHP的早期阶段,人们意识到使用它的难易程度以及使用它编写应用程序的速度有多快。当时主要选项是新手和业余爱好程序员使用或涉及昂贵的软件运行非常困难,PHP是免费的,易于学习,最重要的是在免费的操作系统上运行。它也几乎没有任何设置可以开始,你可以下载PHP,并在几分钟内基本上编程。所有这些因素导致语言几乎被破坏。

入门级程序员正在使用从其他应用程序中获取的一些代码来破坏它,从不知道(或关心)代码实际做了什么,超出了它当时做了他们想要的事实,从不考虑甚至调查是否代码可能有害。由于这种做法,PHP应用程序已经发展到Goliath规模的网站,每小时点击数千次点击:

  1. 开始崩溃
  2. 被黑客攻击以泄露敏感的客户/客户数据
  3. 一般在网络上崩溃
  4. 所有这些都是因为语言非常容易使用,人们已经利用它并且没有花时间去学习它。 PHP正在成为其他专业程序员的一个笑话,甚至没有被许多被称为“复制和粘贴”语言的人认为是一种可行的应用程序语言。

    所以我给你的建议,请花点时间了解你的工具内外,是什么让他们打勾,如果他们有任何陷阱和他们易受攻击的地方。我明白,为了学习一门专业水平的语言,你必须用它来构建,所以我建议你现在慢慢将CI坚持到核心。相信我,即使是最纯粹的形式,CI也是一个神奇而强大的工具,在合适的人手中可以创建出色的强大Web应用程序,但在未受过教育/没有经验的人手中它可能造成破坏和破坏。

    所以(走出肥皂盒)我只是问你,如果你认真考虑创建商业应用程序,你会花时间学习你的工具/语言,尽可能地接近专家。我确保如果你这样做,你将永远在你需要的时候工作,你会花更少的时间对着桌子敲打头,或者更糟糕地向客户解释为什么他们的网站出现问题。

    我真的祝你好运,只是放慢脚步,学习你的交易,你会做得很好。

答案 4 :(得分:0)

是的,Codeigniter是一个开源框架。但是,我建议不要修改Codeigniter的核心,因为大多数文件都可以安全地扩展和重写,而无需修改核心文件,如果您决定更新,这将导致您头痛。

要默认扩展核心类,您可以在Codeigniter中执行此操作。我们将为此示例扩展解析器类,但这几乎适用于所有类。综合用户指南中的此链接将为您提供Codeigniter核心类中扩展和重载方法所需的所有信息:http://codeigniter.com/user_guide/general/core_classes.html