Zend Framework自定义Helper类相关注意事项总结_php实例
本文讲述了Zend Framework自定义Helper类相关注意事项。分享给大家供大家参考,具体如下:
编写自定义的Helper类
编写自定义的Helper类很容易,只要遵循以下几个原则即可:
① 类名必须是 Zend_View_Helper_*,*是helper的名称。例如,你在写一个名为“specialPurpose”的类,类名将至少是"SpecialPurpose",另外你还应该给类名加上前缀,建议将“View_Helper”作为前缀的一部份:“My_View_Helper_SpecialPurpose”。(注意大小写)你将需要将前缀(不包含下划线)传递给addHelperPath() 或 setHelperPath()。
② 类中必须有一个public的方法,该方法名与helper类名相同。这个方法将在你的模板调用"$this->specialPurpose()"时执行。在我们的“specialPurpose”例子中,相应的方法声明可以是 “public function specialPurpose()”。
③ 一般来说,Helper类不应该echo或print或有其它形式的输出。它只需要返回值就可以了。返回的数据应当被转义。
④ 类文件的命名应该是helper方法的名称,比如在"specialPurpose"例子中,文件要存为“SpecialPurpose.php”。
把helper类的文件放在你的helper路径下, Zend_View就会自动加载,实例化,持久化,并执行。
三点类文件名称,类名称,类中helper方法,保持某种程度上的一致。
贴代码:
两个helper,看清楚了,他们的不同啊。。。。。
version zf 1.10
Bootstrap.php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initDoctype() { $this->bootstrap ( 'view' ); $view = $this->getResource ( 'view' ); $view->doctype ( 'XHTML1_STRICT' ); } protected function _initView() { $view = new Zend_View (); $view->setEncoding ( 'UTF-8' ); $view->doctype ( 'XHTML1_STRICT' ); $view->addHelperPath('../application/views/helpers', 'My_View_Helper'); $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer(); Zend_Controller_Action_HelperBroker::addHelper($viewRenderer); $viewRenderer->setView($view); return $view; } }
application/views/helpers
Img.php:
class Zend_View_Helper_Img extends Zend_View_Helper_Abstract { public function img() { return "this is a img"; } }
TestHelper.php:
class My_View_Helper_TestHelper extends Zend_View_Helper_Abstract { public function testHelper() { return "this is a TestHelper"; } }
action中使用:
<?php echo $this->doctype() ?> <?php echo $this->img() ?> <?php echo $this->testHelper() ?>
附加内容,在initView中添加addHelperPath,可以改成采用加载application。ini文件配置项的方式把路径进行配置。如下
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initDoctype() { $this->bootstrap ( 'view' ); $view = $this->getResource ( 'view' ); $view->doctype ( 'XHTML1_STRICT' ); } protected function _initView() { $view = new Zend_View (); $view->setEncoding ( 'UTF-8' ); $view->doctype ( 'XHTML1_STRICT' ); $options = $this->getOptions (); $viewOptions = $options ['resources']['view']['helperPath']; if (is_array ($viewOptions)) { foreach($viewOptions as $helperName =>$path) { $view->addHelperPath ( $path, $helperName ); } } $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer (); Zend_Controller_Action_HelperBroker::addHelper ( $viewRenderer ); $viewRenderer->setView ( $view ); return $view; } }
[production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" appnamespace = "Application" resources.view[] = resources.view.helperPath.My_View_Helper = "../application/views/helpers" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" resources.frontController.params.displayExceptions = 1 [staging : production] [testing : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1
更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Mingchao テスト中は、情報の損失やゲームへの異常なログインを防ぐために、システムのアップグレード、工場出荷時設定へのリセット、部品の交換は避けてください。特別な注意事項: テスト期間中は異議申し立てチャンネルがありませんので、取り扱いには注意してください。 Mingchao テスト中に注意が必要な事項の紹介: システムのアップグレード、工場出荷時の設定の復元、機器のコンポーネントの交換などは行わないでください。注: 1. 情報の損失を避けるため、テスト期間中は慎重にシステムをアップグレードしてください。 2. システムをアップデートすると、ゲームにログインできなくなる問題が発生する可能性があります。 3. 現段階ではまだアピールチャンネルは開設されていないため、アップグレードするかどうかはプレイヤー自身の判断で選択してください。 4.同時に、1つのゲームアカウントは1台のAndroidデバイスと1台のPCでのみ使用できます。 5. 携帯電話システムをアップグレードしたり、工場出荷時の設定に戻したり、デバイスを交換したりする前に、テストが完了するまで待つことをお勧めします。

ショートビデオプラットフォームの台頭により、Douyinは多くの人々の日常生活に欠かせないものになりました。 Douyin でのライブ配信やファンとの交流は、多くのユーザーの夢です。では、Douyin で初めてライブブロードキャストを開始するにはどうすればよいでしょうか? 1.Douyinで初めてライブブロードキャストを開始するにはどうすればよいですか? 1. 準備 ライブブロードキャストを開始するには、まずDouyinアカウントが実名認証を完了していることを確認する必要があります。実名認証のチュートリアルは、Douyin APP の「自分」 -> 「設定」 -> 「アカウントとセキュリティ」にあります。実名認証が完了すると、ライブ配信条件を満たしてDouyinプラットフォームでライブ配信を開始できます。 2. ライブ配信許可を申請する ライブ配信条件を満たした後、ライブ配信許可を申請する必要があります。 Douyin APPを開き、「自分」→「クリエイターセンター」→「ダイレクト」をクリックします。

C++ 開発では、null ポインター例外は一般的なエラーであり、ポインターが初期化されていないか、解放された後も使用され続けている場合によく発生します。 Null ポインター例外はプログラムのクラッシュを引き起こすだけでなく、セキュリティ上の脆弱性も引き起こす可能性があるため、特別な注意が必要です。この記事では、C++ コードでの null ポインター例外を回避する方法について説明します。ポインター変数の初期化 C++ のポインターは、使用する前に初期化する必要があります。初期化されていない場合、ポインタはランダムなメモリ アドレスを指すことになり、Null Pointer Exception が発生する可能性があります。ポインタを初期化するには、ポインタを

MyBatis バッチ クエリ ステートメントに関する注意事項と FAQ はじめに MyBatis は、柔軟で効率的なデータベース操作をサポートする優れた永続層フレームワークです。中でもバッチクエリは一般的な要件であり、複数のデータを一度にクエリすることでデータベース接続やSQL実行のオーバーヘッドが軽減され、システムのパフォーマンスが向上します。この記事では、MyBatis バッチ クエリ ステートメントに関するいくつかの注意事項と一般的な問題を紹介し、具体的なコード例を示します。これが開発者に何らかの助けとなることを願っています。 Mを使用する際の注意点

オフライン環境に pip をインストールする方法と注意点. ネットワークがスムーズでないオフライン環境では、pip のインストールが困難になります。この記事では、オフライン環境に pip をインストールするいくつかの方法を紹介し、具体的なコード例を示します。方法 1: オフライン インストール パッケージを使用する インターネットに接続できる環境で、次のコマンドを使用して、公式ソースから pip インストール パッケージをダウンロードします: pipdownloadpip このコマンドは、公式ソースから pip とその依存パッケージを自動的にダウンロードし、現在のディレクトリに保存します。ダウンロードした圧縮パッケージをリモートの場所に移動します

高級プログラミング言語である Python は、学習しやすく、使いやすく、開発効率が高いという利点があり、開発者の間でますます人気が高まっています。ただし、ガベージ コレクション メカニズムの実装方法が原因で、Python は大量のメモリを処理するときにメモリ リークが発生する傾向があります。この記事では、よくあるメモリリーク問題、問題の原因、メモリリークを回避する方法の3つの側面からPython開発時に注意すべきことを紹介します。 1. 一般的なメモリ リークの問題: メモリ リークとは、動作中にプログラムによって割り当てられたメモリ空間を解放できないことを指します。

Zend Framework でのアクセス許可制御に ACL (AccessControlList) を使用する方法 はじめに: Web アプリケーションでは、アクセス許可制御は重要な機能です。これにより、ユーザーはアクセスを許可されたページと機能にのみアクセスできるようになり、不正アクセスが防止されます。 Zend フレームワークは、ACL (AccessControlList) コンポーネントを使用してアクセス許可制御を実装する便利な方法を提供します。この記事では、Zend Framework で ACL を使用する方法を紹介します。

localStorage を使用してデータを保存する手順と注意事項 この記事では、主に localStorage を使用してデータを保存する方法と、関連するコード例を紹介します。 LocalStorage は、サーバーを経由せずにデータをユーザーのコンピューターのローカルに保持する、ブラウザーにデータを保存する方法です。 localStorage を使用してデータを保存する手順と注意事項は次のとおりです。ステップ 1: ブラウザが LocalStorage をサポートしているかどうかを確認する
