Smarty入門 PHP+テンプレート・エンジンでつくるMVCアプリケーション(山田 祥寛)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Smarty入門 PHP+テンプレート・エンジンでつくるMVCアプリケーション

Smarty入門 PHP+テンプレート・エンジンでつくるMVCアプリケーション


形式:
書籍
発売日:
ISBN:
9784798108834
定価:
3,080(本体2,800円+税10%)
仕様:
B5変・320ページ
カテゴリ:
Webプログラミング
キーワード:
#Web・アプリ開発,#プログラミング,#ネットワーク・サーバ・セキュリティ,#開発手法

PHPユーザー必読!! ロジックとウェブデザインの架け橋、
テンプレート・エンジンSmartyを極める!!

本書は、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の拡張を行う

本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2008年09月08日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 025
上から13行目
2刷
実にさまざまなテンプレート・エンジンが提供されているます。
実にさまざまなテンプレート・エンジンが提供されています。
2006.02.23
1刷 043、053
上から17行~19行目
2刷
デフォルトの「ISO 8859-1(Latin-1)」のままになっていた場合、文字化けの原因となりますので注意してください。
「AddCharaset」が連なっているブロックの先頭に追記する形で記述してください。
2006.02.23
1刷 043、053
→httpd.confの設定
6刷
AddDefaultCharset none
AddDefaultCharset off
2008.09.08
1刷 053
前ページから続くリスト 1行目
6刷
1121 mbstring.http_output=EUC-JP
1121 mbstring.http_output=SJIS
2008.09.08
1刷 074
spl_list.php 上から6行目
3刷
$db->disconnect();

一行削除
2006.02.22
1刷 091
表:概要列2行目
4刷
コンパイル済みンプレートの格納先
コンパイル済みテンプレートの格納先
2006.06.30
1刷 092
「セキュリティ」1つ目の「プロパティ名」
6刷
$security_setting
$security_settings
2008.09.08
1刷 104
2行目
5刷
P.104のコラムでは、…
P.68のコラムでは、…
2007.05.09
1刷 165
2行目
6刷
変数$dataが存在しない場合、
変数$nameが存在しない場合、
2008.09.08
1刷 191
上から2行目
4刷
ただし、{html_select}
ただし、{html_options}
2006.06.30
1刷 282
→「データベース認証に必要なパラメータ」上のブロック 2行目
6刷
・・・安全にユーザ情報を管理しいならば、
・・・安全にユーザ情報を管理したいならば、
2008.09.08
1刷 308
→Massege.class.php コード1行目
6刷
01 <?
01 <?̺php

̺は半角スペースになります。
2008.09.08
1刷 314
Point 16 1行目
6刷
message.tplの・・・
reference.tplの・・・
2008.09.08

感想・レビュー

ますみ さん

2012-03-25

自分の場合webのマニュアルを読んだ方が良かった。フレームワーク触れた事ある人・プログラミングした事ある人、逆に使い方だけわかれば良い人はWEBのドキュメントで十分だと思う。セキュリティやらアプリケーションモデル(ここではMVC)やらの入り口と絡めて知りたい初心者、もしくは使い方だけで良いけど整理されてて欲しい人には良いかも知れない。まぁ技術系の入門書ってのは大体そんな立ち位置。

T2T3 さん

2017-09-23

テンプレートエンジンがなんなのかわからなかったので、入門書としてよさそうな本書を中古100円で購入。テンプレートエンジンの必要性について書いてあるところはわかりやすくてよかった。とはいうものの、本が出た当時はいざ知らず、今となってはネットで調べれば十分かもしれない。Smartyについての内容ももう古くて役に立たないし。100円くらいならともかく、定価だったら買う価値はもはやないだろう。

hiroqn さん

2013-10-23

フレームワークって大事っすね