トップ  > symfony  > 関数  > 記事

No.1580 symfony1.2/1.3でタスクからヘルパーを利用する

symfony 1.2/1.3でタスクからヘルパーを利用するAdd Star

symfony1.1までは、sfLoader#loadHelpersメソッドを使用してアクションやタスク内からヘルパーアクティベートし、呼び出すことができました。

しかし、sfLoader#loadHelpersメソッドは、symfony1.2から非推奨になっており、タスクなどで使用すると次のようなメッセージが表示されます。

>> main The sfLoader::loadHelpers() method is deprecated. Please use the same method from sfApplicationConfiguration.

ですので、このメッセージのとおり、sfApplicationConfigurationのメソッドを使用するように変更してみます。


まず、タスクの場合はデフォルトではどのアプリケーションにも属しません。(--applicationパラメータで指定可能)

デフォルトで使用するアプリケーションを指定する場合は、タスクのコード内の以下の箇所を書き換えます。

<?php
12    $this->addOptions(array(
13      new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED,
           'The application name', 'frontend'),  //  末尾にパラメータ 'frontend' を追加

このようにすると、タスクを実行する際にfrontendアプリケーションの設定が読み込まれます。

次に、タスク処理の本体部分でヘルパーを読み込みます。

<?php
	$this->configuration->loadHelpers(array('Text','Tag'));

タスクのインスタンスのconfigurationメンバに、上で指定したアプリケーションのconfigurationインスタンスが読み込まれています。このオブジェクトのloadHelpersメソッドを呼び出すと、ヘルパーを有効化できます。


※タスクでアプリケーションを何も指定しない場合、単にsfProjectConfigurationのみが読み込まれますが、sfProjectConfigurationクラスにはloadHelpersメソッドが定義されておらず、エラーになります。

引用元

更新:2009/10/07 09:16 カテゴリ: symfony  > 関数 ▲トップ

FuelPHP

Mac

フロントエンド開発

web開発

プロマネ

マネタイズ

プレゼン

webサービス運用

webサービス

Linux

サーバ管理

MySQL

ソース・開発

svn・git

PHP

HTML・CSS

JavaScript

ツール, ライブラリ

ビジネス

テンプレート

負荷・チューニング

Windows

メール

メール・手紙文例

CodeIgniter

オブジェクト指向

UI・フロントエンド

cloud

マークアップ・テキスト

Flash

デザイン

DBその他

Ruby

PostgreSQL

ユーティリティ・ソフト

Firefox

ハードウェア

Google

symfony

OpenPNE全般

OpenPNE2

Hack(賢コツ)

OpenPNE3

リンク

個人開発

その他

未確認

KVS

ubuntu

Android

負荷試験

オープンソース

社会

便利ツール

マネー

Twig

食品宅配

WEB設計

オーディオ

一般常識

アプリ開発

Python

サイトマップ

うずら技術ブログ

たませんSNS

rss2.0