必要に応じてその構造を使用できますが、次の点に注意してください。
各ユーザーのディレクトリをモジュールの場所として定義する必要があります。
// application/config/config.php
$config['modules_locations'] = array(
// Absolute path // Relative from default application dir
APPPATH.'modules/userABC/' => '../modules/userABC/',
APPPATH.'modules/userDEF/' => '../modules/userDEF/',
APPPATH.'modules/userGHI/' => '../modules/userGHI/',
// etc.
);
これを動的に実行できる場合もありますが、かなり早い段階でロードされるため、 hookconfig.php
が必要になる場合があることに注意してください。pre_system
もう 1 つは、アクティブなサブドメインに関係なく、すべてのユーザーのモジュールにアクセスできるようにする場合に重要なことです。順序が重要です。
userA に「blog」というモジュールがあり、userB もそうである場合、userA のみがロードされます (最初に userA のモジュール パスを定義すると仮定します)。2 つのモジュールが同じ名前を共有しないことが確実な場合、これはそれほど重要ではありませんが、ローダーが要求されたモジュールの場所を見つけるまでモジュールの場所のスタック全体を調べるため、パフォーマンスが低下する可能性があります。
module_location
読み込まれているユーザーのサイト (サブドメイン) に応じて、単一のドメインを定義する必要があるようです。何かのようなもの:
// Get this value dynamically (not sure how you need to do it)
$current_user = 'userABC';
$config['modules_locations'] = array(
APPPATH.'modules/'.$current_user.'/' => '../modules/'.$current_user.'/'
);