我是否需要为我构建的每个项目都有一个CI文件夹?

时间:2014-02-02 22:07:09

标签: php mysql codeigniter

我是CodeIgniter的新手,我真的无法理解的一件事是,我是否需要在我必须创建的每个项目中复制codeigniter的目录树? 我的意思是想象我有一个名为“company1”的文件夹,在该文件夹中我有几个其他项目,每个项目用于“company1”的不同项目,有点像这样:

  • Company1
    • project1
    • project2
    • ...
    • projectN

我是否必须将codeigniter提取到每个项目文件夹?提取我的意思是在每个项目中都有“应用程序”和“系统”文件夹。另一个问题,我可以看到CI有几个函数可以从get_whereselectget_max()等数据库中获取数据。但是为了使用这些函数,你必须有一个在/application/config/database.php文件中配置的默认数据库,还有另一种方法可以让$db['default']['database']等于'',这样我可以选择从哪个数据库中检索数据吗?

如果所有这些都没有意义,或者问题只是简单的愚蠢,我很抱歉,正如我在CI新手之前所说,但我会感激任何帮助。

2 个答案:

答案 0 :(得分:0)

  1. 当然,您需要复制/应用程序文件夹,因为有您的应用程序。每个新项目可能会有所不同。
  2. 你可以使用相同的/系统文件夹(据我所知,你可以重新声明系统文件夹的路径。这对核心更新有好处,但在这种情况下也可能不好:核心更新到全新版本(I意思是3或2.5,来自特征的smth)和一些函数/类被弃用了......你需要重新组织所有这些并且它可能并不简单。但它只是我的幻想......好吧,对我来说,它是不是使用common / system文件夹的好方法。但我看过有关这样的架构师的话题。
  3. 正如我所说,你需要为每个新项目拥有自己的“应用程序”文件夹,因此无需对配置进行一些修复。一个项目=>一个应用程序文件夹=>一个配置=>一个巨大的利润! ;)
  4. 祝你好运!

答案 1 :(得分:0)

您真的不必创建多个应用程序和系统文件夹。您可以为每个项目和一个公共系统文件夹创建一个包含多个子目录的应用程序文件夹。

这里解释了。 http://ellislab.com/codeigniter/user-guide/general/managing_apps.html

由于您的每个项目都有不同的配置,因此实际上没有必要切换数据库。但是,如果您在单个项目中需要多个数据库,我可以建议this

正如Danny所说,将它们放在公共文件夹中不是一个好主意,因为更新单个项目的CI会很头疼。