Начало Новини Маркет Проекти Форум ИТ Работа Уроци Скриптове WiFi точки Още Вход


Чисти кодове , сигурна и лесна поддръжка на PHP код

От Mutatos / 14.02.2012 21:36
Размер на шрифта: A | A | A

Всеки код, когато е  написан чист е по- лесен за разбиране и се приема с готовност от всички. Важно е кодовете, които пишем, да бъдат разбрани, защото не е необходимо същите програми да работят винаги със един и същ набор от кодове . За лесна идентификация и разбиране на кодовете за всеки програмист, който работи върху тях е от съществено значение, кодовете да са структурирани, чисти, сигурни и лесни  за поддържане.

Обясненията по-долу са за някои от лесните начини , за поддръжка на чисти и лесни за разбиране PHP кодове. Те са в произволен ред но имат еднаква важност


1.Много е важно да се коментира всяко действие, което се извършва

Това не само помага за лесното идентифициране на този конкретен код, но също така дава чист вид на кодовете

CODE
1
2
3
4
5
// Function for login checking
if(!$user_login){
header("Location:http://www.macronimous.com/");
die();
}


2.Пази се от използване на условни конструкции:

Това не само увеличава времето за изпълнение, но също така прави кодирането дълго  и сложно.

Така например,

CODE
1
2
3
4
5
6
7
<?php
If
(condition1==true){
   
code which satisfies the above condition
} else {
   
perform   die(); or exit();
}
?>


Същият набор от кодове може да се изписва и така:
CODE
1
2
3
4
5
6
7
<?

if(!condition){
//
display warning message.
die("Invalid statement");
 
}
?>

Това намалява времето за изпълнение, а също и  лесна кодова поддръжка.

Същото може да бъде записано като
CODE
1
2
3
4
<?php
$response_text = ( $action == "edit" )"the action equals edit" : "the action does not equal edit";
echo $response_text;
?>


Тук са използвани три компонентни оператори, вместо да се използват условни конструкции, за да се опрости кодирането.

3.Индентификация на кода, с цел да се подчертае извлечениета от начало до края.

CODE
1
2
3
4
5
6
7
<?php
If
(mysql_num_rows($res)>0) {
while($a=mysql_fetch_object($res)){
echo $a->first_name;
}//ending of while loop
}//ending of if condition
?>


4.Избягвай нежелани HTML тагове в кода на PHP:
В примера, даден по-долу, компилаторът на PHP минава през всеки ред от кода и изпълнява функция, която отнема много време.

Например:

CODE
1
2
3
4
5
6
7
8
9
<?php
echo
"<table>";
echo “<tr>”;
echo “<td>”;
echoHai welcome to php”;
echo “</td>”;
echo </tr>”;
echo “</table>”;
?>

Вместо по-горе, можем просто да кажем,

CODE
1
2
3
4
5
6
7
8
<html>
<
body>
<
table>
<
tr>
<
td><?php echo "Hai welcome to php"; ?></td>
</
tr>
</
body>
</
html>


Тук компилаторът PHP ще изпълни само конкретен код сървър в примера, <td> <PHP Echo "Hai welcome to php";?> </ TD>, вместо създаване на HTML тагове, които HTML кодове са чужди на PHP. Това намалява  излишно време за проверка на компилатора на PHP, като по този начин спестява време за изпълнение на кода.

5.Чист код в присвояване на стойностите  на MySQL Аргументи:

пример
CODE
1
2
3
$sql="select first_name,last_name,email_address from tbl_user where user_id=".$user_id." and member_type='".$member_type."'";
 
mysql_query($sql);

В горния пример, можете да видите, че PHP стойности  включени в различни състояния. Също така има много поредици,  за да направят променлива в рамките на заявката.

Може това,

CODE
1
2
3
$sql="select first_name,last_name,email_address from tbl_user where user_id="%d" and member_type='"%s"'";

mysql_query(sprintf($sql,$user_id,$member_type));

С помощта на тази заявка, стойностите автоматично се поставя на съответните позиции, като по този начин спестявате време за изпълнение, както и програмистите могат лесно да намерят стойности, свързани с изминали аргументи.

6.Използвай  Масивите:

