*画面作成について [#pee32382] Magic3フレームワークでは、Magic3の[[基本思想]]に基づいて、非常に単純な仕組みで個々のモジュールが結びついています。~ このページでは、Magic3の画面生成方法から、フレームワークの役割とモジュールの結びつき方をより理論的にについて説明していきます。~ Magic3では、画面を動的に生成する方法として、Web画面を視覚的に矩形で区切った単位を[[ウィジェット]]という名前の部品とし、~ 「福笑い」のように[[ウィジェット]]を切り貼り的にレイアウト可能とすることによって、自由自在に画面が構築できます。~ この仕組みを実現するために、Magic3では画面定義テーブルと、画面マネージメントの仕組みを内包しています。 *[[ウィジェット]] [#b662e395] [[ウィジェット]]を単体でみたとき、[[ウィジェット]]自体は、index.phpで起動され単にテキストを出力するだけのプログラムです。~ 以下の図のように、[[ウィジェット]]ごとにディレクトリに分けられ、それぞれのディレクトリにindex.phpから始まるプログラムが格納されています。~ (Magic3全体の[[ディレクトリ構成]])~ 個々の[[ウィジェット]]は、完全に独立して存在します。互いに依存性はありません。~ 出力するために必要とする資源に関しては、個々の[[ウィジェット]]の自由になっています。~ DBからデータを取得してもかまいませんし、まったくDBにアクセスしなくてもかまいません。~ Magic3フレームワークからは、個々の[[ウィジェット]]のindex.phpを起動し、その出力を取得するだけです。 #ref(http://www.magic3.org/doc/add_image/managescreen1.gif,nolink) *デザインテンプレート [#od60c3f8] [[ウィジェット]]が「福笑い」の目や鼻などの部品とすると、土台となるのっぺらぼうの顔の輪郭の絵にあたるものが、デザインテンプレートです。~ デザインテンプレートの土台の上に[[ウィジェット]]を配置していくことで、Web画面を構成します。~ デザインテンプレートは、HTML,CSS,画像等で生成され、サイトの基本デザインを形成するものですが、~ 以下の図のように任意の文字列で位置を示すタグが含まれています。タグ名と画面上の実際の位置は自由に定義します。 #ref(http://www.magic3.org/doc/add_image/managescreen2.gif,nolink) *画面マネージメント [#z7c4fc87] 上記のように、単にHTMLを吐き出すだけのプログラムである[[ウィジェット]]と、埋め込み位置を示すタグを埋め込んだHTML~ であるテンプレートの組み合わせを管理し、出力する仕組みがMagic3の画面生成の中核です。~ 画面構成を管理するDBには、タグ名と[[ウィジェット]]名の対応マッピングが格納されています。~ Magic3フレームワークは、画面生成時にこのマッピングテーブルの対応を読み込み、テンプレートに[[ウィジェット]]の出力を埋め込んでいきます。~ 埋め込み方法は、タグポジションに関連した[[ウィジェット]]をインデックス順に起動し、出力を埋め込むといった単純な仕組みです。~ 次にページの概念[[ページ]]を説明します。~ #ref(http://www.magic3.org/doc/add_image/managescreen3.gif,nolink) *その他[#i88a656b] -[[画面の作り方]]- 運用としての画面作成方法はこのような作業になります。