CodeIgniter 4/多个 Websites/Shared 资源
CodeIgniter 4/Multiple Websites/Shared Resources
我正在使用 CodeIgniter 4 设置多个网站,这些网站将共享相同的资源(即:模型、库、助手、第三方等)。我的目标是能够管理共享资源中的代码更新和迁移,以便所有网站的更改都是全局的。以下是结构示例:
- SYSTEM_CI4(所有 CI4 安装共享)
- RESOURCES(由所有 CI4 安装共享)
- WEBSITE_1 (CI4)
- WEBSITE_2 (CI4)
- WEBSITE_4 (CI4)
- ETC (CI4)
如何在 WEBSITE_1 目录外使用共享资源?
如有任何帮助,我们将不胜感激!
提前致谢!!!
这在 CI4 中很容易。
以下是您可以采用的方法之一。
假设默认设置是应用程序 -> CI4 文件夹。
然后,您将需要创建另一个文件夹,假设 Website1 与您在 CI4 中的基本应用程序文件夹处于同一级别。
执行此操作后,Website1 的路径应存储在与原始 CI4 项目具有相同文件夹结构的 Website1 文件夹中。
迁移将在 Website1/app/Migrations 文件夹中,如果您的连接不同,则您需要在迁移中提及连接名称或动态切换它们。
为了让 CI4 成功找到您的网站路由,您需要在 Autoload 文件中指定如下路由:
$psr4 = [
'App' => APPPATH, // To ensure filters, etc still found,
APP_NAMESPACE => APPPATH, // For custom namespace
'Config' => APPPATH . 'Config',
'Website1' => ROOTPATH .'Website1',
'Website1/app' => ROOTPATH .'Website1/app'
这将使您能够使用 App 或 Website1 中定义的 类 在 CI4 项目中的任何地方使用。
Example of Folder Structure :
Resources to be shared :
app\Config\ <-- For shared Configurations
app\Models\ <-- For shared Models
app\Database\Migrations\ <-- For shared Migrations
Website1 Folder:
Website1\app\Config\ <-- For Website1 Configurations
Website1\app\Models\ <-- For Website1 Models
Website1\app\Database\Migrations\ <-- For Website1 Migrations
我正在使用 CodeIgniter 4 设置多个网站,这些网站将共享相同的资源(即:模型、库、助手、第三方等)。我的目标是能够管理共享资源中的代码更新和迁移,以便所有网站的更改都是全局的。以下是结构示例:
- SYSTEM_CI4(所有 CI4 安装共享)
- RESOURCES(由所有 CI4 安装共享)
- WEBSITE_1 (CI4)
- WEBSITE_2 (CI4)
- WEBSITE_4 (CI4)
- ETC (CI4)
如何在 WEBSITE_1 目录外使用共享资源?
如有任何帮助,我们将不胜感激!
提前致谢!!!
这在 CI4 中很容易。 以下是您可以采用的方法之一。
假设默认设置是应用程序 -> CI4 文件夹。
然后,您将需要创建另一个文件夹,假设 Website1 与您在 CI4 中的基本应用程序文件夹处于同一级别。
执行此操作后,Website1 的路径应存储在与原始 CI4 项目具有相同文件夹结构的 Website1 文件夹中。
迁移将在 Website1/app/Migrations 文件夹中,如果您的连接不同,则您需要在迁移中提及连接名称或动态切换它们。
为了让 CI4 成功找到您的网站路由,您需要在 Autoload 文件中指定如下路由:
$psr4 = [
'App' => APPPATH, // To ensure filters, etc still found,
APP_NAMESPACE => APPPATH, // For custom namespace
'Config' => APPPATH . 'Config',
'Website1' => ROOTPATH .'Website1',
'Website1/app' => ROOTPATH .'Website1/app'
这将使您能够使用 App 或 Website1 中定义的 类 在 CI4 项目中的任何地方使用。
Example of Folder Structure :
Resources to be shared :
app\Config\ <-- For shared Configurations
app\Models\ <-- For shared Models
app\Database\Migrations\ <-- For shared Migrations
Website1 Folder:
Website1\app\Config\ <-- For Website1 Configurations
Website1\app\Models\ <-- For Website1 Models
Website1\app\Database\Migrations\ <-- For Website1 Migrations