サンプル無料試行サービス トライサンプル

>>トライサンプルTOP

教本の詳細はWINGS
サーバサイド技術の学び舎 WINGS

その他対応教本

今日から使えるJPS&サーブレットサンプル集 JSP2.0&サーブレット2.4対応
今日から使えるPHP5サンプル集
Smarty入門 PHP+テンプレート・エンジンでつくるMVCアプリケーション
PEAR入門
10日でおぼえるJakarta入門教室
10日でおぼえるJSP/サーブレット入門教室 第2版
10日でおぼえるPHP5入門教室
改訂新版 基礎PHP
プログラミングワンダーランドへいらっしゃい JSP&サーブレット編(メンテナンス中)
独習PHP

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

本書の特徴
待望のSmarty入門書

PHPユーザー必読!
ロジックとウェブデザインの架け橋、テンプレート・エンジンSmartyを極めよう。
環境構築からSQLite、PEARの使い方、アプリケーション作成まで。
基本解説に逆引きリファレンスで、調べながらすぐに使えるすぐれもの。
コラムにはプラスアルファのテクニック、困ったときに役立つ、ワンポイントアドバイス付き。
この1冊でSmartyのすべてをGet。

--------------------------------------------------

まとめて読んで 更にスキルアップのこんな書籍

  • PHP標準ライブラリPEARを使ってラクラクWeb開発を
    「PEAR入門 PHP標準ライブラリを極める!」(翔泳社)
  • 基礎からじっくり確実にステップアップ
    「10日でおぼえるPHP5入門教室」(翔泳社)
  • 実用サンプルで応用テクニックを
    「今日からつかえるPHP5サンプル集」(秀和システム)
  • より基本から学びたい方のために
    「改訂新版 基礎PHP」(インプレス)
  • 使用頻度の高いものから厳選されたハンディサイズのリファレンス
    「プチリファレンスPHP4」(秀和システム)
  • 較べて解る 深まる理解
    「JSP/PHP/ASP サーバサイドプログラミング徹底比較」(技術評論社)

--------------------------------------------------

Contents

00:イントロダクション
00-01 What is PHP?
00-02 テンプレート・エンジンSmartyを理解する

01:Smartyの基本を学ぼう
01-01 PHP5で学ぶアプリ開発 キホンのキ
01-02 Smartyはどのようにして動くのか?
01-03 Smartyの拡張セットアップ
01-04 Smartyテンプレートの構成要素

02:テンプレート・ファイルの構成要素を理解する
02-01 変数(Variables)の使い方
02-02 修飾子(Modifier)の使い方
02-03 修飾子 逆引きリファレンス
02-04 関数(Functions)の使い方
02-05 関数 逆引きリファレンス
02-06 コメント(Comments)の使い方

03:拡張機能でSmartyを徹底活用
03-01 Smartyクラスの高度な機能を理解しよう
03-02 Smartyの可能性を広げる 機能拡張の世界

04:PHP+Smartyで「在席ボード」を構築してみよう
04-01 アプリ開発の基本モデルを理解する
04-02 「在席ボード」アプリケーションの概要
04-03 「在席ボード」アプリの共通機能を理解する
04-04 「在席ボード」アプリケーションの各種機能

COLUMN

PHP5でバンドルされた軽量データベース・エンジン SQLite
Windows環境でPHPアプリを開発するときの注意
ページ間で情報を共有する「セッション」
SQLiteデータベースを操作する方法
PHP+Smartyの学習に役立つ参考図書/関連サイト
templates、templates_cディレクトリの配置に注意
SQLiteデータベースの内容が文字化けする
配列に修飾子を適用する
修飾子をすべての変数に適用する
数値データを整形するには?
PHPコードの扱いを規定する
「.php」ファイル内で利用可能なコメント
SQLiteデータベースを手軽に使用する方法
ValidateCheck.jsの拡張を行う
ValidateCheck.class.phpの拡張を行う

 

トライ・サンプル

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

イントロダクション

テンプレート・エンジンSmartyを理解する
プログラムファイル page
>>テンプレートエンジンの必要性
Smartyの基本「デザインとロジックの分離」の勉強です。データを受け取るファイルと、データ表示のファイルを分離します。
サンプル
020

Smartyの基本を学ぼう

