2

Codeigniter の "applications" フォルダーの下にプロジェクト フォルダーを配置できると主張する CI 実装の例をいくつか見てきました。

しかし、私は約束通りこの作品を見ることができませんでした。

これが私がやったことと私がやりたいことです-多分あなたが助けることができます. 議論のために、私のドキュメントルートは /www/ です(そうではありませんが、簡単にするために使用しましょう)

codeigniter コアを /www/corelib/codeigniter に配置しました

codeigniter システム フォルダーを /www/ci_system に配置しました。

アプリケーションディレクトリを /www/applications に置きました

「エントリポイント」を /www/dd に入れました

ここで、「dataentry」と「cpanel」の 2 つのプロジェクトがあるとします。

アイデアは、私が行くことができるということです

h**p://mydomain/dd/dataentry // dataentry アプリケーション用および

h**p://mydomain/dd/cpanel // cpanel アプリケーション用。

次のように dataentry および cpanel ディレクトリを編成する場合:

/www/applications/controllers/dataentry

/www/アプリケーション/コントローラー/cpanel

/www/アプリケーション/モデル/データエントリー

/www/アプリケーション/モデル/cpanel

/www/アプリケーション/ビュー/データエントリー

/www/アプリケーション/ビュー/cpanel

私はこれをうまく機能させることができます。ただし、私がやりたいのは、モデルとビューをコントローラーと同じレベルに保ち、次のようにすることです。

/www/applications/dataentry/controllers

/www/アプリケーション/データエントリー/モデル

/www/アプリケーション/データエントリ/ビュー

/www/applications/cpanel/controllers

/www/applications/cpanel/モデル

/www/アプリケーション/cpanel/views

これはうまくいかないようです。

助言がありますか?

-CF

4

2 に答える 2

0

各アプリケーション (「dataentry」および「cpanel」) には、適切な $application_folder 変数を定義する独自のメイン index.php ファイルがありますか?

また、ドキュメントを読んだことがあると思いますが、CodeIgniter のドキュメントには、次のように /applications ディレクトリ (またはこの場合はディレクトリ) が /system ディレクトリの下に存在する必要があると記載されています。

system/application/foo/
system/application/foo/config/
system/application/foo/controllers/
system/application/foo/errors/
system/application/foo/libraries/
system/application/foo/models/
system/application/foo/views/
system/application/bar/
system/application/bar/config/
system/application/bar/controllers/
system/application/bar/errors/
system/application/bar/libraries/
system/application/bar/models/
system/application/bar/views/
于 2009-10-09T02:56:25.183 に答える
0

わかりました-これは希望どおりに機能しています。より広範な「ハウツー」を書き上げて、コメント セクションにリンクを提供します。

CI が必要とする以上に .htaccess を変更する必要はありませんでした。満足しています。私のエントリディレクトリは次のようになります。

/dd/index.php

2 つの重要な部分は次のとおりです。

list($blank, $webpath, $app) = explode('/', $_SERVER['REQUEST_URI']);
        $application_folder = $_SERVER['DOCUMENT_ROOT]."/applications/$app";

これにより、単一の index.php ですべてのアプリケーションを処理できます。

私が見逃していた部分は、appName がプライマリ コントローラーであるか、コントローラー内のディレクトリである必要があることです。(私が抱えていた本当の問題は、あまりにも多くのハッキングを行っていたため、実際に見ているものを理解するのを妨げている構成とルートがあったことでした: クリーンな状態から始めることが不可欠な場合もあります。)

于 2009-10-09T15:54:08.487 に答える