2009-05-08 9 views
0

だから基本的には、thisは私が持っているものです。管理パネルの設定は良いですか?

これは良い方法ですか?私はadmin.phpファイルを分割し始めました。

ただし、いくつのファイルが潜在的に終了する可能性があるか、またすべてのファイルに対して何かを更新する必要がある場合に対処するための問題については、少し心配しています。

答えて

2

私は自分のCMSエンジンを開発するのと同じ考えを持っていました。最終的に私はあなたと同じ基本的な解決策になりますが、論理プレゼンテーションの分離にはSmartyを使用します。

しかし、今ではしばらくしてから、私は、はるかに優れたソリューションを持っています。 Command Patternを使用してください。あなたのコードは、そうでなかったようなファイルではないクラスに分ける必要があります。すべてのクラスが実装するCommand Interfaceを確立する必要があります。このようにして、管理ページはFront Controler(別のデザインパターン)として動作します。

Front Controlerの責任は、コマンドオブジェクトをインスタンス化する必要があるこのアクションに従って、あなたのケース$ _GET ["action"]にあるあなたのページからすべての入力を集め、このswitch文の後に$コマンド - >実行();コマンドクラスに含まれるコードを実行します。あなたのexamleのために

あなたが持っているでしょう:などEditPageCommand、DeletePageCommand、NewPageCommand、

は、ファイル内のコードの分離を避けてください。すべてのクラスを使用してパターンを学習してみてください。 ;)

+0

私は以前にクラスで働いたことがありませんでした。:P – unrelativity

+0

ご質問がある場合はお試しください... – zidane

0

大きなファイルをいくつかの小さくモジュラ化したものに分割することは、常にIMOの良いアイデアです。

しかし、ロジックとプレゼンテーションが混ざらないように、HTMLテンプレートエンジンを使用します。 smartyをご覧ください。

+4

ロジックとプレゼンテーションを混合しないというアイデアは良いことですが、完全に優れたテンプレート言語(PHP)の上にテンプレートエンジン(スマート)を投げる必要はありません。 –

+0

どのように私はバックエンドとフロントエンドを一緒に働かせるかを考えることができるなら、私は方法を知らないので、テンプレートシステム。 – unrelativity

+0

@Paolo:十分に公正ですが、私がPHPについて嫌ったのは、HTMLのいたるところに散らばっている印刷文でした。あなたはこれを回避する方法を知っていますか? @ a2h:まず、変数や配列を集めて、{{title}}のような特別なタグを持つテンプレートをfillでコールします。 –

1

PHPでクラスを使用して、プロジェクトを論理モジュールに分割してみてください。その後、すべてのファイルを手動で更新する必要はありません。

関連する問題