プロジェクト

全般

プロフィール

Bug(バグ) #3406

完了

Task(タスク) #3403: OpenPNE の既存のテストコードが正常に動作するように修正を行う

opMobileUserAgent::__construct() で E_STRICT エラーが発生する

Youichi Kimura さんが約11年前に追加. 7年以上前に更新.

ステータス:
Won't fix(対応せず)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
期日:
進捗率:

0%

予定工数:
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)

説明

Overview (現象)

opMobileUserAgent::__construct() には Net_UserAgent_Mobile::factory() を呼び出している箇所があるが、Net_UserAgent_Mobile は PHP4 の形式で書かれたクラスのため、静的メソッドとして呼び出される factory() メソッドに static キーワードが付与されていない。そのため、factory() を呼び出した時点で E_STRICT エラーが発生してしまう。

  protected function __construct()
  {
    require_once 'Net/UserAgent/Mobile.php';
    require_once 'Net/UserAgent/Mobile/NonMobile.php';

    self::$mobile = Net_UserAgent_Mobile::factory();
    if (self::$mobile instanceof Net_UserAgent_Mobile_Error)
    {   
      self::$mobile = new Net_UserAgent_Mobile_NonMobile('');
    }   
  }

Way to fix (修正内容)

Net_UserAgent_Mobile::factory() を使用しているのは opMobileUserAgent::_construct() 以外に無いため、factory() を呼び出す前後で一時的に E_STRICT エラーを error_reporting の値から外すことで回避する。


関連するチケット 2 (0件未完了2件完了)

関連している OpenPNE 3 - Backport(バックポート) #3417: opMobileUserAgent::__construct() で E_STRICT エラーが発生するFixed(完了)Youichi Kimura2013-09-24

操作
関連している OpenPNE 3 - Backport(バックポート) #3418: opMobileUserAgent::__construct() で E_STRICT エラーが発生するFixed(完了)Akihiro KOBAYASHI2013-10-04

操作

Youichi Kimura さんが約11年前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

更新履歴 5749159540e18f2af0e3bc5373f72a3ddeefe5c8 で適用されました。

Shinichi Urabe さんが約11年前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

レビューOKです

isao sano さんが7年以上前に更新

  • ステータスPending Testing(テスト待ち) から Won't fix(対応せず) に変更
  • 進捗率70 から 0 に変更

OpenPNE 3.8.9 にて対応済みであったため、対応せずとします。

他の形式にエクスポート: Atom PDF