コードシナーのウェブサイトの管理者とフロントエンドを分ける最善の方法は、すべてのライブラリ、モデル、ヘルパーなどを共通に使用していましたが、コントローラとビューのみです。分離する。コードシニターで管理者とフロントを区別する
私はより適切な方法をしたい、アップパフォーマンス、シンプルさ、および共有モデルとライブラリのなど
コードシナーのウェブサイトの管理者とフロントエンドを分ける最善の方法は、すべてのライブラリ、モデル、ヘルパーなどを共通に使用していましたが、コントローラとビューのみです。分離する。コードシニターで管理者とフロントを区別する
私はより適切な方法をしたい、アップパフォーマンス、シンプルさ、および共有モデルとライブラリのなど
私は非常CI devのフィルチョウザメで、この記事で概説した方法を読んでお勧め:
http://philsturgeon.co.uk/blog/2009/07/Create-an-Admin-panel-with-CodeIgniter
私のアドバイス:あなたのプロジェクトを組織するために、モジュールを使用してください。
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home
フロントおよび/またはバックエンド用base controllerを作成します。
// core/MY_Controller.php
/**
* Base Controller
*
*/
class MY_Controller extends CI_Controller {
// or MX_Controller if you use HMVC, linked above
function __construct()
{
parent::__construct();
// Load shared resources here or in autoload.php
}
}
/**
* Back end Controller
*
*/
class Admin_Controller extends MY_Controller {
function __construct()
{
parent::__construct();
// Check login, load back end dependencies
}
}
/**
* Default Front-end Controller
*
*/
class Public_Controller extends MY_Controller {
function __construct()
{
parent::__construct();
// Load any front-end only dependencies
}
}
バックエンド・コントローラー意志extend Admin_Controller
、およびフロントエンドコントローラ意志extend Public_Controller
:このような何か。フロントエンドのベースコントローラーは実際には必要ではありませんが、例として存在するので便利です。必要に応じてMY_Controller
を代わりに拡張することができます。
必要に応じてURI routingを使用して、フロントエンドとバックエンドのコントローラを個別に作成します。フロントエンドコントローラとバックエンドコントローラの両方が同じアプリケーションに存在する場合、すべてのヘルパー、クラス、モデルなどを共有できます。
私は非常に簡単なアプローチ、すなわちファイルフォルダを使用します。 CIユーザーガイドのセクションOrganizing Your Controllers into Sub-foldersを参照してください。
私は、他の人がCodeIgniterを使用してビルドしているように、公開用のウェブサイトを構築しました。次に、2つの追加のフォルダcontrollers/admin
とviews/admin
があります。
http:// [ホスト名]/admin/controllerを介して管理コントローラにアクセスし、特定の認証チェックを除いて他のコントローラと同様に動作します。同様に、ビューは、単にフォルダ名を含むように呼び出されます:$this->load->view('admin/theview');
。
私はそれより複雑な何かをする理由は見つけられていません。あなたのすべてがここを完全に解決策を見つけることができます
「あなたのコントローラをサブフォルダに編成しています。リンクがうまくいかない場合は、私に更新してください。 –
これは最新のリンクです。http://ellislab.com/codeigniter%20/user-guide/general/controllers.html#subfolders –
ありがとう@Pramod。リンクが更新されました。 –
、adminとフロントエンドがHMVCを使用し、私は2つのサードパーティのライブラリを使用しています
テンプレート分離テンプレートライブラリを使用するためのhttps://github.com/bhuban/modular
モジュールの分離、あなたはそれを見つけることができますzipファイル。フィルチョウザメ
によってテンプレート用wiredesignz
localhost/modular for front-end
と
localhost/modular/admin for back-end
を実行します application/back-modules
は、それは、フロントエンドモジュールフロントエンドテンプレートのバックエンドテンプレート templates/front
ための同様 templates/admin
ためのものであり、バックエンドモジュール
application/front-modules
するためのものである
themes/admin
バックエンドテーマの場合 themes/front
フロントエンドテーマの場合
オリジナルのコードをハッキングするだけのものはありませんconfig.phpとindex.phpを使用して
これは私が検索したことです!しかし、私はそれにアクセスしようとすると、私はエラーがあります:あなたのデフォルトコントローラを読み込むことができません。 Routes.phpファイルで指定されたコントローラが有効であることを確認してください。それを解決するアイデアはありますか?ありがとう –
このアプローチは非常に便利ですが、私はそれを得ることはできませんが、私は質問があります。なぜMY_Controllerを作成しますか?それは必要ですか?? Admin_ControllerとPublic_ControllerがCI_Controllerを代わりに拡張するとどうなるでしょうか?これも正しいでしょうか? – Lykos
Bitbucketリンクが機能していません。 –