在 HMVC codeigniter 应用程序中自动加载共享控制器
Autoload shared controllers in a HMVC codeigniter app
这是我的路径:
/api
calltek
application
config
controllers
...etc
index.php
.htaccess
empresite
application
config
controllers
...etc
index.php
.htaccess
gestios
config
controllers
Gestios_login.php
Gestios_profile.php
libraries
models
shared
config
helpers
language
libraries
Gestios 和 Shared 是包。 Calltek 和 Gestios 是应用程序。
Calltek autoload.php 从 gestios 和 shared 加载资源:
$autoload['packages'] = array(APPPATH.'../../gestios',APPPATH.'../../shared');
在我的 routes.php 中,我定义了调用 Gestios 控制器的路径:
$route['auth'] = 'gestios_login/index';
$route['avatar'] = 'gestios_profile/avatar';
$route['profile/me'] = 'gestios_profile/me';
$route['profile/avatar'] = 'gestios_profile/avatar';
$route['profile/avatar/(:num)'] = 'gestios_profile/avatar/';
$route['profile/config'] = 'gestios_profile/config';
当我尝试导航到示例时。com/api/calltek/auth 应用向我发送 404。
我的calltek .htaccess没问题:
RewriteEngine on
RewriteCond !^(index\.php|media)
RewriteRule ^(.*)$ index.php/ [L]
案例 Codeigniter 不自动加载控制器作为包 (LINK) 我找到了替代解决方案:
只需创建第二个控制器并扩展共享控制器:
<?php defined('BASEPATH') OR exit('No direct script access allowed');
require APPPATH.'/../../gestios/controllers/Gestios_login.php';
class Auth extends Gestios_login {
public function __construct(){
parent::__construct();
}
}
这是我的路径:
/api
calltek
application
config
controllers
...etc
index.php
.htaccess
empresite
application
config
controllers
...etc
index.php
.htaccess
gestios
config
controllers
Gestios_login.php
Gestios_profile.php
libraries
models
shared
config
helpers
language
libraries
Gestios 和 Shared 是包。 Calltek 和 Gestios 是应用程序。
Calltek autoload.php 从 gestios 和 shared 加载资源:
$autoload['packages'] = array(APPPATH.'../../gestios',APPPATH.'../../shared');
在我的 routes.php 中,我定义了调用 Gestios 控制器的路径:
$route['auth'] = 'gestios_login/index';
$route['avatar'] = 'gestios_profile/avatar';
$route['profile/me'] = 'gestios_profile/me';
$route['profile/avatar'] = 'gestios_profile/avatar';
$route['profile/avatar/(:num)'] = 'gestios_profile/avatar/';
$route['profile/config'] = 'gestios_profile/config';
当我尝试导航到示例时。com/api/calltek/auth 应用向我发送 404。
我的calltek .htaccess没问题:
RewriteEngine on
RewriteCond !^(index\.php|media)
RewriteRule ^(.*)$ index.php/ [L]
案例 Codeigniter 不自动加载控制器作为包 (LINK) 我找到了替代解决方案:
只需创建第二个控制器并扩展共享控制器:
<?php defined('BASEPATH') OR exit('No direct script access allowed');
require APPPATH.'/../../gestios/controllers/Gestios_login.php';
class Auth extends Gestios_login {
public function __construct(){
parent::__construct();
}
}