弐条海月の とはずがたり

そこはかとなく書き綴るブログなるもの

「天橋立(AmanoHashidate)」の続き…

 そう言えば…「天橋立(AmanoHashidate)」で、HTMLのテンプレートを読み込む処理は当初、fopen関数を使うつもりでおりましたが、仕事仲間の氷翠さんが「もっと良い関数にfile_get_contentsがありますよ」と教えてくれました。

 fopen関数を使う場合は読み込んだ後、1行ずつ取り出して別の変数に加えていく処理が必要なのですが…

$tmp = @fopen ('読み込むファイル', "r") or die ("見つかりません!\n");
  while(!feof($tmp)){
    $tmp2.= fgets($tmp);
  }

 file_get_contentsなら1行で済むのですね。

$tmp2 = file_get_contents(_SITE_DIR . '/templates/'.$context['template']);

 それから、仕事仲間の Lifeさんが昨夜、私のサイトを見た時はページが表示されない状態だった…と教えてくれました。そうです。ちょうどその頃は必死になってテンプレートエンジンの置き換え作業をやっていたのでした。

 最初はローカルでテストしておりましたのに、誤ってサーバーに関連ファイルをアップロードしてしまいまして、現在公開中のサイトがまったく表示されなくなりました(笑)。

 テンプレートエンジンがいきなり「Smarty」から「天橋立」に変更になったのですから当然と言えば当然なのですが…全く持って大わらわです(大笑)。

 昨夜の調整作業は午前2時少し前にようやく終わり、「機動戦士ガンダムOO」2ndシーズン 第20話「アニュー・リターン」を観てから寝ました。色々と思うところはありますが、感想を書くと無駄に長くなりそうなので辞めておきますね。


「天橋立」機能追加…

 PHPとHTMLを分離できる自作のテンプレートエンジン「天橋立(AmanoHashidate)」の機能追加を行いました。仕事仲間の氷翠さんのアドバイスを受けながら、試行錯誤の末にキャッシュ機能を追加しました。これで一応はテンプレートエンジンらしくなったかな…と思います。 また、このサイト「プログラムとはずがたり」でこれまで使用しておりましたテンプレートエンジン「Smarty」を、コメント投稿ページやモバイル用のページにも使っていたことを思い出し(笑)、慌てて「天橋立(AmanoHashidate)」を使うようにプログラムを改造しました(笑)。

 私の中で「Smarty」に代わる自作のテンプレートエンジン「天橋立(AmanoHashidate)」は、自分で作っただけに「できること or できないこと」が明確に分かるため霧の中を進むかのような不安感がなく、使っていてとても気持ち良いです。

 いくら骨組みがガッチリと組まれ定評のある足場(例えばSmartyとか)がしっかりしていても、そこに乗る人(私)がしっかりしていませんと足場を有効に使うことなど到底できないわけです。

 一方、頼りなくハリボテ風な足場(自作テンプレートエンジン「天橋立」)でも、使う人(開発した私)が理解していれば、例えそれが針のような足場だとしても、決して落ちることはないのであります。

 そもそもプログラムは試行錯誤から生まれるものですし、そうした試行錯誤の繰り返し=プログラミングの作業、が楽しくてやっているのですから…。

 「天橋立(AmanoHashidate)」に追加したキャッシュ機能は、「Smarty」でも使われているものです。そもそもテンプレートエンジンのことを詳しく知っているわけではないのですが…ページをいちいち生成し直さなくとも、前回生成したHTMLページをキャッシュとして残しておいて、これを使うようにすれば動作が今以上に速くなると思うのです。

 また、開発時に一時的にキャッシュ機能をオフにできるようスイッチも付けました。「天橋立(AmanoHashidate)」やキャッシュ機能のことについては、いずれサブページ「PHPのこと」の中でまとめようと思います。

※この記事は過去のサイトから移行したものであり、
現在の内容とは異なっている場合がありますことをご了承下さいませ。


テンプレートエンジン「天橋立」完成…

 これまで使っておりましたPHPのテンプレートエンジン「Smarty」とお別れし、新たに自分で開発したテンプレートエンジンを使う事にしました。その名は「天橋立(AmanoHashidate)」です。

 「天橋立(AmanoHashidate)」は、PHPのソースとHTMLの構文を分離し、共通のHTMLテンプレートを使ってページを生成することを目的としたテンプレートエンジンです。PHP初心者の私が身の丈に合わせて開発したものですから、稚拙な仕上がりですし、テンプレートエンジンとしては最低限の置換機能しか持ち得ません。これがテンプレートエンジンと呼べる代物なのかどうなのか…その部分はさておき、思った以上に高速に動作しておりますので、初期の目的は果たせたと考えております。

 ちなみに、天橋立(あまのはしだて)とは、京都府宮津市は宮津湾にある砂洲のことです。白砂に流れるような松林が美しい景観を醸し出しており、日本三景のひとつです。そんな美しい景色の名称を、大胆にもテンプレートエンジンの名前として拝借したのには理由があります。

 夢のある話になりますが…天橋立を天の川を挟んで互いを想い合う織り姫と彦星を結ぶ橋であると仮定した時、織り姫をPHPに、そして彦星をHTMLに見立てるとその橋渡しを行うのが、言わずもがなテンプレートエンジンです。であるとするならば、天橋立という名よりふさわしいものが他にあるでしょうか?いや、ないに違いない。私はそう思ってやまないのです。

 まぁ…橋渡しが年に1回では困ってしまうのですが…(笑)。

 この「天橋立(AmanoHashidate)」は、構想から開発、完成まで3日ほどでこぎ着けました。我ながら上出来と思います。とにかく順調に進みましたのでひと安心といったところですが、ローカルでテストしておりましたのに間違えてサーバーにアップロードしてしまいまして(笑)、最終調整も終わらぬまま、現在公開中のサイトに影響が出てしまいました。テンプレートエンジンがいきなり変更になってしまったのですから、ページがまったく表示されなくなってしまって大わらわです(大笑)。

 ですので、慌ててテンプレートエンジンに関するサイト内の記述を見直し、変更すべき場所を書き直したのですが…どうも元の状態とは微妙に違っているような気がそこはかとなくしております(笑)。

 とりあえず表示だけでも元に戻して、細かい部分は後ほどやろうと思います。

※この記事は過去のサイトから移行したものであり、
現在の内容とは異なっている場合がありますことをご了承下さいませ。


固定ページ

最近の投稿

カテゴリー





カレンダー

2024年4月
1234567
891011121314
15161718192021
22232425262728
2930  

過去の日記はこちら

キーワードで検索