これまでに作成したプログラムを少し整理しましょう。プログラムを整理する際、特に気をつけることはファイルにしろ、関数にしろ、名前の関係です。特にオブジェクト指向プログラミングでは、いかに名前の関係を構築するかが最も重要な指針になります。
プログラムの整理するにあたり、幾つかphpファイルを作成します。下記のファイルをまず作成しましょう。
アプリケーション全体で使用する各種設定情報と/includes/classes/
ディレクトリ内のPHPファイルを動的にrequire_once
します。また今後の講座で、アクセスログの登録処理や、ページごとの権限にようるアクセス制御、エラーハンドラー等も追加していきます。
sitemap.jsonを読み込むような外部データを扱う処理をここで管理します。
データベースに関しては別の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
について解説します。