PHP5に関する質問です。現在JpGraphを用いてグラふを作成するソフトを作っているのですが、サンプル(EUC)のファイルでは動作するものの、現在製作中のコード(UTF)では「JpGraph Error General PHP error : Assigning the return value of new by reference is deprecated 」といったメッセージが表示されるのみになっています。

環境はMac OS X、PHP5.2です。
エンコーディングの問題かと思いますが、確信は持てていません。よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2006/12/31 18:40:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:bonlife No.1

回答回数421ベストアンサー獲得回数75

ポイント10pt

サンプルの文字コードを全てUTF-8に変更した場合、正しく動作しますか?

動作しない場合、文字コードの問題ではないという切り分けが出来るはずです。

ご存知かもしれませんが、このエラーは「newの結果をリファレンスとして返すのは非推奨(廃止予定)です。」という内容です。

オブジェクトへのリファレンスを渡そうとしている箇所があり、そこでエラーが発生しているのではないでしょうか。

[参考URL]

<?php
$bar =&amp; new fooclass();
$foo =&amp; find_var($bar);
?>

PHP 5 以降、new は自動的にリファレンスを返すようになりました。そのため、この場面で =& を使用することは非推奨となり、 E_STRICT レベルのメッセージが表示されるようになりました。

(ソースコード中では & a m p ; となってしまっていると思いますが、実際には & のみです。)

ソースの中に上記のように new の結果を & で渡している箇所がある場合、& を外してnewが返すリファレンスを代入すれば良いはずです。

少しでも参考になれば幸いです。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません