Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Smarty - コンパイリング PHP テンプレートエンジン

Monte Ohrt <monte at ohrt dot com>

Uwe Tews <uwe dot tews at googlemail dot com>

Shinsuke Matsuda <mat-sh at fj9 dot so-net dot ne dot jp>

Daichi Kamemoto <daichi at asial dot co dot jp>

Joe Morikawa <joe at asial dot co dot jp>

Masahiro Takagi <takagi@php.net>

2011-01-10


Table of Contents

序文
I. はじめに
1. Smarty とは?
2. インストール
必要条件
基本的なインストール
拡張セットアップ
II. テンプレートデザイナのための Smarty
3. 基本構文
コメント
変数
関数
属性
ダブルクォート内に埋め込まれた変数
演算
Smarty の構文解析を回避する
4. 変数
PHP から割り当てられた変数
連想配列
配列のインデックス
オブジェクト
変数のスコープ
設定ファイルから読み込まれた変数
予約変数 {$smarty}
リクエスト変数
{$smarty.now}
{$smarty.const}
{$smarty.capture}
{$smarty.config}
{$smarty.section}
{$smarty.template}
{$smarty.current_dir}
{$smarty.version}
{$smarty.block.child}
{$smarty.block.parent}
{$smarty.ldelim}, {$smarty.rdelim}
5. 変数の修飾子
capitalize
cat
count_characters
count_paragraphs
count_sentences
count_words
date_format
default
escape
indent
lower
nl2br
regex_replace
replace
spacify
string_format
strip
strip_tags
truncate
upper
wordwrap
6. 修飾子の連結
7. 組み込み関数
{$var=...}
{append}
{assign}
{block}
{call}
{capture}
{config_load}
{debug}
{extends}
{for}
{foreach},{foreachelse}
@index
@iteration
@first
@last
@show
@total
{function}
{if},{elseif},{else}
{include}
{include_php}
{insert}
{ldelim},{rdelim}
{literal}
{nocache}
{php}
{section},{sectionelse}
.index
.index_prev
.index_next
.iteration
.first
.last
.rownum
.loop
.show
.total
{strip}
{while}
8. カスタム関数
{counter}
{cycle}
{eval}
{fetch}
{html_checkboxes}
{html_image}
{html_options}
{html_radios}
{html_select_date}
{html_select_time}
{html_table}
{mailto}
{math}
{textformat}
9. 設定ファイル
10. デバッギングコンソール
III. プログラマのための Smarty
11. 定数
SMARTY_DIR
12. Smarty クラス変数
$auto_literal
$autoload_filters
$cache_dir
$cache_handler_func
$cache_id
$cache_lifetime
$cache_modified_check
$caching
$compile_check
$compile_dir
$compile_id
$compiler_class
$config_booleanize
$config_dir
$config_overwrite
$config_read_hidden
$debug_tpl
$debugging
$debugging_ctrl
$default_modifiers
$default_resource_type
$default_template_handler_func
$error_reporting
$force_compile
$left_delimiter
$php_handling
$plugins_dir
$right_delimiter
$template_dir
$trusted_dir
$use_sub_dirs
13. Smarty クラスメソッド
append() — 割り当てられたテンプレート配列に要素を追加します。
appendByRef() — 参照として値を追加します。
assign() — テンプレートに値/オブジェクトを割り当てます。
assignByRef() — 参照として値を割り当てます。
clearAllAssign() — 割り当てられた全てのテンプレート変数を破棄します。
clearAllCache() — 全てのテンプレートのキャッシュをクリアします。
clearAssign() — 割り当てられたテンプレート変数の値を破棄します。
clearCache() — 指定したテンプレートのキャッシュを破棄します。
clearCompiledTemplate() — 指定したテンプレートのキャッシュを破棄します。
clearConfig() — 割り当てられたすべての設定ファイルの変数をクリアします。
compileAllConfig() — すべての既知の設定ファイルをコンパイルする
compileAllTemplates() — すべての既知のテンプレートをコンパイルする
configLoad() — 設定ファイルのデータを読み込み、テンプレートに割り当てます。
createData() — データオブジェクトを作成する
createTemplate() — テンプレートオブジェクトを返す
disableSecurity() — テンプレートのセキュリティを無効にする
display() — テンプレートを表示します。
enableSecurity() — テンプレートのセキュリティを有効にする
fetch() — テンプレートの出力を返します。
getConfigVars() — 読み込まれた設定ファイル変数を返します。
getRegisteredObject() — 登録されたオブジェクトの参照を返します。
getTags() — テンプレートが使っているタグを返す
getTemplateVars() — 割り当てられた変数の値を返します。
isCached() — テンプレートが有効なキャッシュを持つ場合にtrueを返します。
loadFilter() — フィルタプラグインを読み込みます。
registerFilter() — 動的にフィルタを登録する
registerPlugin() — 動的にプラグインを登録する
registerObject() — テンプレート内で使用するオブジェクトを登録します。
registerResource() — リソースプラグインを動的に登録します。
templateExists() — 指定したテンプレートが存在するかどうかをチェックします。
unregisterFilter() — 動的にフィルタの登録を解除する
unregisterPlugin — 動的にプラグインの登録を解除する
unregisterObject() — 動的に登録されたオブジェクトを未登録にします。
unregisterResource() — 動的に登録されたリソースプラグインを未登録にします。
testInstall() — Smarty のインストール状態を調べる
14. キャッシュ
キャッシュのセットアップ
ページごとに複数のキャッシュ
キャッシュのグループ
出力のキャッシュ可能性の制御
テンプレートセクションのキャッシュ可能性
タグのキャッシュ可能性
変数のキャッシュ可能性
プラグインのキャッシュ可能性
15. 拡張機能
セキュリティ
テンプレートでの設定の変更
テンプレートの継承
ストリーム
オブジェクト
static クラス
プリフィルタ
ポストフィルタ
アウトプットフィルタ
キャッシュハンドラ関数
リソース
$template_dir からのテンプレート
任意のディレクトリからのテンプレート
文字列からのテンプレート
PHP スクリプトで定義したテンプレートの継承
その他のリソース内のテンプレート
デフォルトのテンプレートハンドラ関数
16. プラグインによる Smarty の拡張
プラグインの動作原理
命名規約
プラグインの記述
テンプレート関数プラグイン
修飾子プラグイン
ブロック関数プラグイン
コンパイラ関数プラグイン
プリフィルタ/ポストフィルタプラグイン
アウトプットフィルタプラグイン
リソースプラグイン
インサートプラグイン
IV. 付録
17. トラブルシューティング
Smarty/PHP エラー
18. ヒント & 裏ワザ
空白の変数の扱い
変数のデフォルトの扱い
ヘッダテンプレートにタイトルの変数を渡す
日付
WAP/WML
コンポーネント化したテンプレート
E-mail アドレスを混乱させる
19. リソース
20. バグ

