BugTrack/2369
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* PHP7対応 [#y99b2374]
- ページ: [[BugTrack2]]
- 投稿者: [[umorigu]]
- 優先順位: 重要
- 状態: 完了
- カテゴリー: 本体新機能
- 投稿日: 2016-01-03 (日) 07:32:46
- バージョン: 1.5.0
- リリース予定バージョン: 1.5.1
#contents
** メッセージ [#z123c55f]
2015/12/03 に PHP7 が リリースされました。 [[php.net:arch...
2016-01-03時点の最新版である PukiWiki 1.5.0 は PHP7 で動...
----
PukiWiki 1.5.0 を PHP7 で動作させたときの表示:
Parse error: syntax error, unexpected 'new' (T_NEW) in C...
関連情報:
- Migrating from PHP 5.6.x to PHP 7.0.x -- [[php.net:manu...
分かっている問題:
- 1. 新しいオブジェクトを参照渡しで代入できない - 「new ...
-- [[php.net:manual/ja/migration70.incompatible.php#migra...
-- 対策: ' $var = & new Class ' のコードは ' $var = new C...
- 2. 変更された関数 - preg_replace() 関数が "\e" (PREG_RE...
-- [[php.net:manual/ja/migration70.changed-functions.php#...
-- 注釈の抽出に $NotePattern (lib/html.php, lib/init.php)...
-- 同一個所のバグ: [[BugTrack2/22]] 見出しと目次に含まれ...
-- 同一個所のバグ2: [[BugTrack2/358]] XAMPPの特定バージョ...
-- 対策: /e を使わなくしました。(もともと PREG_REPLACE_EV...
- 3. navi.inc.php のNextリンクが不正。リンク先がparentと...
-- foreach の変更 - 「foreach は内部の配列ポインタを変更...
-- [[php.net:manual/ja/migration70.incompatible.php#migra...
-- arrayの内部ポインタの挙動の違いによるもの (current関数)
--- 参考リンク: wiki.php.net/rfc/php7_foreach qiita.com/h...
-- 対策: 配列の内部変数に依存しないロジックに書き換えた。...
- 4. ereg系正規表現関数がなくなった
-- 削除された拡張モジュール - ereg
-- [[php.net:manual/ja/migration70.removed-exts-sapis.php...
-- 問題例: calendar_viewer プラグインの表示ができない
-- 対策: ereg は preg_replace に ereg_replace は preg_rep...
--------
** コメント: & new Class() [#e1f913c0]
- & new Class() の構文がサポートされなくなったようなので...
-- ふむ・・・ Deprecated になったといういう記載は無さそう...
-- ここのようです。 [[php.net:manual/ja/migration70.incom...
- '& new Class' を 'new Class' に変えるだけで PHP7 でも動...
-- officialとdevのデータをPHP4.1と7で表示してみて差分をと...
- 新しいオブジェクトを参照渡しで代入できない は、[[BugTra...
-- 情報ありがとうございます。[[BugTrack2/146]] ここで & n...
-- 参照返しでの"return new Class()"に関する[[BugTrack2/14...
-- 早とちりしました。今のところ問題ないので結果オーライと...
- なるほど "&" が目に入っていませんでした。
-- PHP4においてオブジェクトを代入した際の挙動はいわゆる d...
-- PHP5からはオブジェクトを代入した際の挙動が shallow cop...
-- PHP7では %%class の参照渡しの記法自体が禁じられた。%% ...
--- もしかすると少し誤解があるかもしれません。PHP7でもオ...
-- このような状況で、仮にPHP4のコードをPHP7的に直すのであ...
-- なので例えば lib/config.php で umorigu さんが変更され...
--- 「とある変数に代入したオブジェクトを、別の変数に代入...
- ちなみに $obj = new Class() した後に、 $obj2 = & $obj (...
-- オブジェクトの参照の代入はできるようです -- [[umorigu]...
class C { var $v; function __construct($_v) { $this->v =...
$a = new C(1);
$b = new C(3);
echo $a->v; // => 1
echo $b->v; // => 3
$ref_a = &$a;
$ref_a = $b;
echo $a->v; // => 3
echo $b->v; // => 3
$ref_a->v = 5;
echo $a->v; // => 5
echo $b->v; // => 5
$b->v = 7;
echo $a->v; // => 7
echo $b->v; // => 7
-- 確認をありがとうございました。オブジェクトの参照渡し自...
- そもそも参照渡ししている理由は何でしょうか。PHPではポイ...
-- 過去の実装なので推測するしかないのですが、PHP4とPHP5の...
- navi.inc.php のNextリンクが不正、修正方法がわかりません...
-- navi.inc.php になにかバグを見つけたということでしょう...
#comment
** コメント [#qd5e3302]
- 正直、今回のPHP7は今までの流れから大きく方向転換してイ...
- なので、PHP4や古い環境向けのバグFIXのみを1.5系に残しつ...
-- 昨日まで私もそう("PHP4と完全互換で同一スクリプトとい...
- PHP7 で [[PukiWiki official>pukiwiki:FrontPage]] と [[d...
- branch_r1_5ブランチのHEADではPHP7で動作するようになりま...
- &だけ対応しましたが、#contentsが使えないみたいです。 --...
-- #contents の見出しリストが正しく表示されないのは「2. ...
--- すいません、コメントの5つの変更が追えないのですが、サ...
--- 4項目が5つに分割されてコミットされている(=5つの変更...
--- はい。それでOKです。 [[df0569a>osdn.net:projects/puki...
$ git log --oneline --graph --decorate 1746320
* 1746320 Merge branch 'php7' into branch_r1_5
|\
| * df0569a BugTrack2/369 PHP7: Replace ereg regex funct...
| * 6ac4ecf BugTrack2/369 Follow PHP7 changes of interna...
| * 51ce191 BugTrack2/369 PHP7 - Remove /e (PREG_REPLACE...
| * 59f8641 Fix invalid reference operator of array for ...
| * b1489f4 BugTrack2/369 Support PHP7 - Remove '& new C...
|/
* 4752aff BugTrack2/358 Improve note regex for better PH...
#comment
終了行:
* PHP7対応 [#y99b2374]
- ページ: [[BugTrack2]]
- 投稿者: [[umorigu]]
- 優先順位: 重要
- 状態: 完了
- カテゴリー: 本体新機能
- 投稿日: 2016-01-03 (日) 07:32:46
- バージョン: 1.5.0
- リリース予定バージョン: 1.5.1
#contents
** メッセージ [#z123c55f]
2015/12/03 に PHP7 が リリースされました。 [[php.net:arch...
2016-01-03時点の最新版である PukiWiki 1.5.0 は PHP7 で動...
----
PukiWiki 1.5.0 を PHP7 で動作させたときの表示:
Parse error: syntax error, unexpected 'new' (T_NEW) in C...
関連情報:
- Migrating from PHP 5.6.x to PHP 7.0.x -- [[php.net:manu...
分かっている問題:
- 1. 新しいオブジェクトを参照渡しで代入できない - 「new ...
-- [[php.net:manual/ja/migration70.incompatible.php#migra...
-- 対策: ' $var = & new Class ' のコードは ' $var = new C...
- 2. 変更された関数 - preg_replace() 関数が "\e" (PREG_RE...
-- [[php.net:manual/ja/migration70.changed-functions.php#...
-- 注釈の抽出に $NotePattern (lib/html.php, lib/init.php)...
-- 同一個所のバグ: [[BugTrack2/22]] 見出しと目次に含まれ...
-- 同一個所のバグ2: [[BugTrack2/358]] XAMPPの特定バージョ...
-- 対策: /e を使わなくしました。(もともと PREG_REPLACE_EV...
- 3. navi.inc.php のNextリンクが不正。リンク先がparentと...
-- foreach の変更 - 「foreach は内部の配列ポインタを変更...
-- [[php.net:manual/ja/migration70.incompatible.php#migra...
-- arrayの内部ポインタの挙動の違いによるもの (current関数)
--- 参考リンク: wiki.php.net/rfc/php7_foreach qiita.com/h...
-- 対策: 配列の内部変数に依存しないロジックに書き換えた。...
- 4. ereg系正規表現関数がなくなった
-- 削除された拡張モジュール - ereg
-- [[php.net:manual/ja/migration70.removed-exts-sapis.php...
-- 問題例: calendar_viewer プラグインの表示ができない
-- 対策: ereg は preg_replace に ereg_replace は preg_rep...
--------
** コメント: & new Class() [#e1f913c0]
- & new Class() の構文がサポートされなくなったようなので...
-- ふむ・・・ Deprecated になったといういう記載は無さそう...
-- ここのようです。 [[php.net:manual/ja/migration70.incom...
- '& new Class' を 'new Class' に変えるだけで PHP7 でも動...
-- officialとdevのデータをPHP4.1と7で表示してみて差分をと...
- 新しいオブジェクトを参照渡しで代入できない は、[[BugTra...
-- 情報ありがとうございます。[[BugTrack2/146]] ここで & n...
-- 参照返しでの"return new Class()"に関する[[BugTrack2/14...
-- 早とちりしました。今のところ問題ないので結果オーライと...
- なるほど "&" が目に入っていませんでした。
-- PHP4においてオブジェクトを代入した際の挙動はいわゆる d...
-- PHP5からはオブジェクトを代入した際の挙動が shallow cop...
-- PHP7では %%class の参照渡しの記法自体が禁じられた。%% ...
--- もしかすると少し誤解があるかもしれません。PHP7でもオ...
-- このような状況で、仮にPHP4のコードをPHP7的に直すのであ...
-- なので例えば lib/config.php で umorigu さんが変更され...
--- 「とある変数に代入したオブジェクトを、別の変数に代入...
- ちなみに $obj = new Class() した後に、 $obj2 = & $obj (...
-- オブジェクトの参照の代入はできるようです -- [[umorigu]...
class C { var $v; function __construct($_v) { $this->v =...
$a = new C(1);
$b = new C(3);
echo $a->v; // => 1
echo $b->v; // => 3
$ref_a = &$a;
$ref_a = $b;
echo $a->v; // => 3
echo $b->v; // => 3
$ref_a->v = 5;
echo $a->v; // => 5
echo $b->v; // => 5
$b->v = 7;
echo $a->v; // => 7
echo $b->v; // => 7
-- 確認をありがとうございました。オブジェクトの参照渡し自...
- そもそも参照渡ししている理由は何でしょうか。PHPではポイ...
-- 過去の実装なので推測するしかないのですが、PHP4とPHP5の...
- navi.inc.php のNextリンクが不正、修正方法がわかりません...
-- navi.inc.php になにかバグを見つけたということでしょう...
#comment
** コメント [#qd5e3302]
- 正直、今回のPHP7は今までの流れから大きく方向転換してイ...
- なので、PHP4や古い環境向けのバグFIXのみを1.5系に残しつ...
-- 昨日まで私もそう("PHP4と完全互換で同一スクリプトとい...
- PHP7 で [[PukiWiki official>pukiwiki:FrontPage]] と [[d...
- branch_r1_5ブランチのHEADではPHP7で動作するようになりま...
- &だけ対応しましたが、#contentsが使えないみたいです。 --...
-- #contents の見出しリストが正しく表示されないのは「2. ...
--- すいません、コメントの5つの変更が追えないのですが、サ...
--- 4項目が5つに分割されてコミットされている(=5つの変更...
--- はい。それでOKです。 [[df0569a>osdn.net:projects/puki...
$ git log --oneline --graph --decorate 1746320
* 1746320 Merge branch 'php7' into branch_r1_5
|\
| * df0569a BugTrack2/369 PHP7: Replace ereg regex funct...
| * 6ac4ecf BugTrack2/369 Follow PHP7 changes of interna...
| * 51ce191 BugTrack2/369 PHP7 - Remove /e (PREG_REPLACE...
| * 59f8641 Fix invalid reference operator of array for ...
| * b1489f4 BugTrack2/369 Support PHP7 - Remove '& new C...
|/
* 4752aff BugTrack2/358 Improve note regex for better PH...
#comment
ページ名: