Eksplore PHP Meyè Pratik

 

PHP Best Practices

PHP Meyè Pratik

Apèsi sou lekòl la: Dwa soti nan kreyasyon li, PHP se lajman ki itilize yo devlope aplikasyon pou entènèt ki baze. Depi PHP se yon lang scripting youn dwe swiv kèk règleman pandan y ap devlope.

In this document, Mwen pral pale sou pratik sa yo ki pi bon ki fè yo jeneralman swiv nan mond lan PHP.

Entwodiksyon: PHP pa mande pou nenpòt entwodiksyon. However, tankou nan nenpòt teknoloji, nou dwe swiv kèk direktiv pandan y ap devlope. Sa yo liy gid lè mete tèt yo ansanm fòme règ yo pratik pi bon.

Sa yo se pratik sa yo ki pi bon nou ta dwe swiv pandan l ap travay ak PHP:

rapò Erè ta dwe vire sou -

rapò Erè se yon fonksyon trè itil nan mond lan PHP. Nou dwe pèmèt sa a pandan ke nou yo nan faz nan devlopman. Sa a ede nou idantifye pwoblèm sa yo nan kòd nou. Karakteristik ki pi souvan itilize se 'E_ALL‘ ki ede nou nan plas tout avètisman yo ak erè kritik. Li dwe te note ke anvan nou mete kòd nou an, nan pwodiksyon, nou ta dwe fèmen karakteristik sa a tankou sa a ta ekspoze tout erè yo potansyèl sou navigatè yo.

Sèvi ak apwòch la DRY -

kanpe DRY pou 'Pa Repete tèt ou’. Konsèp sa a se konsèp pwogram trè itil epi yo ta dwe itilize nan nenpòt e.g lang programmation. Java, C #, PHP elatriye. Lè l sèvi avèk la DRY apwòch nou asire ke pa gen okenn Kòd redondants. Yon moso nan Kòd ki vyole DRY yo refere li kòm WET solisyon. WET kanpe pou 'ekri tout bagay de fwa'Oswa'nou jwi sezisman’. Se pou nou gen yon gade nan kòd ki anba la a -

Listing1 - DRY & WET apwòch

[Code]

