e日記風 独り言

#気まぐれ & 気まま & 天邪鬼な老いぼれ技術屋の日々の記録のうち、パソコン技術やインターネット技術、プリンタやPCアプリからプログラム言語などに関連した記事です。
右端上端の同一カテゴリージャンプボタンで同じカテゴリーの他の記事を順番にご覧いただけます。
Access Counter:  総アクセス数
-1834- html中のphpに引数を渡す方法
立春について書こうかとも思ったが TVの気象予報士でもないのに、昨日 節分について書いて、今日また立春について書いたのではあまり能がないので、狭い話だが。
ホームページを書くのに、幾つかの新しいワザを見つけたのでメモ。
ホームページではどのページでもほとんど同じ文字列を使うことが多い。例えば私のページでもバックグラウンドの色やタイトルの表示のさせ方と言ったページのデザインを決める文字列はほとんど同じになるので、それらはテンプレートとして別ファイルにして各ページでは簡単な命令文でそのテンプレートを読み込むことで構造化した分かりやすい記述が可能になる。しかもデザイン変更したくなったらテンプレートのファイルだけを直せばよく、全てのページを直さなくて済むので例え何百ページあっても一発で済んでしまう。
方法はここで紹介されているようにいくつも有るが、私がぶつかった問題は ほとんど同じ文字列なのに特定の一箇所だけページ毎に異なるような場合。今まではその特定の文字列の前と後ろをわざわざ別のテンプレートファイルにしていた。しかし考えてみればその特定の文字列を引数としてテンプレートの表示処理に渡せれば解決するはず。
と言うことに最近気づいてアレコレ検索したら、phpなら出来ると分かった。しかし具体的に呼び出し元と呼び出される側の記述の仕方が私のパターンとピッタリ一致している説明がなくて、仕方なく何十通りものカットアンドトライをして見たがどうも上手く行かなかった。
それが上記のリンク先の説明中にヒントがあった。具体的には
呼び出し元の htmlファイルではテンプレート部分に
<?php $string='テーマ1'; include('./template.txt'); ?>
のようにして template.txt というファイルの文字列を読み込む際に $string という引数にページ毎に変化する文字列をセットして渡す。 template.txt ファイルの方では そのまま $string という文字列を使って例えば
<div>
<h1> タイトル: <?php print $string; ?> </h1>
・・・・
などとしてやれば、「タイトル: テーマ1」のような表示ができる。考えてみればphp の include はそのまま文字列をファイルから読み込んで HTML に渡すので、その文字列中に 再び phpの実行命令が含まれていても phpのprint文が実行されて表示に出力するので、変数のスコープさえ問題なければ文字列中の変数が置き換わるんだろう。

今日の写真はまた紅梅だがこれは枝垂。何とも趣のある樹形だ。やっと1~2輪咲き始めた。
2017/02/04
 
このページ(pdiary_1834.html)にコメント/質問をどうぞ
タイトル(30文字以内)
コメント
お名前(ID:10文字以内)
URL(HP or ブログをお持ちの方)
パスワード*
タイトル・コメント・ID は必須です
このページ(pdiary_1834.html)への今までのコメント/質問
このページにはまだ表示できる投稿がありません。

Back to Page top