Project

General

Profile

Bug(バグ) #1609

Zend_Loader::registerAutoload()がdeprecatedで警告メッセージが出る

Added by Hidenori Goto about 9 years ago. Updated about 4 years ago.

Status:
Fixed(完了)
Priority:
High(高め)
Target version:
Start date:
2010-09-24
Due date:
% Done:

100%

3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)

Description

警告メッセージ詳細

Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in ****\OpenPNE3\lib\vendor\Zend\Loader.php on line 266

使用箇所

  • lib/config/opApplicationConfigration.class.php registerZend()
  • lib/config/opApplicationConfigration.class.php unregisterZend()
  • lib/util/opMailSend.class.php execute()

修正案

Zend_Loader::registerAutoload()をOpenPNE側で用意する自前のスタティックメソッドで置き換える。
コード例は添付参照。

opTestLoader.class.php View (1.09 KB) Hidenori Goto, 2010-09-24 19:48


Related issues

Related to OpenPNE 3 - Backport(バックポート) #2304: Zend_Loader::registerAutoload()がdeprecatedで警告メッセージが出る Invalid(無効) 2011-07-27

Associated revisions

Revision d47a8fc6 (diff)
Added by Maki Takahashi about 8 years ago

use Zend_Loader_Autoloader instead of Zend_Loader::registerAutoload() (refs #1609)

Revision 1620132b (diff)
Added by Maki Takahashi about 8 years ago

changed registerZend()/unregisterZend() to use Zend_Loader_Autoloader (refs #1609)

History

#1 Updated by Mutsumi Imamura about 8 years ago

  • Priority changed from Normal(通常) to High(高め)
  • Target version set to OpenPNE 3.7.0

#2 Updated by Shingo Yamada about 8 years ago

  • Assignee set to Maki Takahashi

#3 Updated by Maki Takahashi about 8 years ago

  • Status changed from New(新規) to Accepted(着手)

#4 Updated by Maki Takahashi about 8 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

d47a8fc6bd8caedbf2db1dbd4a772bdc62813fd9 にて対応しました。
devモードにて、招待メール送信時に警告メッセージが表示されないことを確認しています。

stable-3.6.xに含まれるZendFramework1.7.3PL1には、
置き換えるべきZend_Loader_Autoloaderが無いため(1.8以降からある)
ライブラリをバージョンアップしなければ対応不要
(Zend_Loader_Autoloaderが無いためエラーになってしまう)のようです。

#5 Updated by Rimpei Ogawa about 8 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)

元々のコードで、opMailSend::execute() から Zend_Loader::registerAutoLoad() が直接呼ばれているのは間違いで、opApplicationConfiguration::unregisterZend() を使うべきだと思います。

opApplicationConfiguration の registerZend(), unregisterZend() の2箇所だけであれば、以下のように直接 Zend_Loader_Autoloader を使ってもそれほど複雑なコードにはならないので独自の Loader を作成するほどでもないかなと思います。

--- a/lib/config/opApplicationConfiguration.class.php
+++ b/lib/config/opApplicationConfiguration.class.php
@@ -504,7 +504,8 @@ abstract class opApplicationConfiguration extends sfApplicationConfiguration

     set_include_path($zendPath.PATH_SEPARATOR.get_include_path());

-    opZendLoader::registerAutoLoad();
+    require_once 'Zend/Loader/Autoloader.php';
+    Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
     self::$zendLoaded = true;
   }

@@ -515,7 +516,8 @@ abstract class opApplicationConfiguration extends sfApplicationConfiguration
       return true;
     }

-    opZendLoader::registerAutoload('Zend_Loader', false);
+    Zend_Loader_Autoloader::resetInstance();
+    spl_autoload_unregister(array('Zend_Loader_Autoloader', 'autoload'));
     self::$zendLoaded = false;
   }

#6 Updated by Shingo Yamada about 8 years ago

  • Tracker changed from Enhancement(機能追加・改善) to Bug(バグ)
  • 3.6 で発生するか set to Yes

#7 Updated by Maki Takahashi about 8 years ago

  • Status changed from Rejected(差し戻し) to Accepted(着手)

#8 Updated by Maki Takahashi about 8 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)

フィードバックに従い
1620132b6a50069c68ed3cda4e25264773b6d527 にて
opApplicationConfigurationのregisterZend(), unregisterZend()内でZend_Loader_Autoloaderを使うように修正しました。

#9 Updated by Rimpei Ogawa about 8 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70

修正確認しました。

#10 Updated by Shingo Yamada about 8 years ago

  • 360対象 set to beta13

#11 Updated by Yuma Sakata over 7 years ago

  • Status changed from Pending Testing(テスト待ち) to Fixed(完了)
  • % Done changed from 70 to 100
  • 3.6 で発生するか changed from Yes to Unknown (未調査)
  • 3.4 で発生するか set to Unknown (未調査)

テストOKです。

#12 Updated by kaoru n about 4 years ago

  • 3.8 で発生するか set to Unknown (未調査)

Also available in: Atom PDF