SimpleTemplateを使用すると、PC・スマートフォン両対応のWEBシステムを構築することが出来ます。
具体的に、クライアント端末のユーザエージェント情報に従って、PCとスマートフォンで表示するテンプレートを振り分ける処理を考えてみます。
【PHPファイル】 // SimpleTemplateクラスのインクルード require_once('SimpleTemplate.class.php'); // SimpleTemplateインスタンスの生成 $template = new SimpleTemplate(); // PCとスマートフォン端末との振り分け処理 // スマートフォン端末用フラグの初期化(true='smartphone'/false='PC') $agent = $_SERVER['HTTP_USER_AGENT']; if (strpos($agent, 'iPhone') !== false && strpos($agent, 'iPad') === false) { $isSmartphone = true; } elseif (strpos($agent, 'iPod') !== false) { $isSmartphone = true; } elseif (strpos($agent, 'Android') !== false) { $isSmartphone = true; } else { $isSmartphone = false; // PC } // テンプレート格納ディレクトリの設定 if ($isSmartphone) { // スマートフォン端末の場合のテンプレート格納ディレクトリ $template->template_dir('./templates/smartphone'); } else { // PCの場合のテンプレート格納ディレクトリ $template->template_dir('./templates'); } // テンプレートファイル記述エンコーディングの指定 $template->setTplEncoding('UTF-8'); // 出力エンコーディングの指定 $template->setOutputEncoding('UTF-8'); // PC・スマートフォン共にUTF-8で出力
上記例では、PC・スマートフォン共に①テンプレートファイル記述エンコーディング、及び、②出力エンコーディングをUTF-8に設定して、表示するテンプレートファイルのみをPCとスマートフォンで切り替える処理となります。
スマートフォンでは、スマートフォン画面用に設計したHTMLファイルを使用する必要があるため、例のようにスマートフォン端末からのアクセスの場合に、スマートフォン専用のテンプレートファイルを出力処理を実装するとPC・スマートフォン両対応のWEBシステムを構築することが出来ます。
また、上記例では出力するテンプレートファイルのみを切り替える処理のため、PHP側のロジックをPC・スマートフォンで共用することになります。PCとスマートフォンで画面が1対1に対応する場合などは、コードの効率化・省力化にもなると思われます。
※PCとスマートフォンで画面が1対1に対応しない場合は、スマートフォン専用画面のPHPロジックファイルを用意した上で、displayするテンプレートファイルをスマートフォン専用のファイルに設定する必要があります。