業務アプリ開発講座

MasterHtmlTagの管理生成方法

これまでに作成したプログラムを少し整理しましょう。プログラムを整理する際、特に気をつけることはファイルにしろ、関数にしろ、名前の関係です。特にオブジェクト指向プログラミングでは、いかに名前の関係を構築するかが最も重要な指針になります。

プログラムの整理するにあたり、幾つかphpファイルを作成します。下記のファイルをまず作成しましょう。

/includes/Init.php

アプリケーション全体で使用する各種設定情報と/includes/classes/ディレクトリ内のPHPファイルを動的にrequire_onceします。また今後の講座で、アクセスログの登録処理や、ページごとの権限にようるアクセス制御、エラーハンドラー等も追加していきます。

/includes/classes/AppData.php

sitemap.jsonを読み込むような外部データを扱う処理をここで管理します。
データベースに関しては別のPHPプログラムを用意します。

/includes/temp-html/TempMasterHtml.php

html headのように、HTMLタグのテンプレートをここでまとめて管理します。

上記のプログラムの内容を書く前に、前回までに作成したAppMasterHtml.phpに記述した関数をClass化します。

class AppMasterHtml{
	public static function htmlHeader(){
	}
	public static function navHeader(){
	}
	public static function errorLog($err){
	}
}

作成済みの関数全体をclass AppMasterHtmlで囲み、各関数のの頭にpublic staticを書き加えいます。これで、class化できました。classの作成は基本的にこれだけです。classについての詳細は今後の講座で解説しますので、ここでは形と要素の名称だけ示しておきます。

classの中身、要素はプロパティ(属性)とメソッド(関数)で構成されます。その構成要素全体を指してメンバと呼びます。プロパティとメソッドは大雑把に言うと、「プロパティ = データ」、「メソッド = 処理」となります。class AppMasterHtmlはメソッドだけで構成されていますね。
この変更に合わせてindex.phpのソースも変更します。

<?= htmlHeader() ?>
<?= navHeader() ?>
	↓
<?= AppMasterHtml::htmlHeader() ?>
<?= AppMasterHtml::navHeader() ?>

に変更します。ちなみにAppMasterHtml::htmlHeader()は、「AppMasterHtml クラス内のstaticメソッド、htmlHeader()を呼び出す」という意味になります。

次回は新たに作成した/includes/Init.phpについて解説します。