CodeZine(コードジン)

特集ページ一覧

PHP、MySQL、JavaScriptによるセキュアなインターネットファイル共有システムの作成

Smartyを利用したテンプレートとロジックの分離

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/07/01 14:00

ダウンロード サンプルソース (14.8 KB)

目次

overLIBとポップアップメニュー

 PHPコードがサーバーサイドですべての処理を行わなければならない場合は、ワークフロープロセスが長くなりすぎるかもしれません。インタラクションを若干短縮するソリューションとしてJavaScriptのポップアップがありますが、JavaScriptを構成に挿入すると、許容しがたいエントロピーが生じて、ビジネスロジックとテンプレートロジックとの分離が著しく損なわれます。Smartyには、overLIBという非常に便利で強力なJavaScriptライブラリが埋め込まれています。SmartyのWebサイトによると、overLIBは「小さいポップアップ情報ボックスでWebサイトを拡張するために作成されたJavaScriptライブラリ」だそうです。

 Smartyは、overLIBを非常に単純な{popup ... }という構成体と統合します。ファイル「inc.file_list.tpl」で、overLIBの実際の使用例を見ることができます。

{include file='files.pop.tpl' assign='filePop'}
...
<a href="{$smarty.server.PHP_SELF}?id={$file.id}&not_crypted=1" 
{popup 
    trigger=onClick
    width=360
    sticky=true 
    caption='Action'
    closeclick=true
    text=$filePop
}
>{$file.filename}</a>
... 

 このコード例は、overLIBポップアップを1つの命令に接続する方法を示しています。ここに示したすべてのoverLIBパラメータを設定することで、ポップアップ用のHTMLコードを別のファイル「files.pop.tpl」に分離することができます。

PHPコードの改良

 コーディング中に適切なインデントやスペーシング規則を設定することはなかなか大変です。この目的には、PEAR PHP_Beautifierが大いに役立ちます。インストール方法は次のとおりです。

pear install PHP_Beautifier

 使用するときには、コマンドラインで次のコマンドを実行します。

php_beautifier [some_file].php --output new_file.php

 出力結果の「new_file.php」ファイルは適切に整形され、読みやすさが大きく向上します。

 さらに、PEARには、一連のコーディング標準も用意されています。たとえば、フィルタのメカニズムを使ってコードをフォーマットするには、次のように実行します。

php_beautifier --filters "Pear()" [some_file].php --output new_file.php

 私はもともと、自分の専門外であるHTMLやCSSのコーディングを避けて、経験豊富なグラフィックデザイナにプレゼンテーションを簡単に任せられるようにするために、小さいインターネットファイル共有アプリケーションのプレゼンテーションをロジックから切り離す方法を探していました。そこで結果的にできあがったのが、データベース抽象化レイヤを使い、オープンソースのライブラリとフレームワークを取り入れてHTMLのデザインをPHPプログラミングから切り離した実践例です。この例を活用することで、ユーザーが安心してファイルを共有し、タグとメタデータでファイルを分類できるインターネットファイル共有アプリケーションを作成することができます。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:japan.internet.com翻訳記事

もっと読む

著者プロフィール

  • Roberto Giorgetti(Roberto Giorgetti)

    イタリアに拠点を置くITマネージャ、テクニカルライター。主にビジネス分野と工業分野でオープンソースの開発に従事。核工学の学位を持つ。

  • japan.internet.com(ジャパンインターネットコム)

    japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.com や EarthWeb.c...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5