Kawm ua PHP qha

 

PHP Best Practices

PHP qha

Txheej txheem cej luam: Ntawm nws cov inception, PHP lug siv los tsim daim ntaub ntawv raws li lub. Vim PHP yog ib scripting ib lus yuav tsum ua raws li tej kev cai thaum tab tom xyaum lus.

Nyob rau hauv daim ntawv no, Kuv yuav tham txog kev zoo tshaj uas muaj feem raws li nyob hauv lub ntiaj teb PHP.

Taw qhia: PHP yuav tsis tas kom txhua yaam. Txawm li cas los, raws li nyob rau hauv tej tshuab, peb yuav tsum ua raws li ib co txheej txheem thaum tab tom xyaum lus. Qhia txog cov kab thaum muab tso ua ke daim ntawv raws li siv tej yam kev cai.

Nram qab no yog cov zoo tshaj txoj kev uas peb yuav tsum ua raws nraim li thaum uas ua hauj lwm nrog PHP:

Yuam kev txog yuav tsum muab rau –

Yuam kev qhia yog muaj nuj nqi nyob hauv lub ntiaj teb PHP ib pab heev. Peb yuav tsum pab kom qhov no thaum peb tseem muaj nyob rau hauv txoj kev loj hlob theem. Qhov no yuav pab peb qhia hais tias muaj teeb meem rau peb lub chaws. Tus feature siv feem ntau yog ' E_ALL‘ uas pab peb hnov tag nrho cov lus ceeb toom thiab tseem ceeb heev uas tsis. Nws yuav tsum tau muab sau tias ua ntej peb muab peb chaws rau hauv ntau lawm, peb yuav tsum tau xu siab no feature li no las yuav tag nrho cov neeg uas tsis rau lub browsers.

Siv cov kev qhuav-

QHUAV es mus ' Ua tsis hais dua koj tus kheej’. Cov tswvyim no yog programming tswvyim pab heev thiab yuav tsum muab sau rau hauv tej lus e.g programming. Java, C#, PHP thiab lwm yam. Siv lub QHUAV mus kom ze los peb xyuas kom muaj no tsis muaj chaws redundant. Ib daim uas txhaum txoj QHUAV yog hu ua NTUB DEJ tov. NTUB stands 'sau txhua yam ob zaug'los sis'peb yeej zoo siab typing’. Peb tau mus rau hauv cov cai hauv qab no – saib

Listing1 – QHUAV & Ntub dej mus kom ze

[Chaws]

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

