ホームページ  >  記事  >  CMS チュートリアル  >  phpcms と Empirecms の違いは何ですか?

phpcms と Empirecms の違いは何ですか?

angryTom
angryTomオリジナル
2019-07-18 13:31:444612ブラウズ

phpcms と Empirecms の違いは何ですか?

まず、cmsを選ぶときにどのような点を考慮すべきかを皆さんにリストアップしましょう

1)プログラムは安全ですか? 安定していますが、バグは頻繁に発生しますか

# 2) プログラムは使いにくいです

# # 3) プログラムによって生成される静的速度は十分に速いですか?

4) プログラムのテンプレートはたくさんありますか、テンプレートは適切ですか?

5) プログラムの負荷能力は強いですか?

6) プログラムモジュールはたくさんありますか? もしあるなら、ありますか? 不動産モジュール、イエローページモジュール、機密情報モジュール、質疑応答モジュールなどがあるかどうか。

7) プログラムの二次開発は柔軟ですか

#二次開発が得意、または好きな人は、まず柔軟性を考慮します。一般のユーザーは、プログラムが使いやすいかどうか、テンプレートのタグがシンプルかどうかを重視しますが、単純ではないため、CMS の選択の焦点は基本的に次の 2 つの側面に集中します。二次開発の柔軟性とテンプレートタグの使いやすさ。

1.二次開発の観点から:

PHPCMS(2008年版)

は開発フレームワークのようなもので、成熟した製品とは程遠いものです。私は PHPCMS の二次開発を使用して 5 つまたは 6 つのプラットフォームを構築しました。新しくリリースされた PHPCMS2008 バージョンから、および現在の PHPCMS2008 sp4 バージョン (pcv9 は評価されません。開発の初期段階で多くのテストを行い、いくつかのフィードバックを提供しましたが、正式バージョンは使用していません) 同じ問題に遭遇するたびに、私はいつも呪います。低レベルのエラーは随時修正され、現在は正式な開発は中止されており、リリース当時のバグも多数残っています。それにもかかわらず、PHPCMS が依然として推奨される CMS である理由は、非常に柔軟であり、必要に応じて変更でき、思いついたときにすぐに実行できるためです。私の意見では、PHPCMS は極端な例です。つまり、二次開発を第一に考慮するのであれば、PHPCMS が良い選択です。 PHPCMS で任意のデータを読みたい場合は、SQL を記述し、テンプレート内の GET タグで呼び出すだけで済みます。テンプレートだけでは不十分な場合は、対応するテンプレートを追加するだけで済みます。同じ名前の PHP ファイル内で何らかの処理を行うだけです。ヘッダーで common.php ファイルを参照し、テンプレート参照関数を呼び出してテンプレートを参照し、テンプレートと同じ名前の HTML ファイルを作成するだけでも、PHPCMS に基づいて多くの機能を実現できます。

Empire CMS

、公式スローガンは考えるだけでできますが、と思いましたが、Empire CMS の簡単な機能要件の修正やプラグイン開発から判断すると、Empire CMS は私の考えとはかけ離れていて、Empire の開発思想によって制限されており、機能も非常に小さいものがあります。また、帝国の中核プロセスの大規模な見直しも必要となる。 「ページネーションに応じて異なる表示を実現するために、コンテンツ ページのページ番号を取得したい」という単純な要件を考えます。この要件については後ほど説明しません。単純にコンテンツ ページのページ番号を取得するという点では、はほとんど不可能です。おそらく、なぜでしょうか? まず、このタグがありませんし、変数も提供しません。フォーラムの多くの人がこの必要性について言及しましたが、解決できませんでした。2 番目に、テンプレート タグの解析方法帝国は古い東儀の考え方であり、それがプログラムです。まず HTML を含む各タグの結果を処理し、次にデータベースに保存されているテンプレートを読み出し、内部のタグを 1 つずつ置き換えます。基本的に、コンテンツ上のすべてのタグは、ページは特殊な処理を経て実装されているため、結合度が高すぎて汎用的に使用できないコードがほとんどです。 (現在、主流のテンプレート エンジンは、まずタグを解析およびコンパイルしてからキャッシュします。タグは実行可能な PHP プログラムになっています。その後、プログラムがデータを処理した後、テンプレート キャッシュを直接呼び出して実行します。タグはすべて 1 つのプロセスで処理されます。統一された方法で、汎用性が高いです。)そして、各ラベルが丁寧にパッケージ化され完成されているため、非常に簡単で安定して使用できます。指示に従って入力する限り問題はありませんので、帝国性能、安定性、使いやすさはとても良いです。 たとえば、Empire CMS を使用してブティック ストーリー Web サイト (http://www.pmume.com) を作成している友人がいます。彼は、以下に示すコンテンツ ページ。ナビゲーション。

調べてみると、インペリアル フォーラムにはこのニーズを抱えている友人がたくさんいることがわかりましたが、基本的に良い解決策は見つかりませんでした。次に、Empire ラベルのコードを調べたところ、実際にはコンテンツ ページ ページング ドロップダウン ナビゲーション ラベルが組み込まれています。本来、一般的なプログラムの考え方は、データとテンプレートを分離し、データをうまく処理し、その他の表現形式(ドロップダウンリストであれ、通常のテキストリストであれ)はテンプレートに任せることですが、Empireではそれが異なります。処理については、functions.php と t_functions.php のファイルにこのタグを処理する別の関数を記述し、HTML をしっかりと封印して全員に提示します。コンテンツ ページのページネーション タイトル ナビゲーション リストを実装するために、私は彼のタグの実装に従い、これら 2 つのコア ファイルを変更してそれを実現しました。実際、他の CMS では、まず PHP ファイル内の記事のページネーション タイトルを解析し、それを配列変数として記録し、テンプレート内のループ タグを使用してループするだけで、どのように表示されますかあなたが欲しいのです。 (詳細については、http://bbs.chinaz.com/CMS/thread-2020475-1-1.html を参照してください)。

Empire CMS と PHPCMS はどちらもモデルをカスタマイズする機能を備えていますが、フィールドのカスタマイズという点では Empire の方が使いやすく、初心者にも適していますが、PHPCMS は機能的には問題ありません。一部の設計は、セカンダリ テーブルにのみ存在できるフィールドを定義するなど、それほど合理的ではありません (PCV9 は改良されました)。 Imperial CMS の各モデルは、個別のデータマスターテーブルと補助テーブルです。異なるモデル間のデータ ID 間に相関関係はありません。問題は、異なるモデルに同じ ID を持つ記事が存在することであり、これが非常に複雑です。今日、編集者が Empire CMS プラグインを設計していたとき、このような設計の欠点を痛感しました。 PHPCMS では、すべてのモデルがメイン テーブルを共有し、サブテーブルは個別に使用されます。つまり、モデルに関係なく、すべての論文のタイトル、要約などの情報が統一されたテーブルに格納されます。これにより、全体のデータ呼び出しが非常に便利になります。この欠点も明らかです。カスタム フィールドはセカンダリ テーブルにのみ配置できます。カスタム フィールドをデータ呼び出しの条件または検索条件として使用したい場合、それは非常に困難です。2 つのテーブルとクエリを共同で実行する必要があります。記事全体のデータを読み出す 基本的には変わりません。

つまり、それほど高度ではない PHP があれば、PHPCMS を使用して、不動産モデル、質疑応答モデル、自動車モデルなどのさまざまなモデルを簡単に設計できます。モデルのフィールドが何であるか、およびプロセスがどのようなものかを理解している限り。バックグラウンドでモデルを構築し、list.php と show.php をコピーし、個人的な変更を加えて、HTML ファイル テンプレートをアップロードします。擬似静的になりたい場合は、単に擬似静的になるだけです。静的を生成すると静的が作成されます。また、Empire を二次開発に使用する場合、モデルのカスタマイズやバックグラウンドでのテーブルの構築も簡単に行えますが、データ処理処理の柔軟性に欠けるため、データ操作クラスとデータ操作を使用した後は、それに慣れる必要があります。テンプレートの処理に関しては、テンプレートを読み込んで、変数ラベルを置き換える関数を記述するだけです。静的に生成したい場合は、コンテンツ ページの元の静的生成関数は汎用ではないため、単純に静的生成クラスを自分で作成します。一言で言えば、とても面倒です! PHP は自分で書いた方が良いです。

#2. プログラム安定性テンプレート タグの使いやすさの観点:

PHPCMS のタグはすべてプログラマーの考えで実装されています。ホームページとリスト ページの TAG タグと GET タグは、実際に SQL ステートメントを生成し、実行する関数に解析します。コンテンツ ページのタグの実装は変数です。つまり、データベース内のデータが PHP 制御ファイルで読み取られ、フィールド タイプに従ってクリーンなデータに処理されて、変数に配置されます。その後、これらの変数は PHP コンテンツ ページ テンプレートで直接使用されます。論理的な判断もOK、それ以降の関数処理は好きにやってもいい、という方がプログラマの考えに沿ったものです。しかし、テンプレートを変更するにはPHPの論理的思考やSQL文の理解が必要であり、PHPCMSの一部のモジュールに明らかなバグが残っていることから判断すると、それらのモジュールを使用している人は少ないと判断できます。 (もちろん、PCV9 では大幅な改善が行われているはずですが、ここでは説明しません。)

EmpireCMS のタグは、伝統的な意味で最も本物のタグです。 Dongyi (ASP 型 CMS) のラベル処理の考え方はよく似ていますが、このラベルは何を表しているのでしょうか? プログラムが処理した後、直接置き換えられます。非常に使いやすく、Empire は細部まで優れています。使用できるすべてのタグはテンプレートの下部に注意深くマークされています。ウェブマスターの友人は指示に従ってタグを追加するだけで済み、手間が省けます。安心をもたらします。

欠点は、タグが単なるラベルであり、クリーンなデータではなく、処理にパーソナライズが欠けていることです。Empire CMS テンプレートは PHP もサポートしていますが、テンプレート生成メソッドが解析されないためです。変数は PHP に変換されてから処理されますが、ラベル データは生成時に処理および置き換えられるため、制限も明らかです。

友人のブティック ストーリー Web サイトが Imperial CMS を使用して構築されていると上で述べましたが、この友人はプログラムを全く理解せずに Imperial CMS を使用して Web サイトを構築したため、実際に推奨されたと記事に記載されていました。これは、Empire が細部にわたって非常に良い仕事をしたことも示しています。

上記はかなりナンセンスですが、基本的な意味は次の 2 点です: 二次開発をあまり必要としない友人には、Empire CMS を使用するのが比較的良いでしょう, など、二次開発には比較的良いでしょう. 開発要件が多く、PHP に精通している友人は、フレームワークとして PHPCMS を使用できます. バグは問題にならず、変更するのは楽しいです.最悪なのは、それが帝国のように死ぬまで書き記されており、変更できないことです。

もちろん、この記事では主に Imperial CMS と PHPCMS を抽出しており、DEDECMS を使用している学生のことは無視しているようですが、実装の観点から見ると、私が会ったウェブマスターの友人のほとんどは今でも DEDECMS を使用しています。 , この CMS の安定性とラベルの使いやすさは、Empire CMS と PHPCMS の中間に位置します。編集者は、友人にいくつかのヒントを提供したいと考えて、ここでは両極端のみを分析します。



#

以上がphpcms と Empirecms の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。