$mysql = mysql_connect ( 'Lokalost', ‘mysqladmin_uid’, 'mysqladmin_pwd’ );

mysql_select_db( 'DB_NAME’ ) oswa mouri( “Padon !! Pa gen baz done chwazi!”);

[/Code]

Sa a se Kòd pi wo a ki baze sou apwòch la WET kòm paramèt yo ki enpòtan yo dur. Apre apwòch la DRY, ka kòd la pi wo a ap chanje nan -

[Code]

$db_host = ‘ localhost ';
$db_user = ‘ mysqladmin_uid ';
$db_password = ‘ mysqladmin_pwd ';
$db_database = ‘ DB_NAME ';

$miskl = mysql_connect($db_host, $db_user, $db_password);
mysql_select_db($db_database);

[/Code]

Dekoupaj ak Sèvi ak nan blan -

Pandan ke ekri kòd nan nenpòt lang programmation, nou dwe asire ke kòd la se byen utilize ak ase espas blan yo ba tout kote yo mande yo. Sa a ogmante lizibilite nan kòd la ak ede nou kenbe kòd la nan yon fason pi efikas.

Sans ak ki konsistans nonmen estanda -

Kòm nan nenpòt lang programmation, PHP ekspè tou konseye yo swiv estanda nonmen sans. Nou gen de gwo apwòch pandan ke nou asire aplike sa a -

  • Lè l sèvi avèk chamo Ka - In this approach, lèt an premye se nan pi ba ka ak premye lèt nan tout pawòl apre sa se nan ka anwo.

Listing 2 - Kòd brib lè l sèvi avèk ka chamo

[Code]

klas piblik MyClass {

anile piblik methodNrenmen(Fisèl yonRGNrenmen) {

}

}

[/Code]

  • Lè l sèvi avèk evidans ant de mo - In this approach, nou mete yon karaktè souliye ('_') ant chak de mo. Lè l sèvi avèk apwòch sa a, ka kòd la pi wo a kapab modifye kòm anba -

Listing 2 - Kòd brib lè l sèvi avèk evidans

[Code]

klas piblik MyClass {

piblik metòd anile_non(chèn ARG_non) {

}

}

[/Code]

Gwo twou san fon anbwatman dwe evite -

Multi nidifikasyon diminye lizibilite nan kòd la se pou li nenpòt lang programmation. Nenpòt pwogramè ta dwe evite lè l sèvi avèk gwo twou san fon nidifikasyon. Ann wè Kòd brib ki anba la a -

Listing 4 - Kòd brib gen milti nivo nidifikasyon

[Code]

klas piblik MyClass {

piblik method_name anile(chèn arg_name) {

si (is_writable($katab)) {

si ($fp = fopen($file_location_path,'W')) {

si ($bagay = extractSomeConditionalStuff()) {

si ( fwrite ( $fp, $bagay) ) {

// …

} lòt {
return false;
}

} lòt {
return false;
}

} lòt {
return false;

}

} lòt {
return false;
}

}

}

[/Code]

Kòd ki anwo la a se yon senp Kòd enbrike. Jan nou kapab wè li se trè difisil eseye figi ki si blòk fini kote. Pou ou gen yon pi bon lizibilite, se pou nou modifye kòd la pi wo a kòm anba -

Listing 5 - Kòd brib evite milti nivo nidifikasyon

[Code]

fonksyon method_name (chèn arg_name) {

// …

si (!is_writable($katab)) {
return false;
}

si (!$fp = fopen($file_location_path,'W')) {
return false;
}

si (!$bagay = extractSomeConditionalStuff()) {
return false;
}

si (fwrite($fp, $bagay)) {
// …
} lòt {
return false;
}
}

[/Code]

Mete kòmantè bon jan -

Kòm nan nenpòt lang programmation, asire w ke kòd sous ou a gen ase kòmantè aliye. Sa a se yon pratik estanda epi yo ta dwe swiv. Sa a ede nan plis analize baz la Kòd kòm li se yon pratik estanda ke moun ki ap devlope kòd la se pa sa kenbe menm bagay la tou. Menm si se moun ki nan menm mande yo fè kèk chanjman nan kòd la, inline comments will always be helpful to understand the motive of writing the code. In order to maintain high class comment standard in PHP I would recommend you to get familiarize with some PHP documentation package e.g. phpDocumentor.

pa mete fpenfo() fonksyon nan rasin web -

fpenfo() se yon fonksyon trè enpòtan epi yo ta dwe itilize ak swen pli ekstrèm. Lè l sèvi avèk fonksyon sa a yon moun ka jwenn detay yo nan anviwònman an sèvè. Li se toujou avize w kenbe dosye a ki gen fpenfo() fonksyon nan yon kote ki byen fèmen. Yon fwa yo devlopman nan fè, li ta dwe pran soti nan kòd la imedyatman.

Pa janm mete konfyans itilizatè a -

Si aplikasyon w lan enplike nan nenpòt opinyon itilizatè, ekri kòd ou a nan yon fason ke li ka okipe tout kalite entrain posib. Yon apwòch bon pwoteje aplikasyon nou an soti nan entru se toujou inisyalize varyab ou a ak kèk valè inisyal ki gen dwa pa enpòtan nan koule nan biznis ki deja egziste.

Sèvi ak Cache mekanis tout kote egzije -

apwòch pwogram Bon toujou sijere lè l sèvi avèk mekanis nan kachèt kòm kachèt a ede nou reyalize pi bon pèfòmans. Nan mond lan php se caching reyalize lè l sèvi avèk -

  • mankachèd - Yon nan memwa magazen pè kle-valè itilize pou ti fragman nan done.
  • APC - Altènatif PHP Cache yon opkod kachèt louvri pou PHP
  • XCache - Yon vit serye kachèt PHP opkod
  • Zend Cache - Yon koleksyon APIs pou ka akonpli kapasite caching avanse.
  • eAcclerator - Open sous zouti caching

Avoid copying extra variables –

Se pa yon pratik pwogram bon a kapab bay kopi varyab predefini nan varyab lokal gen pi piti non. Sa a gen yon efè negatif sou pèfòmans nan nan aplikasyon an. Se pou nou wè kòd brib ki anba la a -

Listing 6 - Kopye siplemantè varyab -

[Code]

$desc = strip_tags($_POST['Deskripsyon PHP']);

eko $ dekrwasan;

[/Code]

The above code snippet is an example of copying a variable into a local variable unnecessarily. This is not at all a good practice. ka motif nan menm kapab reyalize lè l sèvi avèk kòd la yo -

[Code]

strip_tags eko($_POST['Deskripsyon PHP']);

[/Code]

Sèvi ak cadres -

Frameworks yo devlope apre anpil nan rechèch travay yo e pakonsekan yo pwouve ke yo dwe mwens pwoblèm. Yo fè lavi nou pi fasil menm jan yo bay yon seri solisyon pwouve. Nan PHP gen anpil bagay nan cadres disponib. Pandan ke devlopman, nou ta dwe fè pou sèvi ak sa yo. Youn nan sa yo cadres ki fè yo lajman itilize se mv oswa ki gen konpòtman egzanplè Gade Kontwolè.

Konklizyon:

Let us conclude our discussion in the form of following bullets –

  • Pi bon pratik gide nou yo devlope Kòd nan yon fason pi efikas.
  • Apre pi bon pratik asire pi bon pèfòmans nan aplikasyon an.
  • Kòm nan lang programmation lòt, PHP tou sa a pratik sa yo ki pi bon nan endistri a ki asire ke aplikasyon an devlope se yon yon sèl bon.

 

Tagged on: ,
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share