Ada*_*dam 3 codeigniter codeigniter-2
我用控制器创建了我的网站,例如about,products等...这给了我example.com/about/等.
如何创建具有相同控制器名称的管理部分,例如example.com/admin/about或example.com/admin/products?
如何组织我的控制器?
2个补充WebweaverD答案的选项.
设置后,第二个选项非常容易管理.有变化,但我发现下面的结构是最方便的.
mykewlwebsite.com
apps/
frontend/
app/ frontend codeigniter application folder
public/
index.php
assets/ frontend js, css, images
backend
app/ backend codeigniter application folder
public/
index.php
assets/ backend js, css, images
config/
database.php
constants.php
system/ codeigniter system folder
Run Code Online (Sandbox Code Playgroud)
该database.php中文件包含CodeIgniter的代码config/database.php和共享您的项目中的所有应用程序-只要删除所有代码,并添加require_once('../../../../config/database.php');到config/database.php
index.php的公共文件夹中的文件有两个重要的变量$system_path和$application_folder,将其更改为
$system_path = '../../../system/codeigniter';
$application_folder = '../app';
Run Code Online (Sandbox Code Playgroud)
constants.php文件可以有一些常量,如文件中的ENVIRONMENT常量index.php和其他一些常量.只是require_once()来自index.php文件.
虽然有利有弊.
PROS
对于那些在localhost上开发并通过FTP或其他系统部署到服务器的人来说,只需上传一个文件夹 - apps并覆盖目标文件夹而不必担心覆盖database.php设置(我敢肯定你们大多数人都不同于本地文件夹)).
添加一个应用程序很简单 - 只需复制一个现有应用程序.您可以根据需要添加任意数量的应用程序 - api,ajax,用户机柜等.
缺点
如果您有一个域mykewlwebsite.com并且能够向其添加子域,则可以使用此结构,因此您只需为每个域配置主文件夹:
mykewlwebsite.com:path/to/mykewlwebsite.com/apps/frontend/public /
admin.mykewlwebsite.com:path/to/mykewlwebsite.com/apps/backend/public /
api.mykewlwebsite.com:path/to/mykewlwebsite.com/apps/api/public /