0

テスト用のPHP5.2がインストールされていません。

Composerif (class_exists('Composer\Autoload\ClassLoader'))がインストールされているかどうかをテストするために使用したいのですが、コードがPHP5.2と互換性がある必要があります。

PHP 5.2はバックスラッシュ文字でスタックしますか?それとも、falseを返し、スクリプトを続行しますか?

4

1 に答える 1

2

名前空間はPHP5.2には存在しません。PHP5.3の新機能として追加されました。

したがって、あなたの質問に対する直接の答えは「はい」です。PHP5.2はバックスラッシュでスタックします。これは、それに関する限り、有効な構文ではないためです。

引用したコード行自体は構文的に無効ではありません。ご指摘のとおり、これは単なる文字列です。ただし、これを渡すと、問題が発生するclass_exists()場合と発生しない場合があります。確認するためのPHP5.2のコピーももうありません。推測すると、完全に爆破するのではなく、何らかの警告や通知をスローすることを期待します。

ただし、composer自体は5.2では動作しないため、ユーザーが5.2を使用している場合、定義上、Composerをインストールすることはできません。phpversion()したがって、最初にPHPのバージョンを直接確認し、 andを呼び出すことで、問題全体を回避できることをお勧めしますversion_compare()class_exists()これにより、通話の不快感を回避できます。

于 2012-11-15T11:40:16.003 に答える