List of Examples

2.1. 必要な Smarty ライブラリファイル群
2.2. 手動で SMARTY_DIR 定数を定義する
2.3. ライブラリファイルの絶対パスを指定する
2.4. php.ini ファイルにライブラリへのパスを追加する
2.5. PHP スクリプト内での ini_set() によるインクルードパスの追加
2.6. ファイル構造
2.7. パーミッションおよびディレクトリへの書き込み権限の付与
2.8. /web/www.example.com/guestbook/templates/index.tpl
2.9. /web/www.example.com/docs/guestbook/index.php の編集
2.10. /php/includes/guestbook/setup.php
2.11. /web/www.example.com/guestbook/htdocs/index.php
3.1. テンプレート内のコメント
3.2. 変数
3.3. 関数の構文
3.4. 関数の属性の構文
3.5. 構文の例
3.6. 実用例
3.7. 演算の例
3.8. 自動リテラル機能の使用
3.9. デリミタを変更する例
4.1. 変数の例
4.2. 割り当てられた変数
4.3. 連想配列の値にアクセスする
4.4. インデックスによって配列にアクセスする
4.5. オブジェクトのプロパティにアクセスする
4.6. 変数のスコープの例
4.7. 設定ファイルの変数
4.8. リクエスト変数の表示
5.1. 修飾子の例
5.2. capitalize
5.3. cat
5.4. count_characters
5.5. count_paragraphs
5.6. count_sentences
5.7. count_words
5.8. date_format
5.9. default
5.10. escape
5.11. 別の例
5.12. indent
5.13. lower
5.14. nl2br
5.15. regex_replace
5.16. replace
5.17. spacify
5.18. string_format
5.19. strip
5.20. strip_tags
5.21. truncate
5.22. upper
5.23. wordwrap
6.1. 修飾子の連結
7.1. シンプルな代入
7.2. 計算結果の代入
7.3. 配列要素の代入
7.4. 多次元配列の要素の代入
7.5. 配列要素の追加
7.6. 呼び出し元テンプレートのスコープでの代入
7.7. {append}
7.8. {assign}
7.9. nocache を指定した変数による {assign}
7.10. 計算結果の {assign}
7.11. 呼び出し元テンプレートのスコープでの {assign}
7.12. 現在のスコープツリーへの変数の {assign}
7.13. グローバル変数の {assign}
7.14. {assign} された変数への PHP スクリプトからのアクセス
7.15. シンプルな {block} の例
7.16. {block} を前に置く例
7.17. {block} を後に置く例
7.18. {$smarty.block.child} の例
7.19. {$smarty.block.parent} の例
7.20. 再帰的なメニューの例
7.21. name 属性を使用した {capture}
7.22. {capture} をテンプレート変数に格納
7.23. {capture} をテンプレート配列変数に格納
7.24. {config_load}
7.25. セクションを指定した {config_load} 関数
7.26. シンプルな {extends} の例
7.27. シンプルな {for} ループ
7.28. max 属性の使用
7.29. {forelse} の実行
7.30. シンプルな {foreach} ループ
7.31. 追加の key 変数の例
7.32. {foreach} で itemkey をネストする例
7.33. データベースでの {foreachelse} の例
7.34. index の例
7.35. iteration の例: is div by
7.36. iteration の例: is even/odd by
7.37. first プロパティの例
7.38. last プロパティの例
7.39. show プロパティの例
7.40. total プロパティの例
7.41. 再帰的なメニュー {function} の例
7.42. {if} ステートメント
7.43. {if} のその他の例
7.44. シンプルな {include} の例
7.45. {include} に変数を渡す
7.46. {include} での parent スコープの使用
7.47. キャッシュを無効にした {include}
7.48. 個別のキャッシュ有効期限を設定した {include}
7.49. 強制的にキャッシュする {include}
7.50. {include} と変数への割り当て
7.51. さまざまな {include} リソースの例
7.52. {include_php} 関数
7.53. {insert} 関数
7.54. {ldelim}, {rdelim}
7.55. 別の Javascript の例
7.56. {literal} タグ
7.57. テンプレートの特定の部分のキャッシュを回避する
7.58. {php} タグ内での PHP コード
7.59. {php} タグで global を使用して変数を代入する
7.60. {section} でのシンプルな配列のループ
7.61. {section} で配列を割り当てない例
7.62. {section} の名前
7.63. {section} での連想配列のループ
7.64. {section} での loop 変数の使用
7.65. ネストした {section}
7.66. データベースを使用する {sectionelse} の例
7.67. {section} の index プロパティ
7.68. indexindex_next および index_prev プロパティ
7.69. セクションのプロパティ iteration
7.70. {section} プロパティ firstlast
7.71. {section} プロパティ loop
7.72. show プロパティ
7.73. total プロパティの例
7.74. {strip} タグ
7.75. {while} ループ
8.1. {counter}
8.2. {cycle}
8.3. {eval}
8.4. もうひとつの {eval} の例
8.5. {fetch} の例
8.6. {html_checkboxes}
8.7. データベースの例 (PEAR あるいは ADODB)
8.8. {html_image} の例
8.9. options 属性での連想配列
8.10. valuesouptut を個別の配列で指定したドロップダウン
8.11. データベース (ADODB あるいは PEAR) の例
8.12. <optgroup> を使用したドロップダウン
8.13. {html_radios} の最初の例
8.14. {html_radios} の二番目の例
8.15. {html_radios} - データベース (PEAR あるいは ADODB) の例
8.16. {html_select_date}
8.17. {html_select_date} の二番目の例
8.18. {html_select_time}
8.19. {html_table}
8.20. {mailto} のサンプルと、その結果
8.21. {math}
8.22. {textformat}
9.1. 設定ファイルの記述例
11.1. SMARTY_DIR
12.1. バーチャルホスト環境での $compile_id
12.2. 設定ファイル変数の配列
12.3. localhost での $debugging_ctrl
12.4. ローカルのプラグインディレクトリの追加
12.5. 複数の $plugins_dir
13.1. append
13.2. appendByRef
13.3. assign()
13.4. assignByRef()
13.5. clearAllAssign()
13.6. clearAllCache
13.7. clearAssign()
13.8. clearCache()
13.9. clearCompiledTemplate()
13.10. clearConfig()
13.11. compileAllTemplates()
13.12. compileAllTemplates()
13.13. configLoad()
13.14. createData()
13.15. createTemplate()
13.16. display()
13.17. display() 関数にテンプレートリソースを指定した例
13.18. fetch()
13.19. Email の送信に fetch() を使用する
13.20. getConfigVars()
13.21. getRegisteredObject()
13.22. getTags()
13.23. getTemplateVars
13.24. isCached()
13.25. 複数のキャッシュを使用したテンプレートにおける isCached()
13.26. フィルタプラグインを読み込む
13.27. 関数プラグインの登録
13.28. ブロック関数プラグインの登録
13.29. 修飾子プラグインの登録
13.30. registerResource()
13.31. registerResource() でのオブジェクトのメソッドの使用
13.32. templateExists()
13.33. 関数プラグインの登録の解除
13.34. unregisterResource()
13.35. testInstall()
14.1. キャッシュを有効にする
14.2. キャッシュごとに生存時間を設定する
14.3. $compile_check の無効化
14.4. isCached() を使用する
14.5. キャッシュをクリアする
14.6. display() に $cache_id を渡す
14.7. isCached() に cache_id を渡す
14.8. 特定のcache_idの全てのキャッシュをクリアする
14.9. $cache_id groups
14.10. テンプレートのセクションをキャッシュ対象外にする
14.11. タグの出力をキャッシュ対象外にする
14.12. キャッシュしない変数
14.13. プラグインの出力がキャッシュされるのを防ぐ
14.14. テンプレートの一節がキャッシュされるのを防ぐ
15.1. Smarty_Security クラスの継承によるセキュリティポリシーの設定
15.2. Smarty_Security クラスのインスタンスによるセキュリティポリシーの設定
15.3. デフォルト設定でのセキュリティの有効化
15.4. テンプレートでの Smarty の設定の変更
15.5. テンプレートでのプラグインの登録
15.6. テンプレートの継承の例
15.7. テンプレートリソース extends: による継承
15.8. PHP からのストリーム
15.9. テンプレートからのストリーム
15.10. ストリーム変数
15.11. 登録または割り当てられたオブジェクトを使用する
15.12. static クラスへのアクセス方法
15.13. プリフィルタの使用
15.14. ポストフィルタを使用する
15.15. アウトプットフィルタの使用
15.16. キャッシュソースとしてMySQLを使用する例
15.17. $template_dir のテンプレートを使用する
15.18. 任意のディレクトリからのテンプレートを使用する
15.19. Windows ファイルパスからテンプレートを使用する
15.20. 文字列からのテンプレートを使用する
15.21. テンプレートの継承を PHP スクリプトから使用する
15.22. カスタムリソースを使用する
16.1. 出力ありのテンプレート関数プラグイン
16.2. 出力なしのテンプレート関数プラグイン
16.3. シンプルな修飾子プラグイン
16.4. 更に複雑な修飾子プラグイン
16.5. ブロック関数プラグイン
16.6. シンプルなコンパイラ関数プラグイン
16.7. プリフィルタプラグイン
16.8. ポストフィルタプラグイン
16.9. アウトプットフィルタプラグイン
16.10. リソースプラグイン
16.11. インサートプラグイン
17.1. Smarty エラー
17.2. PHP パースエラー
17.3. その他共通のエラー
18.1. 変数が空白の時、&nbsp; を出力する
18.2. デフォルト値をテンプレート変数に割り当てる
18.3. ヘッダテンプレートにタイトルの変数を渡す
18.4. date_format の使用
18.5. フォームの日付要素をUNIXタイムスタンプ型に変換する
18.6. WML Content-Type ヘッダを出力するために {insert} を使用する
18.7. コンポーネント化したテンプレート
18.8. E-mail アドレスを混乱させる例
Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors