Tutorial

 :: PHPde çaltlyk :: (937 Reads)

Posted by akmuhammet on Wednesday, December 13, 2006 - 09:20 AM

PHPde çaltlyk

İlkinji programmalarymyzy yazanson kellamize şeyle gaygylar geler, "Menin yazan programmam işleyar welin, çalt işleyan we arassa script boldymyka?". Bu makalamda çalt işleyan scriptler barada kabir maslahatlar berjek.
İlki başda şuny diyesim gelyar, PHP scriptlerinize has çalt işlesin diyip eden düzeltmeleriniz köplenç göze batyan çaltlyk gazandyrmaz. Yöne şonda-da bir programmist hökmünde şeyle kod endiklerinizin bolmagy sizin üçin uyly peyda.

YAZDYRMA BUYRUKLARY (PRINTING COMMANDS)


PHPde yeke dyrnak ('php') string yagny tekst, goşa dyrnak bolsa variablelar üçin ullanylmalydyr. Şu yagdaylarda bolsa hiç dyrnak ullanmaly daldiris, yazdyrma funksiyalarynda variable ullanylanda ve variablelarda sanlar ullanylanda. Şular göz ününde tutulyp script yazylsa onda ol script çalt işlar. Nusgalar:
$foo='tekst';
$at='Dost';
$foo="Salam, $at"; //Salam, Dost
$foo='Salam, $at'; //Salam, $at
$foo=993;
Eger yokarky mysaldaky yaly goşa dyrnak ullansanyz PHP bu yerde variablei içine almaga tayyar diymekdir, a yeke dyrnak ullansanyz onda variablei okamak işi bilen wagt yitirmez we şeylelikde has çalt işlar. Yagny;
echo 'Halk watan Türkmenbaşy'; //has çalt
echo "Halk watan Türkmenbaşy"; //yuwaş
Yene-de bir maslahat, bir variablei goşa dyrnak içine almak yerine ony . bilen goşmak has çalt netije berer. Yagny;
$at='Türkmen';
echo $at.', Salam'; //has çalt
echo "$at, Salam"; //yuwaş
Yöne yere echo ya-da print funksiyasyny ullanmak tizligi azaldar. Mysal;
echo "Salam";
echo "$at"; //yuwaş
echo 'Salam'.$at; //has çalt
Eger yazylmaly tekst bölek bölek görnüşde goşulmaly bolsa, onda önürti olary bir variable alyp son yazdyrmak has çalt bolar. Yöne her yazdyrma işini variable ulanyp etseniz onda RAMden yitginiz bolar. Mysal;
$tekst='Salam';
$tekst.=$at;
echo "$tekst"; //yuwaş
echo $tekst; //in çalt görnüşi
Yene bir maslahat. Şuny prinsip edinin, echo bilen edip biljek işinizi başka funksiyalar ullanyp etmage synanyşman. Sebabi echo dine yazdyrma işini edyar, a print bolsa yazydrma işini edenson yzyna true ya-da false gaytaryar. Köplenç bu yagday atiyaç daldir. Printf ya-da printr gerekli yagday yüze çykmasa ullanylmaly daldir.

SORAGLAR (QUERIES)

Database soraglarynda çaltlyk taydan mümkin mertebe köp işi SQL soragynda etmek ve sorag sanyny az tutmak in gowysydyr. Yagny SQL soragynda hiç filterleman, hemme filterlemeleri PHPde if else opratorlary bilen etmek tizligi peselder.

PHP BÖLÜCÜ (PHP PARSER)

