0

CodeIgniter の上に独自の CMS / 拡張フレームワークを構築することを検討していますが、コードをapplicationフォルダーに入れないように構造化する方法を考えていました。典型的な CI セットアップでは、ファイル構造が次のようになっていることに気付きました。

application/    //code for your application
system/         //CodeIgniter core
index.php

ただし、PyroCMSでは、次の構造を使用しています。

application/    //code for your application 
system/
--cms/          //PyroCMS core
--codeigniter/  //CodeIgniter core.

同様の結果を得るにはどうすればよいですか?

4

3 に答える 3

1

簡単な答えは、すべてが index.php から始まるということです。これは、core/CodeIgniter.php が含まれる場所であり、アプリケーションとシステムのパスが設定される場所でもあります (構成から値を取得します)。

私は、pyro cms が実際に /system/cms をアプリケーション フォルダとして設定していると思います。おそらく、提示されたアプリケーション フォルダのコンテンツを見て処理するコードを書いているのでしょう。

もう 1 つのアプローチは、wiredesigns モジュラー HMVC を使用することです。

https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc

これにより、コードをモジュールに分離できます。すべての cms モジュールを含む cms というフォルダーと、その上にカスタム コンテンツを構築するための別のフォルダーを作成するだけです。

config で modules フォルダーへのパスを設定するので、システム フォルダーに cms コードが必要な場合は、そこにある modules フォルダーへのパスを設定し、標準的な方法で codeigniter を使用してその上にビルドできます。おそらく前後にフックを追加します。 cmsコアを呼び出すためにコントローラーがロードされます。

于 2012-12-10T23:17:23.463 に答える