mysql_select_db( ' DB_NAME’ ) los yog tuag( “Thov txim !! Tsis muaj database xaiv!”);

[/Chaws]

Saum qhov chaws no raws li lub ntub dej kev raws li tus yam tsis muaj hardcoded. Tom qab qhov kev qhuav, cov cai saum toj no yuav raug hloov los ua-

[Chaws]

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

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

[/Chaws]

Indentation thiab whitespace – siv

Thaum uas muaj cai sau tej lus programming, peb yuav tsum xyuas meej tias yog tus indented zoo zoo thiab dawb txaus rau tej lub raug muab peb txog qhov twg yuav tsum tau. Qhov no yuav tsub kom tus readability tus thiab pab peb tuav lub chaws ntau yam.

Qha hab consistence naming qauv –

Raws li tej lus programming, PHP ua hauj lwm kuj qhia kom ua raws li cov qauv qha naming. Peb muaj ob tug loj le caag thaum peb tswj kom muaj kev no –

  • Ntxhuav ntaub ntawv – siv cov Ntawm no mus kom ze, thawj tsab ntawv no nyob rau hauv rooj plaub no tsawg dua thiab thawj tsab ntawv ntawm txhua lo lus yog tom qab ntawd nyob rau hauv rooj plaub qaum.

Qhia 2 – Lub snippet code us rooj plaub

[Chaws]

tsev kawm MyClass {

pej xeem tsis muaj dabtsis methodName(Txoj hlua ibrgName) {

}

}

[/Chaws]

  • Siv underscores rau ntawm ob lo lus- Ntawm no mus kom ze, peb muab ib tug underscore cim (‘_’) ntawm txhua lo lus ob. Siv no mus kom ze, cov cai saum toj no tau muab hloov kom muaj-

Qhia 2 – Lub snippet code underscores

[Chaws]

tsev kawm MyClass {

pej xeem txoj kev qhuav qhawv_lub npe(Txoj hlua arg_lub npe) {

}

}

[/Chaws]

Sib sib zog nqus ua zes yuav tsum muab pov tseg –

Multilevel ua zes thiaj li tus readability tus ua nws tej lus programming. Muaj programmer yuav tsum tsis txhob muab sib sib zog nqus ua zes. Peb pom cov nram qab no chaws snippet-

Qhia 4 – Code snippet muaj ntau theem ua zes

[Chaws]

tsev kawm MyClass {

pej xeem tsis muaj dabtsis method_name(Txoj hlua arg_name) {

Yog hais tias (is_writable($ceev)) {

Yog hais tias ($fp = fopen($file_location_path,'w')) {

Yog hais tias ($khoom = extractSomeConditionalStuff()) {

Yog hais tias ( fwrite ( $fp, $khoom) ) {

// …

} ntxiv {
rov qab tsis muaj tseeb;
}

} ntxiv {
rov qab tsis muaj tseeb;
}

} ntxiv {
rov qab tsis muaj tseeb;

}

} ntxiv {
rov qab tsis muaj tseeb;
}

}

}

[/Chaws]

Cov cai saum toj no yog ib tug yooj yim nested chaws. Raws li peb tau pom nws yuav nyuaj heev los paub uas yog thaiv xaus rau qhov twg. Muaj ib tug zoo readability, peb hloov rau saum toj no chaws li hauv –

Qhia 5 – Code snippet tsis txhob ntau theem ua zes

[Chaws]

method_name muaj nuj nqi (Txoj hlua arg_name) {

// …

Yog hais tias (!is_writable($ceev)) {
rov qab tsis muaj tseeb;
}

Yog hais tias (!$fp = fopen($file_location_path,'w')) {
rov qab tsis muaj tseeb;
}

Yog hais tias (!$khoom = extractSomeConditionalStuff()) {
rov qab tsis muaj tseeb;
}

Yog hais tias (fwrite($fp, $khoom)) {
// …
} ntxiv {
rov qab tsis muaj tseeb;
}
}

[/Chaws]

Muab lus txaus –

Raws li tej lus programming, Nco ntsoov tias koj qhov chaws muaj txaus inline lus. Qhov no yog lub txheem xyaum thiab tom qab. Qhov no yuav pab rau ntxiv lawm cais chaws puag thaum tus txheem xyaum hais tias tus neeg twg yog tus tsim yog tsis ceev kom zoo li qub. Txawm hais tias tus tib neeg yog kom hloov tej yam hauv lub chaws, inline lus yeej yuav pab kom koj to taub txog qhov vim li cas cov sau tus. Yuav kom muaj siab kawm saib hauv PHP txheem kuv xav kom koj tuaj rua puab paub nrog ib co PHP ntaub hnab e.g. phpDocumentor.

Tsis pub kom phpInfo() nuj nqi nyob lub cag web –

phpInfo() yog ib qho tseem ceeb heev muaj nuj nqi thiab yuav tsum tau siv nrog kev tu utmost. Siv kev ua no ib tug ua tau rau kom paub meej txog tus neeg rau zaub mov nyob. Nws yog ib txwm yus los khaws cov ntaub ntawv uas muaj cov tshuaj phpInfo() kev ua ib qhov chaw secured. Thaum twg txoj kev loj hlob yog ua li cas, nws yuav tsum tau muab tawm hauv qhov chaws tam sim ntawd.

Yeej tsis ntseeg tus neeg siv –

Yog hais tias koj yuav muaj neeg siv tswv yim, sau koj cov cai tej tib tias nws yuav lis txhua hom inputs tau. Muaj kev zoo los tiv thaiv peb daim ntawv thov txhob hackers yog ib initialize koj zog nrog ib co lus ntawm tus nqi uas yuav tsis raug ntau yam nyob rau hauv lub chav ua hauj lwm txaus.

Siv Cache mechanism peb txog qhov twg yuav tsum tau-

Zoo le caag programming yeej muab siv lub cache mechanism li cov cache pab peb cuag tau kev kawm zoo. Nyob rau hauv cov php caching ntiaj teb no tiav siv –

  • Memcached -nyob rau hauv kev nco tus yuam sij khub khw chunks me me ntawm cov ntaub ntawv siv los.
  • APC -PHP lwm Cache ib opcode qhib cache rau PHP
  • XCache – Ib txhim khu ceev kev qha PHP opcode cache
  • Zend Cache – Ib phau ntawm APIs rau realizing txawm tuition caching.
  • eAcclerator – Qhib tau qhov twg los pab caching

Tsis txhob luam ntxiv zog –

Nws yuav tsis tau tus zoo programming xyaum kom luam predefined zog rau hauv lub zos muaj npe me zog. Qhov no muaj kev phiv nyhuv rau hauv daim ntawv thov ntawv. Peb pom cov nram qab no chaws snippet-

Qhia 6 – Kev luam ntxiv zog –

[Chaws]

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

ncha $desc;

[/Chaws]

Cov cai saum toj no snippet yog ib qho piv txwv rau kev luam ib kuj sib txawv thiab rau ib lub zos kuj sib txawv thiab tsis tas. Qhov no tsis txhua muaj xyaum zoo. Tus ib yam vim li cas thiaj tiav thaum uas siv cov hauv qab no chaws –

[Chaws]

ncha strip_tags($_POST['Hauj lwm PHP']);

[/Chaws]

Coj kev siv –

Coj yog tsim tom qab kev tshawb xyuas tej hauj lwm ntau thiab li lawv pom tus kab mob yuav tsis problematic. Lawv peb lub neej yooj yim dua thaum uas lawv muab pov thawj dlaws ua. PHP muaj no coj ntau muaj. Nrhiav txoj kev loj hlob, peb yuav tsum tau siv cov no. Ib yam ntawm cov coj uas nyob los yog MVC los yog Model saib xws li.

Xaus:

Peb cia xaus peb sib tham nyob rau hauv daim ntawv uas cia nyias qhov hauv qab no –

  • Kev coj zoo coj peb txoj tsim ntau yam.
  • Saib kuas kev kawm zoo hauv daim ntawv thov raws li kev coj zoo tshaj.
  • Xws li lwm cov lus programming, PHP no kuj ua raws cov kev zoo nyob rau hauv qhov kev lag luam uas saib kuas daim ntawv thov li no yog ib tug zoo.

 

Tagged: ,
============================================= ============================================== Yuav zoo TechAlpine phau ntawv rau Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Txaus siab rau qhov blog? Tshaj tawm lus thov :)

Follow by Email
LinkedIn
LinkedIn
Share