不要なコンテキストを追加しないでください
クラス名またはオブジェクト名に特定の意味がある場合は、変数名を繰り返さないでください。
悪い:
<?php class Car{ public $carMake; public $carModel; public $carColor; //... }
良い:
<?php class Car{ public $make; public $model; public $color; //... }
関数パラメータの数 (理想的には 2 未満)
関数パラメータを制限するパラメーターの数は、関数のテストが容易になるため、非常に重要です。パラメーターが 3 つを超えると、それぞれのパラメーターでさまざまな状況をテストする必要があります。
パラメータがないのが理想的な状況です。 1 つまたは 2 つのパラメーターは問題ありませんが、3 つを使用することは避けてください。通常、パラメータが 3 つ以上ある場合、関数は多くのことを実行しようとしていますが、そうでない場合は、ほとんどの場合、上位レベルのオブジェクト (翻訳者注: 配列、オブジェクトなど) がパラメータとして十分です。
悪い:
<?php function createMenu($title, $body, $buttonText, $cancellable) { // ...}
良い:
<?php class MenuConfig { public $title; public $body; public $buttonText; public $cancellable = false;}$config = new MenuConfig();$config->title = 'Foo';$config->body = 'Bar';$config->buttonText = 'Baz';$config->cancellable = true;function createMenu(MenuConfig $config) { // ...}
関数は 1 つのことだけを行うべきです
これはソフトウェア エンジニアリングにおける最も重要なルールです。関数が複数のことを実行する場合、関数の作成とテストは難しくなります。関数をアクションに分離できれば、簡単にリファクタリングでき、コードが読みやすくなります。
悪い例:
<?phpfunction emailClients($clients) { foreach ($clients as $client) { $clientRecord = $db->find($client); if ($clientRecord->isActive()) { email($client); } }}
良い例:
function emailClients($clients) { $activeClients = activeClients($clients); array_walk($activeClients, 'email'); } function activeClients($clients) { return array_filter($clients, 'isClientActive'); } function isClientActive($client) { $clientRecord = $db->find($client); return $clientRecord->isActive(); }
get メソッドと set メソッドを使用する
PHP では、メソッドに public、protected、および private キーワードを設定できます。を使用すると、オブジェクトのプロパティの表示/非表示を制御できます。これは、オブジェクト指向設計のオープン/クローズ原則の一部です。
悪い:
class BankAccount { public $balance = 1000; } $bankAccount = new BankAccount(); // Buy shoes... $bankAccount->balance -= 100;
良い:
class BankAccount { private $balance; public function __construct($balance = 1000) { $this->balance = $balance; } public function withdrawBalance($amount) { if ($amount > $this->balance) { throw new \Exception('Amount greater than available balance.'); } $this->balance -= $amount; } public function depositBalance($amount) { $this->balance += $amount; } public function getBalance() { return $this->balance; } } $bankAccount = new BankAccount(); // Buy shoes... $bankAccount->withdrawBalance($shoesPrice); // Get balance $balance = $bankAccount->getBalance();
推奨チュートリアル: 「PHP チュートリアル 」
以上がPHPコード記述仕様の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。