web-dev-qa-db-ja.com

リクエストがindex.phpに到達した後、ブラウザーの最終出力までJoomla実行フローとは何ですか?

この質問に基づいて:テンプレートはどのように機能し、css/jsファイルをロードしますか?Purity IIIを使用したWebサイト構築プロセス

見積もり:
....私は自分のウェブサイトを明日提示する必要があり、「コンテンツはどこから来たのですか?」自分ではわからないので答えられません。

サイトに電話するとどうなりますか? index.phpファイルにはphpコードがありますが、ウェブサイトの残りの部分が「呼び出される」か何かになる場所を見つけることができません。

また、このような質問の種類について:Joomlaファイルの場所

同様の質問すべてのリファレンスとして機能するように、このQ/Aを作成することにしました。これを確実なコミュニティWiki投稿にするために貢献したい方はどなたでも歓迎します。

8
FFrewin

回答の目次
1。初心者向けの紹介+初心者向けリソースのリンク
2。 Joomlaアーキテクチャについて
3。 Joomla実行フロー-Joomlaの仕組み
4。補足資料

1.初心者向けの紹介

Joomlaをサイト構築に使用することは、フレンドリーな管理領域を提供するため、かなり簡単です。ほとんどの場合、これはエンドユーザーとデザイナーのために知る必要があるすべてです。

古典的な静的htmlとcssについてある程度の知識を持っている多くの初心者は、同じ共通の質問/期待を持っています。ブラウザでレンダリングされているのを見て、ファイル/コンテンツを編集する方法。

ただし、 Joomlaがバックグラウンドで動作する方法は、htmlファイルを編集するよりもはるかに複雑であり、完全に理解するには高度なプログラミング知識と経験が必要です。

したがって、短い答えとして: FTP/File manager app を開いて、myArticle.html、またはindex.htmlというファイルを見つけて、直接編集するか、ページのhtml要素の外観を変更します。

まず、最初に Joomla の基本と、それをバックエンドから管理する方法を学ぶことをお勧めします。ゆっくりと、ゆっくりと、より多くの知識と経験が得られます。

初心者向けリソース

役立つリソースとチュートリアルのトピックは、次の場所にあります。
Joomla Beginner Tutorials-How to start with Joomla?


2. Joomlaアーキテクチャについて

Joomla は、PHPで構築された最新のCMS よりも優れています。これは、マルチレイヤーアーキテクチャを組み込んだ高度なWebプロジェクトで、次のものが含まれます。

  • Joomlaフレームワーク-フレームワークが依存するサードパーティライブラリ、およびフレームワークを拡張するプラグインを含みます。
  • 個別のWebアプリケーション管理者サイト、フロントエンドサイト、インストールと同様。
  • Joomlaフレームワークとアプリケーションを拡張する拡張レイヤー(モジュール、コンポーネント、テンプレート)。

Joomlaは、さまざまな高度なプログラミング概念、オブジェクト指向プログラミング MVC設計パターンおよびその他の一般的な設計パターン、テンプレートを実装していますsystem など。また、Joomlaは database を利用して、画面に表示するように要求されたときにデータが保存および取得されることを忘れないでください。


3. Joomlaの実行サイクルの簡単な説明-Joomlaの仕組み

Joomlaサイト(フロントエンドJSiteアプリケーション)のindex.phpに到達すると、まったく新しい実行サイクル開始、これには以下が含まれます:

  • アプリケーションの [〜#〜]定数[〜#〜] を定義するファイルの重要なインクルードは、アプリケーションとその拡張機能全体で広く使用されています。
  • Joomlaフレームワークおよびアプリケーションが実際に機能するために必要なすべての必須の Classes をロードします-フレームワークもそこにあるかどうかをチェックします設定ファイルが適切に配置されているか、Joomlaの新規インストールを行うためにインストールフォルダーに移動する必要があります。
  • Application object が作成および初期化され、セッション状態が処理されます(新規または既存のセッション)。
  • configuration ファイルがロードされます-これはデータベースへのアクセスも提供します。
  • routerが呼び出されます。ルータは、 URLs コマンドの連想配列に、またはその逆に変換します。これらのコマンドはURLパラメータとして使用され、完全なURLを構成するために PHPの$_GET SuperGlobal に送信されます。この配列のoption要素は、実行されるコンポーネントを定義するものです。
  • コンポーネントの実行により、Document Objectが作成されます。ドキュメントはメモリに格納され、後でブラウザに返されるデータを保持します。バッファとしてメモリに格納されるという事実により、コンテンツを特定の順序で、どこからでも配置および操作できます。選択した template が構成に保存されました。また、Joomlaが実行しているのはコンポーネントを実行することだけであることにも注意してください。このステップ中に他に何が起こるべきかは、コンポーネントの仕事です。
  • 次は PageのRendering です。ここでは、前のステップのコンポーネントデータと共に、モジュールと通知メッセージもレンダリングされ、テンプレートの位置に配置されます。
  • 最後のステップは、ページをブラウザに出力するです。
  • 重要な注意事項上記の実行サイクルのさまざまな段階で、プラグインイベントと呼ばれるポイントが呼び出される、さまざまなイベントがJoomlaの機能を妨害および拡張できるようにします。

プラグインイベントを含むより詳細な実行フローリストは、ここに文書化されています:Joomla Application Execution Flow


4.補足リソース:

13
FFrewin

小さな貢献、Joomla!プラグインイベントの完全なリスト。

1
Gruber