codeigniter の MVC 構造のモデルとビュー フォルダーを、通常のパスに関係なく別の場所に配置できますか?
application/views
application/models
他の場所に、言ってみましょう
abc/views
pqr/models
プロジェクトフォルダの外。可能であれば、どうすればそれを達成できますか。
前もって感謝します
codeigniter の MVC 構造のモデルとビュー フォルダーを、通常のパスに関係なく別の場所に配置できますか?
application/views
application/models
他の場所に、言ってみましょう
abc/views
pqr/models
プロジェクトフォルダの外。可能であれば、どうすればそれを達成できますか。
前もって感謝します
CodeIgniter の現在の安定版には、 modelsandパスをカスタマイズする機能はありません(CI 3.x では、 and と同様にパスを変更できます)。viewsviewapplicationsystem
viewsただし、典型的なおよびmodelsフォルダーの外にファイルをロードできます。
ファイルへのパスは相対です。../したがって、パスの 1 つ上のレベルに移動するために使用できます。
たとえば、 のabc近くapplicationにフォルダが配置されている場合は、 を使用../../abcしてそのフォルダに到達する必要があります。
以下の例を見てください。
モデル:
class Model_name extends CI_Model {
    public function baz($value='')
    {
        return $value;
    }
}
コントローラ:
class Foo extends CI_Controller {
    public function bar()
    {
        $this->load->model('../../pqr/models/model_name');
        $data['var'] = $this->model_name->baz('Yes It Works!');
        $this->load->view('../../abc/views/view_name', $data);
    }
}
意見:
<?php echo $var; ?>
サンプルのフォルダ構造は次のとおりです。
application
system
pqr
   /models
          /model_name.php
abc
   /views
         /view_name.php
補足として:pqrまたはabcディレクトリへの直接アクセスが制限されていることを確認してください。.htaccessの内容を含むファイルをそれらの中に追加しますDeny from all。
「アプリケーション」フォルダー外のモデルとビューをカスタマイズするには、次の簡単な手順に従います。
My_Loader.php「application/core」ディレクトリにファイルを作成します次のコードをカスタムにコピーしますMy_Loader.php
class MY_Loader extends CI_Loader {
function mymodel($model, $folder = '',$vars = array(), $return = FALSE) {
    array_push($this->_ci_model_paths, "");
    parent::model($model);
}
function myview($folder, $view, $vars = array(), $return = FALSE) {
        $this->_ci_view_paths = array_merge($this->_ci_view_paths, array(APPPATH . '../' . $folder . '/' => TRUE));
        return $this->_ci_load(array(
                '_ci_view' => $view,
                '_ci_vars' => $this->_ci_object_to_array($vars),
                '_ci_return' => $return
        ));
}
$this->load->mymodel('folder/model');
ビューについては、
$this->load->myview('views','view_dir/view-php-file', $data);
ビューとモデルを別の場所に移動できるかどうかはわかりませんが、アプリケーション フォルダーの場所を選択した場所に変更できます。
アプリケーション ディレクトリを別の場所に移動し、index.php ファイルを開き、$system_folder 変数と $application_folder 変数に新しいパス値を設定します。
参照: http://ellislab.com/codeigniter/user-guide/installation/index.html
これが役に立てば幸いです。