Only variables should be passed by reference in lib/convert_html.php が発生†
- ページ: BugTrack
- 投稿者: pontam
- 優先順位: 普通
- 状態: 提案
- カテゴリー: 本体バグ
- 投稿日: 2022-03-31 (木) 15:54:00
- バージョン: 1.5.4
メッセージ†
PHP Notice ですが,
337・965・982・1017行目で発生していると言われてしまいます。
- 今のところnoticeは無視しても構いませんが、オブジェクトは元々参照型なのでconvert_html.phpから不要な&を取り除いてみました。 commit:0cf09f0503 -- はいふん
- これ (ぴったり今回のケースに当てはまるかはわかりません)、経緯を書いておきます。PHP4ではオブジェクト(classで定義されるクラスのインスタンス)が参照ではなかったため、PHP4とPHP5以降のどちらでも動作する書き方をしてあるはずです。一部、最新PHPで動かないケースは対応しています(newの前の「&」や __construct() 等)。 問題は、この変更を入れた結果としてNoticeが消えるのと引き換えにPHP4.xで動かなくなる可能性があることで、互換性を重視してこのような対応はしてきませんでした。元のコードもPHP8で動作するので、新実装では単にPHP4で動作しなくなっただけになってしまいます。もっというと convert_html のロジックは非常に複雑なので基本的な構造には手を加えていません。PHP4でも動く範囲の変更であれば躊躇なく入れるのですが、そうでなければNoticeを取り除くだけの変更はあまり、行いたくありません。 -- umorigu
- すみません、そうでしたか。経緯までご丁寧にありがとうございます。この場合はブランチを削除しても構いませんか? -- はいふん
- そのままにしておいてください。後でマージすることになるかもしれませんし -- umorigu
- ご回答ありがとうございます。承知いたしました。 -- pontam