PHP がコードの品質を保証する方法

王林
リリース: 2023-02-24 19:00:01
オリジナル
2397 人が閲覧しました

PHP がコードの品質を保証する方法

#php のコード品質を向上させるいくつかの方法

#1. 相対パスを使用しない

よく見かける:
#

require_once('../../lib/some_class.php');
ログイン後にコピー

#この方法には多くの欠点があります: #最初に指定された php インクルード パスを検索し、次に現在のディレクトリを検索するため、チェックされるパスが多すぎます。スクリプトが別のディレクトリのスクリプトにインクルードされている場合、そのベース ディレクトリが他のスクリプトが配置されているディレクトリになります。別の問題は、スケジュールされたタスクがスクリプトを実行するときに、その親ディレクトリが作業ディレクトリではない可能性があることです。

したがって、最良のオプションは絶対パスを使用することです:

define('ROOT' , '/var/www/project/');
require_once(ROOT . '../../lib/some_class.php');
//rest of the code
ログイン後にコピー
絶対パスを定義し、値は Dead と書き込まれます。まだまだ改善の余地はあります。パス /var/www/project も変更される可能性があるので、毎回変更する必要がありますか? いいえ、
__FILE__ 定数を使用できます。
//suppose your script is /var/www/project/index.php
//Then __FILE__ will always have that full path.
define('ROOT' , pathinfo(__FILE__, PATHINFO_DIRNAME));
require_once(ROOT . '../../lib/some_class.php');
//rest of the code
ログイン後にコピー

これで、外部サーバーへの移動など、どのディレクトリに移動しても、コードは変更せずに正しく実行されます。

#2. require、include、include_once、required_once を直接使用しないでください。

は使用できます。スクリプト ヘッドにクラス ライブラリ、ツール ファイル、ヘルパー関数などの複数のファイルを次のように導入します。ファイルを含めるヘルパー関数を作成する必要があります。例:

require_once('lib/Database.php');
require_once('lib/Mail.php');
require_once('helpers/utitlity_functions.php');
ログイン後にコピー

何が違いますか? コードがより読みやすくなります。将来的には、必要に応じて関数を拡張できます。 like:

function load_class($class_name)
{
//path to the class file
$path = ROOT . '/lib/' . $class_name . '.php');
require_once( $path );
}
load_class('Database');
load_class('Mail');
ログイン後にコピー

さらにできること:

同じファイルの複数のディレクトリを検索し、クラス ファイルが配置されているディレクトリを簡単に変更するコードを 1 つずつ変更する必要はなく、同様の関数を使用して HTML コンテンツなどのファイルを読み込むことができます。

3. アプリケーションのコードのデバッグを継続する

開発環境では、データベース クエリ ステートメントを出力し、問題のある変数値をダンプします。問題が解決したら、コメントするか削除します。ただし、より良い方法は、デバッグ コードを保持することです。開発環境では、次のことができます。

function load_class($class_name)
{
//path to the class file
$path = ROOT . '/lib/' . $class_name . '.php');
if(file_exists($path))
{
require_once( $path );
}
}
ログイン後にコピー
サーバーでは、次のことができます。

define('ENVIRONMENT' , 'development');
if(! $db->query( $query )
{
if(ENVIRONMENT == 'development')
{
echo "$query failed";
}
else
{
echo "Database error. Please contact administrator";
}
}
ログイン後にコピー

推奨チュートリアル: PHP ビデオ チュートリアル

以上がPHP がコードの品質を保証する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート