ホームページ > バックエンド開発 > PHPチュートリアル > Typecho CMS フレームワークに基づいて大規模および中規模のアプリケーションを開発

Typecho CMS フレームワークに基づいて大規模および中規模のアプリケーションを開発

WBOY
リリース: 2016-07-29 09:12:38
オリジナル
1207 人が閲覧しました

Typecho CMS フレームワークに基づいて大規模および中規模のアプリケーションを開発します

大規模および中規模のアプリケーションは、一時的に次のように定義されます: 3 つ以上のデータ テーブルを持つアプリケーション!汗を流せ!

Typecho は元々ブログシステムであり、市販されている一般的な MVC フレームワークとは異なり、メインコードは自作の Widget を基底クラスとしており、全体は非常にシンプルです。

Typechoの基本的な特徴は以下の通りです:

  1. 単一の入口
  2. DB設定を除き、他の設定はDBに保存されます
  3. ルーティング設定もDBに保存されます
  4. 独自に作成したWidget層、いいえ従来のモデルレイヤー
  5. 従来のコントローラーレイヤーと同様に、独自のアクションレイヤーを作成します
  6. フックメカニズム
  7. プラグインには、既存のフックハンドラーを登録し、既存のウィジェットを拡張し、新しいフロントエンドを登録するメソッドが含まれています。新しいアクションをマップするためのルート。バックエンド管理インターフェイスを登録します
  8. UI テーマをサポートします

なぜ Typecho に基づいてアプリケーションを開発する必要があるのですか

私は Typecho の公式開発者ではなく、関連するバックグラウンド ユニットのセグメントで働いているわけでもありません。 、なぜこのニッチなフレームワークを使用する必要があるのでしょうか?

実際、Typecho を使用する必要はありません。PHP の世界にはフレームワークが多すぎるため、より高度なフレームワークを選択できます。

いつから自分が「ニッチな」患者であり、ありきたりな道を進むのが好きではないことに気づき始めました。 Linux がデスクトップの分野では十分にニッチであるのと同じように、私はさらにニッチな FreeBSD を使用するのが好きです。

これは単なる私の試みです。

実践

原則: MVC モデルに基づいて、サービス層を追加します。

  1. C レイヤー

前に述べたように、Typecho は C レイヤーの基礎となる独自の Action コンセプトを作成しましたが、Action には明確な定義がありません。そこで、Controller の基本クラスを定義します。

  1. M層

Typechoにはモデルの概念がなく、すべてのSQLクエリが直接呼び出されます。したがって、Model 基本クラスも定義する必要があります。

  1. V レイヤー

View ファイルは View のコンテンツ キャリアです。学習コストを削減するために、テンプレート エンジンは導入されなくなりました。つまり、PHP 構文 が直接使用され、C に直接インポートされます。実行。

  1. サービス層

複雑なアプリケーションにおける MVC の最大の問題は、再利用可能なコードが十分に洗練されていないことです。C 層が太すぎる人もいれば、M 層が太すぎる人もいます。サービス ビジネス レイヤーの導入により、ビジネス レイヤーを洗練してカプセル化し、コードの再利用を最大限に高めることができます。

デモプロジェクト: Typecho Alumni プラグインプロジェクト

コードアドレス: https://github.com/web3d/plugins/tree/master/Alumni

プロジェクトコード構造:

/plugins/Alumni/Base/ Action.php|Model.php|Service.php|Helper.php
/plugins/Alumni/Model/
/plugins/Alumni/Service/
/plugins/Alumni/Action/
/plugins/Alumni/views/default/

/plugins/Alumni/Plugin.php
/plugins/Alumni/panel.php

==========
続く...

上記では、PHP の構文や github のコンテンツを含め、Typecho CMS フレームワークに基づいた大規模および中規模のアプリケーションの開発について紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート