در زیر برخی از راهنمایی های نوشتن کد تمیز در PHP ارائه شده است :
- ورودی توابع ، اگر ورودی توابع بیش از 2 عدد باشد بهتر است از قابلیت معرفی شده در خط پایینتر استفاده کنیم.
کد کثیف :function createNewUser($id,$firstName,$lastName,$email,$password,$phone);
- کد تمیز (با استفاده از قابلیت شی گرایی):
<?php
class User
{
private $id;
private $firstName;
private $lastName;
private $email;
private $password;
private $phone;
public function getId()
{
return $this->id;
}
public function setId($id): void
{
$this->id = $id;
}
public function getFirstName()
{
return $this->firstName;
}
public function setFirstName($firstName): void
{
$this->firstName = $firstName;
}
public function getLastName()
{
return $this->lastName;
}
public function setLastName($lastName): void
{
$this->lastName = $lastName;
}
public function getEmail()
{
return $this->email;
}
public function setEmail($email): void
{
$this->email = $email;
}
public function getPassword()
{
return $this->password;
}
public function setPassword($password): void
{
$this->password = $password;
}
public function getPhone()
{
return $this->phone;
}
public function setPhone($phone): void
{
$this->phone = $phone;
}
}
function createNewUser(User $user)
{
//do something ...
}
$user = new User();
$user->setId(1);
$user->setFirstName("Reza");
$user->setLastName("Eskandari");
$user->setEmail("user@mail");
$user->setPhone("123456");
createNewUser($user);
?>
- توابع فقط باید یک کار و وظیف مشخص را انجام دهند .
کد کثیف :
<?php
function senEmailToActiveUser($users){
foreach ($users as $user){
$userRecord = $db->find($user);
if ($userRecord->is_active){
sendMail($user);
}
}
}
?>
کد تمیز ( در این قسمت وظیفه ها شکسته شده و هر کدام توسط یک function اجرا میشوند) :
<php
function emailUsers($users) {
$activeUsers = activeUsers($users);
array_walk($activeUsers, 'sendMail');
}
function activeUsers($users) {
return array_filter($users, 'isUserActive');
}
function isActiveUser($user) {
$users = $db->find($user);
return $users->is_ctive;
}
?>
- به پراپرتی های یک کلاس پیشوند اضافه نکنید .
کد کثیف :
<?php
class Animal
{
private $animalName;
private $animalType;
private $animalFamily;
}
?>
کد تمیز :
<?php
class Animal
{
private $name;
private $type;
private $family;
}
?>
- اجتناب از نوشتن شرط های کثیف و اضافه .
کد کثیف :
<?php
if (condition == true) {
continue;
} else {
die("Error") or exit();
}
?>
کد تمیز و کمتر :
<?php
if (!condition){
die("invalid") or exit();
}
?>
- اجتناب از نوشتن کدهای HTML در کد های PHP .
کد کثیف :
<?php
echo "<table>";
echo “<tr>”;
echo “<td>”;
echo "hello world !!!";
echo “</td>”;
echo </tr>”;
echo “</table>”;
?>
نمونه کد تمیز تر :
<html>
<body>
<table>
<tr>
<td><?php echo "hello world !!!"; ?></td>
</tr>
</body>
</html>
- استفاده مناسب از SWITCH .
کد کثیف :
<?php
if ($month->number == 7) {
$monthName = "mehr";
} elseif ($month->number == 8) {
$monthName = "aban";
} elseif ($month->number == 9) {
$monthName = "azar";
}
?>
نمونه کد تمیز :
<?php
switch ($month->number) {
case 7:
$monthName = "mehr";
break;
case 8:
$monthName = "aban";
break;
case 9:
$monthName = "azar";
break;
default :
$monthName = "other";
}
?>
این راهنمایی ها تنها چند نمونه مختصر از کدنویسی تمیز در PHP بود.