PHP5で学ぶアプリ開発 キホンのキ
プログラムファイル page
>>PEAR::DB活用 データベース連携アプリケーション
PEAR::DBを利用してデータベースにSQLを発行する勉強です。ここではテーブル作成をします。データベースは手軽に利用できるSQLiteです。
サンプル
065
Page065で作成したテーブルにデータを入れます。入力結果は次のサンプルをご覧下さい
サンプル
070
Page70でインプットしたデーターをテーブルから呼び出して表示します。
サンプル
074
>>PHP5で進化したオブジェクト指向構文
PHP5でのオブジェクト指向の勉強です。クラスの初期化処理を行う「コンストラクタ」
サンプル
076
処理の後始末を行う「デストラクタ」
サンプル
079
「アクセス修飾子」についての勉強です。ここでは間違いの例を挙げています。エラーが表示されます。
サンプル
080
クラスの機能を拡張する「継承」についての勉強です。
サンプル
081
継承を強制する「抽象クラス/メソッド」正しく呼び出された値とエラーが表示されます。
サンプル
083
インスタンス化の必要がない「静的メソッド」の例
サンプル
084
Smartyはどのようにして動くのか?
プログラムファイル page
>>手始めに”Hello,World!!”プログラミング
Smartyの基本を勉強します。Smarty テンプレートを使ってHello Worldを表示します
サンプル
086
Page086と同じサンプル。Smartyの実行過程を説明しながらサンプルを確認します。
サンプル
089
Smartyの拡張セットアップ
プログラムファイル page
>>Smarty派生クラスを利用する
Smartyクラスを継承したサブクラスを作成して利用する方法を勉強します。Page086のhello.phpをこの方法で書き換えます。
サンプル
099
Smartyテンプレートの構成要素
プログラムファイル page
>>サンプルコードを動かしてみよう
テンプレートファイルの記述を次章で学ぶにあたりテンプレートファイルを構成する要素について説明します。データベース(SQLite)から取り出した情報をテンプレートを使って表示します。
サンプル
101

テンプレート・ファイルの構成要素を理解する

変数(Variables)の使い方
プログラムファイル page
>>テンプレート変数
単純配列の勉強です
サンプル
108
連想配列の勉強です
サンプル
109
オブジェクトを利用した場合
サンプル
110
複数の変数を割り当てる
サンプル
112
修飾子(Modifier)の使い方
プログラムファイル page
>>修飾子の基本構文
修飾子を利用する意味について。テンプレートファイル内で変数の加工をおこなう必要性について。 1行目は今日の日付をOO年OO月OO日の形式で表示。2行目は”yamada yoshihiro”各単語の先頭文字を大文字に変換する。3行目は小文字のアルファベットを大文字に変換する。各修飾子のサンプル
サンプル
118
1つの変数について複数の修飾子を適用する例。 1行目は変換する前の元も文字列。 2行目は元の文字列を20文字で切り取ってから、各文字間にスペースを入れる変換。 3行目は元の文字列の各文字間にスペースを入れてから20文字で切り取る変換
サンプル
119
>>Smartyで利用可能な修飾子
PHP関数をSmartyで修飾子として利用する例。 PHPのnumber_format関数を利用して「91564.526」を3桁区切りに変換する
サンプル
120
記述が分かりにくくなる例
サンプル
122
修飾子 逆引きリファレンス
プログラムファイル page
>>変数が空の場合のデフォルト値を定義する
ここでは変数が空の時、「名無しの権兵衛」が表示されるようコーディングされています。
サンプル
126
>>HTML/URLエスケープを行う
HTMLの予約文字「<」や「>」や「&」のような文字を「<」「>」「&」のような文字列に置き換えます
サンプル
127
>>HTMLタグを除去する
HTMLタグを取り除いて表示します。
サンプル
132
>>日付や時刻データーを整形する
サンプル
133
>>文字列を指定された形式に加工する
「3681.6867」を色々な形式に加工する例
サンプル
136
>>文字列を置き換える
ここでは文字列の中でURLを正規表現で検索してリンクをつけ、さらに「サイト」という文字列を「ページ」に変換します。 1列目が元の文字列、2列目が変換後です。
サンプル
137
>>改行文字を<br>タグに置き換える
文字列中の改行文字を<br>タグに置き換えて改行させて表示する
サンプル
140
>>空白文字を取り除く
文字列に含まれる連続した空白文字(半角スペース、改行、タブ文字など)を除去し、半角スペース1つ(又は指定された任意の文字列)によって置き換えます。
サンプル
141
>>文字列にインデントを付加する
サンプル
143
>>文字列を指定桁で切り捨てる
サンプル
144
>>文字列を指定桁でワードラップする
サンプル
145
>>文字列の連結を行う
「Masato」という文字列と「Watanabe」という文字列を連結させて表示します
サンプル
147
>>大文字/小文字を変換する
サンプル
148
>>文字列の構成要素を取得する
サンプル
149
>>文字間にスペースを挿入する
サンプル
151
関数 逆引きリファレンス
プログラムファイル page
>>条件分岐を行う
{if}関数を使います。URLの後のクエリによって表示文字を切り替えます。クエリを?category=PHP, ?category=ASP.NET, ?category=J2EE と入れて試してください。
サンプル
157
>>繰り返し処理を行う
{foreach}関数を使います。
サンプル
160
>>繰り返し処理を行う(2)
{section}関数を使います。
サンプル
162
{section}関数で、start、step、max属性を利用したサンプルです。
サンプル
165
>>テンプレート・ファイル内で変数を生成する
{assign}関数をつかいます。
サンプル
166
>>テンプレート・ファイルの実行結果を変数に格納する
{capture}関数を使います。
サンプル
167
>>設定ファイルでサイト共通の情報を管理する
{config_load}関数を使います。
サンプル
169
>>外部のテンプレート・ファイルをインクルードする
{include}関数を使います。
サンプル
176
>>ネットワーク経由で外部のリソースを取り込む
{fetch}関数を使います。
サンプル
178
>>カウントした数値を表示する
{counter}関数を使います。
サンプル
182
>>複数の値セットを交互に出力する
{cycle}関数を使います。
サンプル
184
>>動的に<img>タグを生成する
{html_image}関数を使います。
サンプル
186
>>フォーム部品を動的に生成する
{html_checkboxes} / {html_radios} / {html_options} 関数を使います。
サンプル
188
>>日付/時刻選択用のプルダウンメニューを生成する
{html_select_date} / {html_select_time} 関数を使います。
サンプル
191
>>HTMLテーブルを動的に作成する
{html_table}関数を使います。
サンプル
194
>>特定のブロックから不要な空白文字を取り除く
{strip}関数を使います。
サンプル
196
>>特定のブロックに含まれるテキストを整形する
{textformat}関数を使います。
サンプル
198
>>ポップアップ・ウインドウを生成する
{popup_init} / {popup} 関数をつかいます。
サンプル
199
>>メールアドレスの暗号化でスパム対策を行う
{maioto} 関数を使います。
サンプル
203
>>変数の内容をテンプレートとして解析する
{eval} 関数を使います。
サンプル
205
>>テンプレート内で演算処理を行う
{math} 関数を使います。
サンプル
206
>>テンプレート・ファイル内でPHPスクリプトを記述する
{php} / {include_php} 関数を使います。
サンプル
208

