我正在建立多个网站与CodeIgniter 4将共享相同的资源(IE:模型,图书馆,助手,ThirdParty等)。我的目标是能够管理共享资源中的代码更新和迁移,这样所有网站的更改都是全局的。以下是这种结构的一个例子:
installations)
如何使用WEBSITE_1中的共享资源,而该资源位于目录之外?
任何帮助都将不胜感激!
提前谢谢!
发布于 2021-03-18 05:06:06
这在CI4中非常容易。以下是您可以采取的实现这一目标的方法之一。
假设默认设置是app -> CI4文件夹。
然后,您需要创建另一个文件夹,假设Website1与CI4中的基本应用程序文件夹的级别相同。
完成此操作后,Website1的路由应该存储在与原始CI4项目相同的文件夹结构的Website1文件夹中。
迁移将位于Website1 1/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
https://stackoverflow.com/questions/66684134
复制相似问题