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


8

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

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

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

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

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

回答:


13

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

1.初心者向けの紹介

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

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

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

だから、短い答えとして:開くことを期待していないFTP /ファイルマネージャアプリを:と呼ばれるファイルを見つけるmyArticle.htmlか、index.htmlそれはあなたがそれを直接編集したり、ページのHTML要素の外観を変更できます。

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

初心者向けリソース

役立つリソースとチュートリアルのトピックは、
Joomlaの初心者向けチュートリアル-Joomlaで始めるにはどうすればよいですか?


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

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

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

Joomlaの道具様々な高度なプログラミングの概念、オブジェクト指向プログラミングMVCデザインパターンと他の一般的なデザインパターン、テンプレートシステムなどもJoomlaのは、を使用することを言及するのを忘れないように、データベース上に表示されるように要求されたときにデータを保存し、検索されています画面。


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

あなたはに達するとindex.phpJoomlaのサイト(フロントエンドJSiteアプリケーション)の、全く新しい実行サイクルを開始し、含まれています:

  • 重要なのは、アプリケーションとその拡張機能全体で広く使用されているアプリケーションの定数を定義するファイルです。
  • ロードJoomlaのフレームワークをし、そのすべての基本的なクラスがある場合に適用するために必要な道路、また-theフレームワークのチェックをダウン動作するように設定ファイルの場所で、またはそれは新しいJoomlaのインストールを行うためのインストールフォルダに私たちを取る必要があります。
  • アプリケーションオブジェクトが作成され、初期化およびセッション状態は(新規又は既存のセッション)処理されています。
  • コンフィギュレーション・ファイルがロードされている-また、データベースへのアクセスを提供しています。
  • ルータは呼ばれています。ルーターは、URLコマンドの連想配列に、またはその逆に変換します。これらのコマンドはURLパラメータとして使用され、完全なURLを構成するためにPHPの$_GETSuperGlobalに送信されます。optionこの配列の要素は、実行されるコンポーネントを定義するものです。
  • コンポーネントの実行により、ドキュメントオブジェクトが作成されます。ドキュメントはメモリに格納され、後でブラウザに返されるデータを保持します。メモリにバッファとして格納されるという事実により、コンテンツを特定の順序でどこからでも配置および操作できます。選択したテンプレートが構成に保存されました。また、Joomlaがしている唯一のことはコンポーネントを実行することです。このステップで他に起こるべきことは、コンポーネントの仕事です。
  • 次は、ページのレンダリングです。前のステップのコンポーネントデータとともに、モジュールと通知メッセージもレンダリングされ、テンプレートの位置に配置されます。
  • 最後のステップは、ページをブラウザ出力することです
  • 上記の実行サイクルのさまざまな段階で、さまざまなイベントがJoomlaの機能を妨害および拡張できるようにするプラグインイベントポイントが呼び出されることに注意てください

プラグインイベントを含むより詳細な実行フローリストは、ここに記載されています:Joomlaアプリケーション実行フロー


4.補足リソース:


1

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


小さいが便利
FFrewin

多分あなたはそのページの最も重要な部分をここに書くことができます
FFrewin

@FFrewin私はそうしますが、基本的には各プラグインイベントのリンクの長いリストです!私はこのリストのすべてのイベントの一種の「タイムライン」を見つけようとしていますが、それについて多くを見つけることができません。多くのグーグルとJoomlaアプリケーション実行フローがいくつか言及した後、私はここであなたの答えにつまずきましたSystemグループのイベントですが、他のすべてについてはそれほどではありません。
グルーバー

@FFrewin は、プラグインイベントのすべての異なるグループの概要説明のようなものにも役立ちますが、Joomlaのドキュメントではあまりわかりませんでした(GoogleFuが最近欠けていることを認めているのはなぜでしょうか? P)
グルーバー2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.