[
自宅サーバーWebRing
┃
前
|ID=54
前後5表示
|
次
┃
乱移動
|
サイト一覧
]
このサイト内
書籍 DVD CD
Google(日本語)
Google(Web全体)
Google(イメージ)
Google(キャッシュ)
Yahoo! JAPAN
goo 英和
goo 和英
goo 国語
goo 新語
サイトマップ
リンク集
ダウンロード
フォーラム
Users Wiki
最新情報
TOP
»
UsersWiki
»
nao-pon
»
blog
» 2015-04-15のソース
|
一覧
検索
最新
ヘルプ
ページへ戻る
履歴
リンク元
印刷
XCL (XOOPS Cube Legacy) の PHP 5.6 対応
のソース
UsersWiki
:
nao-pon
/
blog
/
2015-04-15
のソース
差分
を表示
nao-pon/blog/2015-04-15
へ行く。
#navi RIGHT:&rsslink(../); #boxdate * XCL (XOOPS Cube Legacy) の PHP 5.6 対応 [#d7c639a0] RIGHT:&tag(XCL,XOOPS,XOOPS X,PHP,PHP 5.6,プログラミング); &ref(site://modules/xelfinder/index.php/view/1910/logo-php56.png,right,mw:300,og); [[Raspberry Pi 2 をウェブサーバーに仕立てて:http://pi2.hypweb.net/xoopsx/]]、PHP 5.6 系で XOOPS X を動かしてみると、大量の "Unknown Condition [8192]: Non-static method 〜" というエラーが表示されます。((PHPデバグをOnにした場合)) 「ん〜これは修正したい!」という欲望に駆られて着手してしまいました。 :-D まずは、コアと XOOPS X でメンテナンスしているモジュールから手を付けます。 一番多いエラーは、MyTextSanitizer::getInstance() のエラーです。 MyTextSanitizer クラスの getInstance() に static キーワードが付いていないのに、静的に呼び出しているのが原因です。PHP 5.6 以前は、E_STRICT エラーだったものが、5.6 以降は E_DEPRECATED エラーとして出力されるようになったので、5.6 以降の環境では、大量にエラーレポートされるようになったわけです。((XCL の PHPデバグでのエラーレポートレベルは "error_reporting(E_ALL ^ E_STRICT)")) 当初は、"error_reporting(E_ALL ^ E_STRICT ^ E_DEPRECATED)" にしてしまおうと思いましたが、E_DEPRECATED を隠してしまうと、将来サポートされなくなる問題点がわかりづらくなってしまうので、error_reporting はそのままにして、コード修正を行うことにしました。 本来なら MyTextSanitizer::getInstance() に static キーワードを付ければいいのですが、MyTextSanitizer クラスはモジュール側で継承クラスを持っていることが多く、安易に static キーワードを付けてしまうと Fatal エラーになってしまいます。 そこで、新しく static なメソッド sGgetInstance() を作って対応することにしました。 モジュール側では、 $ts =& MyTextSanitizer::getInstance(); としているところを (method_exists('MyTextSanitizer', 'sGetInstance') and $ts =& MyTextSanitizer::sGetInstance()) || $ts =& MyTextSanitizer::getInstance(); などとします。 正規表現で置換するなら (\$[\w>-]+)\s*=(\s*&)?\s*MyTextSanitizer\s*::\s*getInstance\s*\(\s*\) を (method_exists('MyTextSanitizer', 'sGetInstance') and $1 =$2 MyTextSanitizer::sGetInstance()) || $0 に置換するとよいと思います。 これらの一連の修正を、コアに関しては XOOPS X の pilot ブランチ、そして XOOPS X リポジトリのモジュールに対して行いました。ただ、まだまだ修正漏れやその他のエラーが表示されますので引き続きひまひまに作業していきます。 X-update で更新できます((pilot ブランチは、正式リリースの前に評価して頂くことを目的にしたブランチで、X-update の一般設定「非表示ストア(開発・先行版)も表示する」を「はい」にすることで表示される「For developer」モジュールストアに含まれています。))ので、テスト環境をお持ちの方は、ぜひ問題点をレポートして頂けると助かります。 RIGHT:&font(90%){&page_comments;}; #navi
nao-pon/blog/2015-04-15 のバックアップソース(No. All)
現: 2015-04-15 (水) 10:59:59
nao-pon
ぺージ情報
ぺージ名 :
nao-pon/blog/2015-04-15
ページ別名 :
未設定
ページオーナー :
nao-pon
閲覧可
グループ :
すべての訪問者
ユーザー :
すべての訪問者
編集可
グループ :
なし
ユーザー :
ゲスト
Counter: 1225, today: 1, yesterday: 0
メインメニュー
ホーム
価格比較 百貨
UsersWiki
新規ページ作成
最新ページ一覧
全ページ一覧
全コメント一覧
ヘルプ
» 関連ページ
» 記述を見る
» 変更点を見る
» バックアップ一覧
» 添付ファイル一覧
» リンク元一覧
xpwiki
お問い合わせ
ファイルマネージャー
ログイン
ユーザー名:
パスワード:
パスワード紛失
|
新規登録
最近の更新
最新の20件
2023-05-14
nao-pon
/
gmap + gmap_street + gmap_insertmarker
nao-pon
/
googlemaps2
2023-03-22
PublicBlog
/
The Importance of QFP in PCB
2023-02-28
FrontPage
/
PCB terminology you must know
2023-01-20
nao-pon
/
blog
/
ESP8266 を壊してしまいました しかも続けて2回も
2022-09-22
nao-pon
/
blog
/
ESP32 + ESPHome の Bluetooth Proxy で SwitchBot Mater
2022-08-26
nao-pon
/
blog
/
独自ビルドの Tasmota を 12.1.1 へ
2022-08-19
nao-pon
/
blog
/
Zigbee + ZHA のメモ書き
2022-01-17
nao-pon
/
blog
/
HomeAssistant 統合の Tasmota-IRHVAC に貢献
2021-08-03
nao-pon
/
ファイル置き場
/
スペースサワダ
2021-07-01
nao-pon
/
blog
/
HomeAssistant 統合の Tasmota-IRHVAC の不具合修正
2021-06-20
nao-pon
/
blog
/
Tasmota を 9.4.0 から 9.5.0 へアップデート
2021-06-15
nao-pon
/
blog
/
ミンティア[MINTIA] で WiFi 6ボタンスイッチを作った
2021-04-27
PublicBlog
2021-03-17
nao-pon
/
blog
/
SwitchBot 温湿度計を ESP32 でモニタリング
2021-03-13
nao-pon
/
blog
/
東芝エアコンのエントリーモデルもWiFi化
2021-02-23
risoulaser
2021-02-18
nao-pon
/
blog
/
Panasonic (ナショナル) エアコンの 2008 年モデルも WiFi 化
2021-02-15
nao-pon
/
blog
/
Tasmota で HA 端子(JEM-A) 連携
2021-02-07
nao-pon
/
blog
/
Tasmota で三菱エアコンを完全コントロール
オンライン状況
464 人のユーザが現在オンラインです。 (14 人のユーザが UsersWiki を参照しています。)
登録ユーザ: 0
ゲスト: 464
もっと...
サイト情報