Винаги е по-добре да се използват масивите в PHP, тъй като те са доста лесен за управление и лесно разбираеми.
CODE
1
2
3
<?php
 
$products=array("Dove","Apple","Nokia");
?>

Използването Сплит масив е също много добър начин за кодиране в PHP. Въпреки това, има начини да се използва масив за разделяне:
Вместо:
CODE
1
2
3
4
5
<?
for($iC=0;$iC<count($products);$iC++){
echo $products[$iC].”<br>”;
}
?>

Вместо това, тези кодове могат да бъдат написани, както следва:
CODE
1
2
3
4
5
<?
foreach($products as $product_value){
echo $product_value;
}
?>

foreach е специално за масиви. Когато се използва, те намаляват кодираната дължина и  функциониращото време.

7.consistent именуване:

Препоръчително е да именуват класове, обекти и други последователно. Това помага за лесна идентификация за други програмисти, които биха могли да работят по-късно по проекта. Също така имената на файловете в местните директории също трябва да бъдат лесни за разбиране.

8.Използвайте обектите [class]

Въпреки че изглежда да е доста сложно за  новобранците, обектите са много полезни, тъй като тя намалява код повторение, и също така улеснява достъпа до промени в кодовете. Когато се използва в този клас , го прави по-гъвкав за работа.
Прост функционалност клас, се обяснява по-долу:

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?

Class shopping_cart{

var $cart_items;

function add_product_item($cart_number,$quantity){
$this->items[$cart_number]+=$quantity;
}

}


//
Call the class function
$cart=new shopping_cart();
$cart->add_product_item("123",10);

?>

9.Използването на примката кодове:

Има много примки  кодове за достъп в PHP. Много е важно да изберете правилната примка код за дадена цел, така че могат да бъдат спестени по време на изпълнение .
Например:
CODE
1
2
3
4
$res=mysql_query("select * from tbl_products");
for($iC=0;$iC< mysql_num_rows($res);$iC++){
echo mysql_result($res,$iC);
}


Същото може да се кодира по този начин, с цел да се намали времето за изпълнение:
CODE
1
2
3
4
$res=mysql_query("select * from tbl_products");
while($obj=mysql_fetch_object($res)){
echo $obj->column_name1;
}


Определено е изгодно да използвате Case switches. Това е така, защото switches са еквивалентни ако се използва IF серия извлечения на един и същи израз.

Пример за използване на IF серия:

CODE
1
2
3
4
5
6
7
8
9
if($checking_value1==$value){
echo "result1";
}elseif($checking_value2==$value){
echo "result2";
}elseif($checking_value3==$value){
echo "result3";
}else{
echo "result 4";
}

Същото нещо може да се изрази в по-прост начин, с помощта на , което значително switch case намалява оперативното време:
CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
switch($checking_value){
case Value1:
echo "result1";
break;

case Value2:
echo "result2";
break;

case Value3:
echo "result3";
break;

default:
echo "result4";
break;

}

11.Използване на единични кодове вместо двойни кавички:

Че тези две обслужват различни цели, използването на единични кавички помогне по-бързо изпълнение на цикли, отколкото при използване на двойни кавички.
Например, един прост пример за отпечатване на 1500 реда с информация, може да се направи по два начина като:
CODE
1
2
3
4
5
6
7
//Using double quotes
print “SerialNo : $serialno. WorkDone : $workdone. Location: $location”;

The same can be written with single q
uotes:

//
Using single quotes
print ‘SerialNo :’.$serialno.’. WorkDone : ‘.$workdone’. Location‘.$location’.';

Тук, на втора линия на кодовете работим много по-бързо, отколкото първия, където поредицата трябва да се анализира напълно, 1500 пъти. Във втория ред на кодове няма анализиран низ. Само комбинация от низове прави възможно отпечатването.

Малцина от тези съвети може да звучат доста познато, те са включени тук, за да видите най-добрите практики, които могат да се следват, за да се изчистя и  в същото време лесни за поддръжка на PHP кодовете.

Статистика
Погледнат: пъти
Гласове: --
Оценка:
Действие
 



myTech.bg © 2004 - 2011 | Контакти | За реклама