拡張機能でSmartyを徹底活用

Smartyクラスの高度な機能を理解しよう
プログラムファイル page
>>パフォーマンスを改善する「キャッシュ」技術
パフォーマンスを改善する為にコンテンツをキャッシュに入れて表示します。120秒以内に再アクセスすると前回アクセス時にキャッシュされた時間が表示されます。
サンプル
216
パラメータごとにキャッシュ・データを切り替える例です。パラメータ ?category=1 ?category=2 とURLの後につけて各パラメータでのキャッシュを確認してください
サンプル
221
>>デバッギング・コンソールの活用
デバッギング・コンソールを利用する事でテンプレート変数にセットされた値の内容やその他値がひと目で確認できます。
サンプル
223
>>PHP+Smartyアプリケーションをセキュアに運用する「セキュア・モード」
セキュリティーガードの例です。セキュリティーモードがtrueの時にコードを実行しようとしたときに表示されるエラーメッセージです。実際に動作確認をするにはコンパイル済みテンプレートファイル削除する必要がありますので、ここでは確認不可とさせて頂きます。プログラム動作は問題ありません。
228
Smartyの可能性を広げる機能拡張の世界
プログラムファイル page
>>オリジナルの修飾子を作成する
number_format関数の機能を持つformat_number修飾子を定義し、これをテンプレートから実際に呼び出してみます
サンプル
236
>>自前のカスタム関数を作成する(1)〜テンプレート関数プラグイン〜
Page236で作成したformat_number修飾子をテンプレート関数で置き換えてみます
サンプル
237
オブジェクトに関数構文でアクセスする
サンプル
239
>>自前のカスタム関数を作成する(2)〜コンパイラ関数プラグイン〜
コンパイラ関数プラグインを利用した例
サンプル
242
ブロック関数プラグインを利用した例
サンプル
245
>>アプリケーションに共通のしかけを適用する〜フィルタ・プラグイン〜
フィルタ・プラグインを利用したエスケープ処理
サンプル
247
ポストフィルタ・プラグインを利用したメタ情報の付加
サンプル
251
出力フィルタ・プラグインを利用したロギング処理
サンプル
253
>>キャッシュ・ポリシーを適用しない動的領域を定義する〜インサート・プラグイン〜
インサートプラグインを利用した例
サンプル
254
>>テンプレートをデータベースなどで管理する〜リソース・プラグイン〜
リソース・プラグインでテンプレートをデータベース管理する
サンプル
258

PHP+Smartyで「在籍ボード」を構築してみよう

プログラムファイル page
ユーザーID「U0001〜7」 パスワードは「12345」でログインしてください。
サンプル
286