ホームページ  >  記事  >  バックエンド開発  >  php5.4.0 に関するいくつかの小さな問題

php5.4.0 に関するいくつかの小さな問題

WBOY
WBOYオリジナル
2016-06-23 14:01:58883ブラウズ

夕方にphp5.4.0をアップデートしたばかりですが、環境はWindows7 + Apache2.2 + MySQL5.1 + PHP5.4.0で、php.iniは更新されておらず、以前のバージョン(php5.2)のままです。前述したように、2 つの小さな問題があります:

1. php5.4.0 の名前空間空間の問題:

<?phpnamespace Foo;class test{/*hello php 5.4.0*/}?>

表示:
致命的なエラー: 名前空間宣言ステートメントは、F:htdocsrules.php のスクリプトの最初のステートメントである必要があります。 2
何が問題ですか? ? ?どんなに宣言しても無駄です。 。 。 。マニュアルからコードを直接コピーしてもエラーが発生します。 。 。 。 php5.4自体のエラーなのか、それとも私の設定に問題があるのでしょうか? ?

2. コードを直接投稿します:
$phpinfo = function (){		echo 'hello world!';	}		phpinfo();	$phpinfo();


エラー コード: 解析エラー: 構文エラー、予期しない 'phpinfo' (T_STRING)
これは問題ではないと思いますが、なぜこのようになるのか知りたいだけです。直接書き換える 上書きすると関数宣言のところで直接致命的なエラーが発生しますが、ここでは正常に実行でき、PHPの組み込みメソッドを直接オーバーライドします(正常に出力できないが)。 5.4、他のバージョンでも同じだと思いますが、バグですか? ?ありがとうございます
さらに、バージョン 5.4 の機能をいくつか教えていただけますか? ?
私は長い間 PHP を触っていなかったので、PHP の新機能を理解するどころか、少し慣れています。 。 。 。
改めてありがとうございます


ディスカッションへの返信 (解決策)

もう 1 つの質問です。

PHP 警告: PHP 起動: 無効なライブラリ (PHP ライブラリではない可能性があります) 'libmcrypt.dll' が行 0 に不明です
PHP 警告: PHP 起動: 動的ライブラリ '../PHP/extphp_iconv.dll' をロードできません - 中行 0 の Unknown に無効なパス
が含まれています

これを解決するにはどうすればよいですか?デバッグ出力はUEでphp.exeを呼び出すことで生成されますが、通常の使用には問題ありません。 。 。 。非常に憂鬱ですが、なぜ DOS はエラーを報告するのでしょうか? 。 。 。
(注: モバイル構成は自分で構成しましたが、以前にエラーが発生しました。libmcrypt.dll と php_iconv.dll を /Windows ディレクトリに配置して利用できるようにしましたが、今では再びエラーが報告されており、イライラしています... )

1. エラー プロンプト それはおそらくプログラムに BOM ヘッダーがあることを示しています。 2. これは $phpinfo に値を代入しているため、行の最後にセミコロンを追加して正しく閉じます。
3. エラー メッセージで指定されたパスが正しいかどうかを確認します。

最初のものは、BOM ヘッダーに問題があるはずです。2 つ目は、$phpinfo を匿名関数として定義しているだけであり、phpinfo( とは関係ありません。 ) phpinfo() を上書きしていない後に ';' を追加するのが通常です

新しい機能は次の構文をサポートします:

//Short array syntax$a=[1,2,3,4,5,6];//Array dereferencingfunction foo(){ return array(1,2,3,4);}echo foo()[1];


組み込み Web サーバーと Traits もあります

確認の質問 1: 確かにUTF-8 BOM ヘッダーの問題が解決されました:

UE は BOM なしで UTF-8 形式で保存します、修正されました。

拡張質問 2: 後続の引用符の削除は正しく呼び出すことができますが、引用符が追加されないとエラーが発生しないのはなぜですか? ?

私も問題 1 に遭遇しましたが、私の場合は最初の行に `#! /bin/env php` が書かれていたためでした

言語の変更を一言で説明するのは難しいので、ドキュメントを確認した方がよいでしょう。

以下は、php 5.3 から 5.4 への変更点について確認したものです
http://www.php.net/manual/zh/migration54.php

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。