山田 祥寛 著
本書は、PHPのテンプレート・エンジン『Smarty』の入門書です。PHPだけではなかなか実現できなかったスマートでスムーズなWebアプリケーション開発を、Smartyで実現してみましょう。本書では単なる構文解説ではなく、どのような状況でその構文を利用するのか、パフォーマンスや保守性、セキュリティまでを考慮したさまざまなテクニックを随所に織り交ぜています。実際のアプリケーション構築を多分にイメージしつつ、読み進めることで更に理解が促進されるはずです。本書が、Smartyを学ぼうとしているあなたの第一歩となれば幸いです。(Windows、Linux対応 CD-ROM付き)
【動作確認環境】
Windows XP / 2000 / Windows Server 2003 Fedore Core 3
PHP5.0.3 Apache2.0.53 Smarty2.6.7
00:イントロダクション
01 What is PHP?
PHPでなにができるのか?
他サーバサイド技術との比較から見るPHPの優位性
02 テンプレート・エンジンSmartyを理解する
標準的なPHPプログラミングの問題点
テンプレート・エンジンの必要性
さまざまなテンプレート・エンジンとSmarty
03 PHP+Smarty利用のための基本環境設定
PHP+Smartyプログラミングに必要なソフトウェア
Windowsにおける環境設定の手順
Linuxにおける環境設定の手順
Windows/Linux共通の環境設定の手順
01:Smartyの基本を学ぼう
01 PHP5で学ぶアプリ開発キホンのキ
データ授受の基本を理解する
PEAR::DB活用 データベース連携アプリケーション
PHP5で進化したオブジェクト指向構文
02 Smartyはどのようにして動くのか?
手始めに“Hello, World!!”プログラミング
Smartyのコア・エンジン「Smartyクラス」
03 Smartyの拡張セットアップ
Smartyクラスをそのまま使うことの問題点
Smarty派生クラスを定義する
04 Smartyテンプレートの構成要素
サンプル・コードを動かしてみよう
テンプレート・ファイルの主要な構成要素
02:テンプレート・ファイルの構成要素を理解する
01 変数(Variables)の使い方
テンプレート変数
予約変数{$smarty}
02 修飾子(Modifier)の使い方
修飾子を利用する意味
修飾子の基本構文
Smartyで利用可能な修飾子
03 修飾子 逆引きリファレンス
変数が空の場合のデフォルト値を定義する~default修飾子~
HTML/URLエスケープを行う~escape修飾子~
HTMLタグを除去する~strip_tags修飾子~
日付や時刻データを整形する~date_format修飾子~
文字列を指定された形式に加工する~string_format修飾子~
文字列を置き換える~regex_replace/replace修飾子~
改行文字を
タグに置き換える~nl2br修飾子~
空白文字を取り除く~strip修飾子~
文字列にインデントを付加する~indent修飾子~
文字列を指定桁で切り捨てる~truncate修飾子~
文字列を指定桁でワードラップする~wordwrap修飾子~
文字列の連結を行う~cat修飾子~
大文字/小文字を変換する~capitalize/lower/upper修飾子~
文字列の構成情報を取得する~count_*修飾子~
文字間にスペースを挿入する~spacify修飾子~
04 関数(Functions)の使い方
関数の基本構文
Smartyで利用可能な関数
05 関数 逆引きリファレンス
条件分岐を行う~{if}関数~
繰り返し処理を行う(1)~{foreach}関数~
繰り返し処理を行う(2)~{section}関数~
テンプレート・ファイル内で変数を生成する~{assign}関数~
テンプレート・ファイルの実行結果を変数に格納する~{capture}関数~
設定ファイルでサイト共通の情報を管理する~{config_load}関数~
外部のテンプレート・ファイルをインクルードする~{include}関数~
ネットワーク経由で外部のリソースを取り込む~{fetch}関数~
テンプレート内で「{」や「}」を出力する~{ldelim}/{rdelim}/{literal}関数~
カウントした数値を表示する~{counter}関数~
複数の値セットを交互に出力する~{cycle}関数~
動的にタグを生成する~{html_image}関数~
フォーム部品を動的に生成する~{html_checkboxes}/{html_radios}/{html_options}関数~
日付/時刻選択用のプルダウンメニューを生成する~{html_select_date}/{html_select_time}関数~
HTMLテーブルを動的に作成する~{html_table}関数~
特定のブロックから不要な空白文字を取り除く~{strip}関数~
特定のブロックに含まれるテキストを整形する~{textformat」関数~
ポップアップ・ウィンドウを生成する~{popup_init}/{popup}関数~
メールアドレスの暗号化でスパム対策を行う~{mailto}関数~
変数の内容をテンプレートとして解析する~{eval}関数~
テンプレート内で演算処理を行う~{math}関数~
テンプレート・ファイル内でPHPスクリプトを記述する~{php}/{include_php}関数~
06 コメント(Comment)の使い方
クライアント側に送信されるコメント
クライアント側に送信されないコメント
03:拡張機能でSmartyを徹底活用
01 Smartyクラスの高度な機能を理解しよう
パフォーマンスを改善する「キャッシュ」技術
デバッギング・コンソールの活用
PHP+Smartyアプリケーションをセキュアに運用する「セキュリティ・モード」
02 Smartyの可能性を広げる機能拡張の世界
プラグインの基礎
オリジナルの修飾子を作成する~修飾子プラグイン~
自前のカスタム関数を作成する(1)~テンプレート関数プラグイン~
自前のカスタム関数を作成する(2)~コンパイラ関数プラグイン~
自前のカスタム関数を作成する(3)~ブロック関数プラグイン~
アプリケーションに共通のしかけを適用する~フィルタ・プラグイン~
キャッシュ・ポリシーを適用しない動的領域を定義する~インサート・プラグイン~
テンプレートをデータベースなどで管理する~リソース・プラグイン~
04:PHP+Smartyで「在席ボード」を構築してみよう
01 アプリ開発の基本モデルを理解する
「MVCモデル」とはなにか?
02 「在席ボード」アプリケーションの概要
「在席ボード」のファイル関係図
データベースのテーブル構築
「在席ボード」のセットアップ方法
03 「在席ボード」アプリの共通機能を理解する
「在席ボード」用のSmarty派生クラスを準備する
PEAR::Authでログイン・ページを用意する
04 「在席ボード」アプリケーションの各種機能
メンバ在席情報リストを表示する
自分の在席情報を更新する
伝言を記録する
記録された伝言を参照/削除する
COLUMN
PHP5でバンドルされた軽量データベース・エンジン SQLite
Windows環境でPHPアプリを開発するときの注意
ページ間で情報を共有する「セッション」
SQLiteデータベースを操作する方法
PHP+Smartyの学習に役立つ参考図書/関連サイト
templates、templates_cディレクトリの配置に注意
SQLileデータベースの内容が文字化けする
配列に修飾子を適用する
修飾子をすべての変数に適用する
数値データを整形するには?
PHPコードの扱いを規定する
「.php」ファイル内で利用可能なコメント
SQLiteデータベースを手軽に使用する方法
ValidateCheck.jsの拡張を行う
ValidateCheck.class.phpの拡張を行う
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 025 上から13行目 |
2刷 | 未 |
|
2006.02.23 | ||||||
1刷 | 043、053 上から17行~19行目 |
2刷 | 未 |
|
2006.02.23 | ||||||
1刷 | 043、053 →httpd.confの設定 |
6刷 | 未 |
|
2008.09.08 | ||||||
1刷 | 053 前ページから続くリスト 1行目 |
6刷 | 未 |
|
2008.09.08 | ||||||
1刷 | 074 spl_list.php 上から6行目 |
3刷 | 未 |
|
2006.02.22 | ||||||
1刷 | 091 表:概要列2行目 |
4刷 | 未 |
|
2006.06.30 | ||||||
1刷 | 092 「セキュリティ」1つ目の「プロパティ名」 |
6刷 | 未 |
|
2008.09.08 | ||||||
1刷 | 104 2行目 |
5刷 | 未 |
|
2007.05.09 | ||||||
1刷 | 165 2行目 |
6刷 | 未 |
|
2008.09.08 | ||||||
1刷 | 191 上から2行目 |
4刷 | 未 |
|
2006.06.30 | ||||||
1刷 | 282 →「データベース認証に必要なパラメータ」上のブロック 2行目 |
6刷 | 未 |
|
2008.09.08 | ||||||
1刷 | 308 →Massege.class.php コード1行目 |
6刷 | 未 |
|
2008.09.08 | ||||||
1刷 | 314 Point 16 1行目 |
6刷 | 未 |
|
2008.09.08 |
ますみ さん
2012-03-25
自分の場合webのマニュアルを読んだ方が良かった。フレームワーク触れた事ある人・プログラミングした事ある人、逆に使い方だけわかれば良い人はWEBのドキュメントで十分だと思う。セキュリティやらアプリケーションモデル(ここではMVC)やらの入り口と絡めて知りたい初心者、もしくは使い方だけで良いけど整理されてて欲しい人には良いかも知れない。まぁ技術系の入門書ってのは大体そんな立ち位置。
T2T3 さん
2017-09-23
テンプレートエンジンがなんなのかわからなかったので、入門書としてよさそうな本書を中古100円で購入。テンプレートエンジンの必要性について書いてあるところはわかりやすくてよかった。とはいうものの、本が出た当時はいざ知らず、今となってはネットで調べれば十分かもしれない。Smartyについての内容ももう古くて役に立たないし。100円くらいならともかく、定価だったら買う価値はもはやないだろう。
hiroqn さん
2013-10-23
フレームワークって大事っすね