PHP parser HTML kodlarını kontrol etmez, dosyaya eklenen fonksiyon veya class ların kullanılsın veya kullanılmasın tümünü kontrol eder. Parser ve compilerın servis hızına göre
PHP parser HTML kodlaryny hiç gözden geçiryan daldir. Fayla goşulan funksiya we classlaryn ullanylsyn ya-da ullanylmasyn hemmesini gözden geçirer. Compiler ve Parserin hyzmat tizligine göra:
HTML we PHP dal kodlar //kontrol yok, in çalt
Fayl içindaki PHP kodlary //yuwaş
Funsiyalar we Classlar //has hem yuwaş
Include ya-da Require //in yuwaş
şu görnüşde işlener.
Buna göre;
Gaty yygy we başga başga başga fayllardan çagyrylmajak kodlar üçin funksiya ullanmak.
Funksiyalary birnaçe (köp) başga faylda tutup bulary include etmek hayallyga sebap bolar.
HTML koduny PHP kodynyn içinde yazmaklyk programmany hayalladar.
Bu maslahatlar classlar ve funksiyalar düzilende göz önünde tutulyp biliner.
Include we require funksiyalarynyn yerine include_once ya da require once funksyalary ullanylmalydyr.

HTML üçin bir mysal:

if(!isset($var) {
echo \"$foo\"/;
}
echo \"Türkmen\"/;

yerine

< ?
if(!isset($var) {
?>
<?=$foo ?><|br>< ? } ?> bellik: |br = br


has çalt işleyar hem has düşnükli.

FAYLLAR (FILES)

Mümkin bolsa fayldan okamak yerine databasedan okamak saylanmalydyr.

LOOPlar (LOOPS)
Array üstünde işlenilyan bolsa ve array gaty kiçi dal bolsa onda foreach ullanmak hayalladar. Sebabi foreach arrayin özünde dal-de kopyasyny yasap şonun üstünde işlar. Şeyle yagdayda for loopy saylanmaly. Arrayin uzynlygyny loopa girmezden owal count unksiyasy bilen bir variablea alyp ullanmak programmanyn tizligi taydan has amatlydyr.
for($i=0;$i < count($array);
yerine

$n=count($array);
for($i;$i< $n;$i++) { ... } yazmak has amatlydyr.

sebabi yokarky yagdayda loop gutaryança sanawajyn her artyşynda count funksiyasy işlar we hayalladar.

SANLAR

Sanlary dyrnak içinde ullanmak olary string eder we bu bolsa has hayaldyr.

for($i="0";$n="15";$i++) { .... } //hayal
for($i=0;$n=15;$i++){.... } //çalt

RAM

Eger bir variablea uly bir data yazsanyz onda ony ullanyp bolanson nullamak amatlydyr. Muny variablea 0 ya-da null yazyp muny edip bilersiniz.
MySQL soraglaryndan sonra mysql_free_result($variable) funksiyasy bilen RAMi has optimum ullanyp bilersiniz.
Ayrıca PHP complicated expressionlary gaty üstünlükli goldayar. Şu sebapli variablelara yazmak yerine complicated expressionlar ullanmak has amatlydyr. Mysal;
$check=mysql_num_rows($sorag);
if($check<1) {... }

yerine

if(mysql_num_rows($sorag)<1) {...} yazyp RAMi has üstünlikli ullanyp bilersiniz.
MySQL
Eger konfigurasiyanyz dogry gelyan bolsa onda hemişelik (persistent) baglanşyk gurmak, her soragdan ön baglanşyk gurmakdan has hem çalt işlar.
Send this story to someone Printer-friendly page

Rating
PHPde çaltlyk | Log-in or register a new user account | 2 Comments
Comments are statements made by the person that posted them.
They do not necessarily represent the opinions of the site editor.

Re: PHPde çaltlyk

(Score: 1)
by admin (infoDELETETHIS@turkmennet.com) on Dec 15, 2006 - 10:54 AM
(User information  | Send a message http://www.turkmenweb.net)
Sagbol Akmuhammet. Gowja Makala.
Loopyn control variableda funciya yerine variable ulananda tizlener diyip hic pikir etmandirn, yone logicno.
Ustunlinkler!

Re: PHPde çaltlyk

(Score: 1)
by agajanh (agajanh@gmail.com) on Jul 18, 2007 - 03:25 AM
(User information  | Send a message http://www.agajan.nm.ru)
Gerekli makala
Elin yuzun dert gormesin.