「Smarty動的Webサイト構築入門」が技術評論社から発売されました。原、青木、川野辺、鵜飼の共著で、私(青木)も執筆者の一人として参加しました。
正誤表
正誤表はgithubにあります。
https://github.com/ninton/smartybook/issues/1
CDROMの内容
付録CDROMの内容をgithubで公開しました。
https://github.com/ninton/smartybook
内容について
本書はPHP上で動くテンプレートエンジン「Smarty」の解説書です。
Smartyを使った動的なサイトの構築方法から、応用テクニックまで幅広く説明します。
・テンプレートとは
・PHPの基礎
・Smartyの基礎
・CMSやブログの作成
・MySQLとphpMyAdmin
・Flashとの連携
・XMLの出力
・JavaScriptでフォトギャラリー
・ケータイ向けWebページ
・APIとの連携
Webの表示に関わっている、もしくはこれから関わっていきたい人向けに書いています。デザインが大好きだけど、システムがからんだ部分もちょっとは自分でやりたいよ、という人、大歓迎です。もちろんPHPプラグラマにも役に立つSmartyテクニックが満載です。
前半でPHP、Smartyの基礎を学びます。後半でクリエイティブの現場で使えそうなサンプルコードを実際に入力して試しながら身につけていきます。
【第1章】
テンプレートの機能とメリットについて説明します。
【第2章】
PHPの重要な基礎を学びます。SmartyはPHP上で動くテンプレートエンジンのためです。
【第3章】
Smartyの基礎を学びます。Smartyの関数、修飾子について説明します
【第4章】
実用的なページへの応用テクニックを学びます。まず、SmartyでCMSを作った後、サイドメニュー、リンクバナー、告知バナーを追加します。続いて、新着表示とスタッフ日記、昼夜で変わるヘッダー表示、MySQLとphpMyAdmin、PEAR::Pagerを使ったページネート、入力フォーム、正規表現とメニューボックス、テンプレート処理結果のファイル保存、を扱います。
【第5章】
Webサイト構築への応用テクニックを学びます。FlashブログパーツとXML出力、JavaScriptのフォトギャラリー、ケータイのブラウザ判別と画像表示、Twitter APIを使った3列表示のマイポータル、PEAR::Authを使った管理画面ログイン機能、Amazon APIを使ったおすすめの本棚、を作ります。PHPとSmartyによる動的サイト構築を楽しんでください。
読み終えたときには、きっと現在担当している規模より少し規模の大きい案件にも立ち向かえるポテンシャル、そしてサーバーサイドから自在にアウトプットできる自信が身についていることでしょう。
動作環境:Windows + XAMPP、巻末にXAMPPインストール手順
(CDROM付き)
技術評論社サイトには、この本のサポートサイトがありませんので、できるだけ本サイトでサポートする予定です。
目次、筆者の担当の章について
私の担当は、次の★です。
1 | テンプレートの基礎知識 | |
2 | PHPかけあし入門 | |
3 | Smartyの基礎知識 | |
4.1 | CMSをSmartyで作ろう | |
4.2 | サイドエリアを表示する | |
4.3 | サイトに共通の告知文を挿入する | |
4.4 | コンテンツごとにデザインを変える | |
4.5 | 時間毎にヘッダーを変える | |
★ | 4.6 | 複数ある項目を並び替える |
★ | 4.7 | Smartyを使って入力フォームを作る |
★ | 4.8 | サブメニューの折りたたみと現在位置の強調表示 |
★ | 4.9 | テンプレートの処理結果をファイルに保存する |
5.1 | Smartyと連携したブログパーツを作る | |
5.2 | JavaScriptとの連携 | |
★ | 5.3 | Smartyとケータイ |
5.4 | Twiterと連携したマイポータルを作る | |
5.5 | 管理ページに認証機能をつける | |
★ | 5.6 | おすすめ本棚のサイトを製作する |
★ | A.1 | XAMPPのインストール |
★ | A.2 | Smartyエラーメッセージの日本語訳 |
コメント
青木様 はじめまして
貴 著作 Smarty動的Webサイト構築入門 を先日購入しました。
内容はとても、実践的で分かりやすいです。(まだChapter2ですが)
ただ、サンプルのPHP文の表記方法が、ちょっと分かりにくいように思えました。
「前略」とか「後略」と書かれていて、最終的にどうなったの?という全文が示されていないので、その辺の読み込みに、少しページを右往左往してしまいました。
また、どうしてもわからないのが、02-03.phpのファイルの先頭でrequire_once(’02_01_b.php’);と、02-01_b.phpファイルを読み込んでいますが、この02-01_b.phpにも、<!DOCTYPE やmetaなどのヘッダが書かれています。
そのために、02-03.phpを実行して生成されたページのソースを見ると、ヘッダ情報が二重に入ってしまっていますが・・・
読み込むページには、ヘッダは入れないのではないかと思いますが、違うのでしょうか?
まだまだ勉強中なので、このような説明に混乱しています。
お時間があれば、教えて頂ければと思います。
よろしくどうぞ。
じろさん、コメントありがとうございます。青木です。
さっそく確認したところ、ご指摘のとおりヘッダ情報が二重になっていました。
02_01_b.php は
(ここから)
(ここまで)
が正しい内容です。
また疑問点がありましたらお気軽にコメントしてください。
勉強がんばってください。
青木様
早速にご解答、ありがとうございました。
やはりそうでしたか。
これからもよろしくお願いします。
青木様
はじめまして。
BlogのCSS位しか経験のない、1963年生まれの私が、ひょんな事からあるWEBSITEを作ることになりました。
当然、一般的な○○ビルダーのような、HTMLをベースとしたものを考えて、なんとかなると思ったものの、なんと、スケジュールについてはXoopsのモジュールPicalを指定されました。
3ヶ月猛勉強し、なんとかなったものの、PHPやSmartyをきちんと理解しないとと、私もこの書籍を購入しました。
まだまだ、曖昧な私ですが、勉強に従いわからないことがあったら、お助けいただきたいと思います。
炎熱
炎熱さん
はじめまして。青木です。
お気軽にご質問ください。
こちらこそよろしくお願いします。