Codeigniter 4 の単一インストールで共有サイトから複数のアプリケーション モデルを呼び出す
<p>Codeigniter 4 の単一インストールで他のマルチアプリケーション サイトからモデルを呼び出すにはどうすればよいですか? </p>
<p>フォルダー構造は次のようになります: </p>
<pre class="brush:php;toolbar:false;">- WebsiteFolder
--サイト1
- -アプリ
- - 公共
--- テスト
--- 書き込み可能
(.env、spark、その他のファイル)
--サイト2
- -アプリ
- -公共
--- テスト
--- 書き込み可能
(.env、spark、その他のファイル)
-- システム</pre>
<p>これが私のサンプルコードです: </p>
<p><strong>サイト 1</strong></p>
<p><strong>Constants.php</strong>
site2 を見つけるためのルート ディレクトリを定義しました。 </p>
<pre class="brush:php;toolbar:false;">define('ROOTSOURCE', dirname(__DIR__,3) . '\site2');</pre>
<p>これは次を返します: </p>
<p><em>E:\Project\website\site2</em></p>
<p><strong>Autoload.php</strong></p>
<p>PSR4をセットアップしました。 </p>
<pre class="brush:php;toolbar:false;">public $psr4 = [
APP_NAMESPACE => APPPATH, // カスタム アプリ名前空間の場合
'構成' => APPPATH . '構成',
'Source\Models' => ROOTSOURCE . '/app/Models/'
];</pre>
<p>次に、SPARK コマンドを実行します。</p>
<pre class="brush:php;toolbar:false;">php Spark 名前空間</pre>
<p>そしてreturn</p>
<pre class="brush:php;toolbar:false;"> --------------- ------------------ -------------------------------------------------- --------------------- --------
| ネームスペース | パス | 見つかりましたか? |
--------------- --------------------------------- - ------------------------------------------------- - --- --------
| CodeIgniter | E:\Project\DennisLiu\website\system | はい |
| アプリ | E:\Project\DennisLiu\website\site1\app | はい |
| 構成 | E:\Project\DennisLiu\website\site1\app\Config | はい |
| ソース\モデル | E:\プロジェクト\デニスリュー\website\site2\app\Models | はい |
--------------- --------------------------------- - ------------------------------------------------- - --- -------- </pre>
<p>次に、名前空間 <strong>Source\Models</strong> を見つけます。ここまでは順調ですね。</p>
<p>Controller=> <strong>Home.php</strong></p>
<pre class="brush:php;toolbar:false;">名前空間 App\Controllers;
ソース\モデルを使用します。
クラスホームはBaseControllerを拡張します
{
パブリック関数インデックス()
{
$setting = 新しい \Source\Models\Setting();
return view('welcome_message');
}</pre>
<p>コントローラーを実行すると、次のメッセージが表示されます: </p>
<ブロック引用>
<p><strong>クラス「Source\Models\Setting」が見つかりません</strong></p>
</blockquote>
<p>次のステップ、</p>
<p><strong>サイト 2</strong></p>
<p>Site2 モデル フォルダにモデル<strong>設定</strong> があります。 </p>
<p><strong>注:</strong></p>
<p>サイト 2 ではすべてが正常に動作しています。 </p>
<p>私の問題は、「クラス <strong>"Source\Models\Setting"" が見つかりません」というエラーが表示されることです</strong>codeigniter 4 の単一アプリケーション インストールでサイト 2 モデルを呼び出すための正しい設定何ですか? 。 < /p>
<p>注: </strong>
これは、両方の Web サイトに codeigniter 4 を 1 回インストールするだけです。システムフォルダーを共有しました。 </p>