ホームページ  >  記事  >  バックエンド開発  >  PHP 定数を使用する際の注意点_PHP チュートリアル

PHP 定数を使用する際の注意点_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:33:13703ブラウズ

PHP で定数を慎重に使用する必要があるのはなぜですか?

Zend Framework のドキュメントには次のように書かれています: 定数には英数字とアンダースコアが含まれており、定数名として数字を使用できます。 定数名のすべての文字は大文字にする必要があります。クラス定数は、「const」を介してクラスのメンバーとして定義する必要があり、「define」で定義されたグローバル定数の使用は強く推奨されません。

PHP の公式フレームワークとして、なぜこのような要件があるのでしょうか?

一緒に分析しましょう。

1. 定義では予期しないエラーが発生しやすいです

PHP 定数は、定義後に変更したり、再度割り当てたりすることはできません。しかし、再度割り当てられた場合はどうなるでしょうか?

リーリー

このコードは通知エラーを報告します。その結果、定数を定義する前に、他の人が同じ名前の定数を定義した場合、その定数にどのような値が含まれているかが実際には分からない可能性があります。

2. PHP 定数が定義されているかどうかを確認するにはどうすればよいですか?間違った判断方法を書きやすい

リーリー

3. 実行効率が低い

リーリー

PHPは定数を処理する際に複数の検索を行う必要があるため、効率が低いからです。

要約: PHP 定数の問題は、PHP の定数の処理方法が緩すぎることです。厳密にできれば、多くの問題は回避されるでしょう。実際のプロセスでは、変数を使用できる場合は定数を使用しないでください。変数を使用した方が効率的で便利です。

したがって、定数またはクラス変数を使用する必要がある場合は、次のメソッドを使用できます:

リーリー

クラス名と関数名が同じ場合はどうなるか

PHP 4 では、クラスのコンストラクターはクラス名と同じである必要があり、サブクラスのコンストラクター名はサブクラス名と同じである必要があります。親クラスのコンストラクターはサブクラスで自動的に実行されません。 。サブクラスで親クラスのコンストラクターを実行するには、次のようなステートメントを実行する必要があります:

$this->[親クラス()のコンストラクタ名]

PHP 5.0 以降では、construct() がコンストラクターとして一律に使用されますが、バージョン 4.0 のコンストラクター定義ルールと互換性があります。 4.0 コンストラクターとconstruct() 関数の両方が定義されている場合は、construct() 関数が優先されます。

PHP EOL を使用して改行の /r/n を置き換えます

改行は、プログラムを作成するときによく使用されます。改行を実行するには、PHP 組み込み定数 PHP_EOL を使用します。

小さな改行には、プラットフォームごとに異なる実装があります。 UNIX の世界では改行を置き換えるために n が使用されますが、その違いを反映するために Windows では rn が使用されます。さらに興味深いのは、Mac では r が使用されることです。したがって、unix シリーズでは n が使用され、windows シリーズでは rn が使用され、mac では r が使用されます。

そのため、システムはプラットフォーム システムに応じて異なる改行に変換します。ブラウザで行を折り返す場合は、PHP_EOL 変数を使用して行を折り返す必要があります

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/752544.html技術記事 PHP で定数を慎重に使用する必要があるのはなぜですか? Zend Framework のドキュメントには次のように書かれています: 定数には英数字とアンダースコアが含まれており、定数名として数字が許可されます。 定数名のすべての文字は大きくなければなりません...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。