CodeIgniter 4/多个网站/共享资源

时间:2021-03-18 02:58:04

标签: codeigniter-4

我正在使用 CodeIgniter 4 设置多个网站,这些网站将共享相同的资源(IE:模型、库、助手、第三方等)。我的目标是能够管理共享资源中的代码更新和迁移,以便所有网站的更改都是全局的。下面是一个结构示例:

  • SYSTEM_CI4(由所有 CI4 安装共享)
  • 资源(由所有 CI4 安装共享)
  • WEBSITE_1 (CI4)
  • WEBSITE_2 (CI4)
  • WEBSITE_4 (CI4)
  • ETC (CI4)

如何使用 WEBSITE_1 中的共享资源,而它在目录外?

任何帮助将不胜感激!

先谢谢你!!!

1 个答案:

答案 0 :(得分:0)

这在 CI4 中很容易。 以下是您可以采取的方法之一。

假设默认设置是 app -> CI4 文件夹。

然后,您需要创建另一个文件夹,假设与您在 CI4 中的基本应用程序文件夹处于同一级别的 Website1。

执行此操作后,Website1 的路由应存储在 Website1 文件夹中,其文件夹结构与原始 CI4 项目相同。

迁移将在 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
相关问题