ホームページ > バックエンド開発 > PHPチュートリアル > thinkPHP2.1 カスタムタグ library_php 例のインポート方法の詳細説明

thinkPHP2.1 カスタムタグ library_php 例のインポート方法の詳細説明

WBOY
リリース: 2016-08-04 08:56:51
オリジナル
994 人が閲覧しました

この記事では、thinkPHP2.1カスタムタグライブラリのインポート方法について詳しく説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

TP のマニュアルはカスタム タグについて少ししか書かれていないようです。

1. 状況: 新しいカスタム タグ ライブラリ クラスを作成します: @.Mylib.Tag.TagLibTest — TP を理解している人は、これで表されるパスを知っているはずです

例のタグデモファイルを使用してください

リーリー
次に、プロジェクトの下の Conf ディレクトリに次の内容の新しい taglibs.php ファイルを作成します。

リーリー

このようにテンプレートで使用できます:

リーリー

これは非常に単純な状況ですが、私のアイデアは、カスタム タグ ライブラリを自動的にインポートすることを要求し、各タグの最初の行に のようなタグを追加する必要がないようにすることです。テンプレート

ちょっとした問題が発生しました

2. カスタムタグライブラリを自動的にインポートします

config.php ファイルを追加します:

リーリー

キャッシュをクリアすると、「存在しないクラスをインスタンス化します!」というエラーが表示されます。
TP 公式フォーラムを何度か検索したところ、解決方法は 1 つだけであることがわかりました。それは、エイリアスを使用してインポートすることです。つまり、TP フレームワークの commonn/alias.php にインポート パスを追加することです。

例:

コードをコピーします

コードは次のとおりです:'TagLibArticle' => THINK_PATH.'/Lib/Think/Template/TagLib/TagLibArticle.class.php',
Template クラスのソース コードを変更するためのソリューションもいくつかありますが、これは簡単ではありません。通常、小さな問題のためにコアを変更したくないからです。
そこで私は Action のインポートを考えました:

プロジェクトの基本クラスBaseAction.class.phpにインポートを追加します:

リーリー

キャッシュを更新し、問題は解決しました...

このソリューションはシンプルで使いやすいです。

追加:

TP の自動読み込み設定を使用すると、より高速になります: リーリー

最終計画:

1. Mylibs.Tag.TagLibTest を作成する — カスタムタグライブラリ 2. 構成:

リーリー

キャッシュを削除すれば通常通り使えるようになります

より thinkPHP 関連のコンテンツに興味のある読者は、このサイトの特別トピックをチェックしてください: 「ThinkPHP 入門チュートリアル」、「ThinkPHP テンプレート操作スキルの要約」、「ThinkPHP の共通メソッドの要約」、「Smarty テンプレートの基本チュートリアル」、 「PHPテンプレート技術」まとめ」です。

この記事が皆さんの ThinkPHP フレームワークに基づく PHP プログラムの設計に役立つことを願っています。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート