适用于Codeigniter的文件结构

时间:2014-07-16 06:48:55

标签: php codeigniter

首先,这不是编码错误问题。

它有点像讨论类型。实际上我在最近两年遵循了文件结构,现在我想让人们对该文件结构进行审核或建议

一般在CI中应用程序文件夹中维护以下结构

root
-----------
     |___application
           |____ config
           |____ controllers
           |____ models
           |____ views
           ................
           ................
           |____ .htaccess 

现在我个人使用这个结构

root
-----------
 |___application
      |___front
      |     |____ config
      |     |____ controllers
      |     |____ models
      |     |____ views
      |     ................
      |     ................
      |     |____ .htaccess 
      |
      |___admin
      |     |____ config
      |     |____ controllers
      |     |____ models
      |     |____ views
      |     ................
      |     ................
      |     |____ .htaccess 

现在我只有一个具有基本可共享功能的模型。所以我制作了两份重复的副本并将其中的一份放在

application/front/modelsapplication/admin/models

中的另一个

现在,根文件夹中的index.php文件中的seeting调用application / front文件夹

$application_folder = 'application/front';

现在要访问管理面板,我们需要访问应用程序/管理文件夹,这是通过以下方式完成的

我复制了index.php(重命名为admin.php)文件并将其放在根文件夹中。 然后我做了改变$application_folder = 'application/admin';

所以,如果网址是这样的

abc.com/admin.php/reports

然后它调用reports controller文件夹

中的application/admin/controllers

所以我想知道的是,这个文件结构是否正常,我会继续这个吗?

或者我应该使用其他方法

1 个答案:

答案 0 :(得分:0)

一个非常常见的解决方案是设置一个新的应用程序包。"

在2.x.0中,没有详细记录,但你可以在这里看到它:

http://ellislab.com/codeigniter/user-guide/libraries/loader.html

基本上添加一个名为shared/的共享路径,然后添加shared/models。要加载它,只需执行:

$this->load->add_package_path(dirname(APPPATH).'shared/');
$this->load->model('whatever');

您可以使用FCPATH或其他东西切换出APPPATH。自从我使用CodeIgniter做任何事以来已经有一两年了,但这就是我以前的做法。