1. Smarty を拡張する 1. Kungfu PHP コードを準備する:------------------------------------- ---------- -------------------------------------- -- 関数 Smarty_function_page ( $params, & $Smarty ) { $href = #; $frist = NULL; $page = 5; $row $pages ) { $from = 1; $to = $pages; } else { if ( $from $pages ) { $from = $curr_pages + $to = $pages; ( $to - $from ) = 1 ) $p[frist] = . $prev && ( $i = $curr_page - 1 ) >= 1 ) $p[prev] 。 ; for( $i = $from; $i
新しいドキュメント {page row=10} {page row=10 now=5} {page row=10 now=5 href=DownloadFilesa2004 -11-02"plugins.php$ a=1&b=2&page=" frist="最初のページ" prev="前のページ" next="次のページ" last="最後のページ"} {page row=10 now=5 href =DownloadFilesa2004-11-02 "plugins.php$a=1&b=2&page=" frist="最初のページ" prev="前のページ" next="次のページ" last="最後のページ"} {page row=10 now= 1 href= DownloadFilesa2004-11-02"plugins.php$a=1&b=2&page=" frist="最初のページ" prev="前のページ" next="次のページ" last="最後のページ"} {page row=10 now=10 href=DownloadFilesa2004-11-02"plugins.php$a=1&b=2&page=" frist="最初のページ" prev="前のページ" next="次のページ" last="最後のページ"} - ----------------------------------------------- --- ------------------------ 上記のコードに「plugins.html」という名前を付けて、Smarty のテンプレート ディレクトリに保存します。 2. テスト プログラム。 PHP コード:---------------------------------------------- -- ----------------------------------- $Smarty->display( plugins.html ); ------------------------------------------------ -- ------------------------ 3. 使用説明書を入力するのが面倒なので、次の 5 つの {page} を比較します。 「plugins.html」の使い方、表示される効果を見れば分かります 4. プラグインの説明「Smartyマニュアル」の第16章「プラグインでSmartyを拡張する」アプリケーションです。 Smarty は、中国語文字インターセプトなどのプラグインで拡張できます。Smarty 自体のインターセプトは中国語をサポートしていません。 __________________ 2. ファイル拡張子が「.html」の場合、Smarty は静的ページを自動的に生成します~~~~~これは静的ページではありませんか? -_-! 静的ファイル名を取得するにはどうすればよいですか? PHP コード:---------------------------------------------- - ---------------------------------- /****/ クラス テンプレートは Smarty を拡張します { /* ***/ function template () { $this->Smarty(); } // func の終了 /****/ 関数名 ( $tpl_file, $cache_id = null, $compile_id = null ) { if (! isset($compile_id)) $compile_id = $this->compile_id; $_auto_id = $this->_get_auto_id( $cache_id, $compile_id ); $_cache_file = $this->_get_auto_filename( $this->cache_dir, $tpl_file ) , $ _auto_id ); return basename( $_cache_file ); } // 関数を終了 } // クラスを終了 $Smarty = 新しいテンプレート; $Smarty->name(plugins.html, queue_name );含まれるパス) $Smarty->cache_lifetime = -1;#静的ファイルは期限切れになりません$Smarty->fetch(plugins.html,cache_name);#静的 HTML ファイルを生成これは村によって翻訳されています。実際、Smarty のアプリケーションはさらに多くのものです。これより。 Smarty のユニークな側面の 1 つは、テンプレートのコンパイルです。これは、Smarty がテンプレート ファイルを読み取り、そこから PHP スクリプトを作成するため、それ以降はリクエストごとにコストのかかるテンプレート ファイルの解析が行われないことを意味します。また、各テンプレートは、Zend Accelerator (http://www.zend.com) や PHP Accelerator (http://www.php-accelerator.co.uk) などの PHP コンパイラ キャッシュ ソリューションを最大限に活用できます。Smarty One の機能。それは「テンプレートコンパイル」です。これは、Smarty がテンプレート ファイルを読み取り、それを使用して php スクリプトを作成することを意味します。これらのスクリプトは作成後に実行されます。したがって、テンプレート ファイルの構文解析に時間を費やす必要はなく、各テンプレートは Zend (http://www.zend.com) や PHP アクセラレータ (http://www.php-accelerator) などのアクセラレータにアクセスできます。 .co.uk)。このようなphpコンパイラのキャッシュソリューション。 Smartys の機能の一部: PHP パーサーが面倒な作業を行うため、非常に効率的です。テンプレート解析のオーバーヘッドがなく、コンパイルは 1 回だけです。変更されたテンプレート ファイルを作成できるため、テンプレート言語は非常に拡張性があり、カスタム関数とカスタム変数を編集できるため、構成可能なテンプレート区切りタグの構文を完全に拡張できます。 {}、{{}}、 など。テンプレート定義は自分で区切り文字で設定できるため、{}、{{}}、 などを使用できます。if/elseif/else/endif 構造は に渡されます。 PHP パーサーに依存するため、{if ...} 式の構文は必要に応じて単純にすることも複雑にすることもできます。if/elseif/else/endif などのステートメントは PHP パーサーに渡すことができるため、{if ...}式は必要に応じて単純でも複雑でも可能です。許可されている場合、セクションを無限にネストできますが、これは必要ない場合もあります。エンジンは非常にカスタマイズ可能であるため、テンプレート ファイルに PHP コードを埋め込むことができます (必須ではありません)。 組み込みのキャッシュ サポート 任意のテンプレート ソース 独立したテンプレート ファイル カスタム キャッシュの処理関数 カスタム キャッシュ処理関数 プラグイン アーキテクチャ プラグイン アーキテクチャ
http://www.bkjia.com/PHPjc/531853.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/531853.html技術記事 1. Smarty を拡張する 1. Kungfu PHP コードを準備する:------------------------------------- ---------- -------------------------------------- -- function Smarty_function_page ( $params, $ space...