Php Nasıl daha hızlı çalıştırılır.

SeLCuK's

0
İyinet Üyesi
Katılım
27 Mart 2013
Mesajlar
118
Reaction score
0
Konum
Adana
1. Hataları herzaman gizleyin.

Herkes hata yapabilir. ama hatalarınızı herkesin görmesi can sıkıcı olur.

öncelikle Php sayfasının başında error_reporting(0); yazarsanız basit hatalar gizlenir.

Fakat dosya açma gibi önemli işlemler yine hata verir. bunu engellemek için de komutun başına @ koymanız yeterlidir.

örnek: $h=@fopen("dosya","w");

veya bir mysql komutu yazarken aynısı kullanılabilir.

@include("sahte_php_$no.php");




2- Php Kısaltmaları kullanın.

$sayi=$sayi+1 yazmak yerine $sayi ++; aynı anlama gelir.


if($a==5){ $b=2; }else{ $b=7 } yazmak yerine $b=($a==5)?2:7; aynı anlama gelir.



3. include ile hız kazanın.

Php derleme aşamasında mevcut değişkenlere göre derleme yapar. bu durumda çok çok uzun bir if parantezi varsa hepsini bir dosyaya koyup hızlanma sağlayabilirsiniz.

örnek:

if($uye_login==1)
{
// burda 40-50 satırlık bir işlem var diyelim
// işin kötüsü aynı sayfaya ziyaretçiler de giriyor.
// ve burdaki 50 satır çoğu zaman işe yaramıyor.
}

oradaki 50 satırı alıyoruz ve farklı bir dosyaya koyuyoruz. dosya adını da user_islemleri.php yaptık diyelim. bu durumda yukarıdaki if komutu şu hale geliyor.

if($user_login==1)
{
include("user_islemleri.php");
}


4- Strlen Yerine Isset

Çeşitli durumlarda saydırma ve döngü komutlarından kaçınmak size hız kazandırır. Örneğin Strlen aslında bir kelimedeki tüm harfleri sayan bir döngüdür. Kelimenin de harflerden oluşan bir dizi olduğunu bildiğimize göre tek tek harfleri saymak yerine son karakterin varlığına bakmak yeterlidir.

if(strlen($nick) > 10)
{
echo "Çok uzun bir nick yazdınız";
}

onun yerine şöyle yazılabilir.

if(isset($nick[11])) echo " çok uzun nick yazdınız";




5- Yerine Göre Tek Tırnak veya Çift tırnak kullanın.

Php ile çift tırnak kullandığınızda verilen kelimenin içinde değişkenler olma ihtimali bulunur. bu durumda php daha fazla işlem yapmış olur.

aşağıdaki iki örneğe bakalım:

print "işlem sonucu: $sayi dir";

burda çift tırnak olması zorunlu ama onun yerine şu kullanılırsa daha hızlı olur.

print 'işlem sonucu:' . $sayi . 'dir';



6- Class kullanmayı öğrenin:

Class: Birkaç fonksiyonun birlikte kullanım şeklidir. Fonksiyon gibi tekrar kullanılabilir ama daha kapsamlı olduğu için fazla iş yapar.

Class kavramı php 5 ile gelmiş bir olaydır. eski derslerde class olmamasının sebeplerinden biri budur. Diğer birçok program dilinde "olmazsa olmaz" denilen önemli şeylerden biridir. Class mantığını öğrenerek projenizde hız sağlayamazsınız ama çalışma hızınız artacaktır.
 

Arpegia

0
İyinet Üyesi
Katılım
4 Nisan 2013
Mesajlar
6
Reaction score
0
Mümkün olduğunca 'Print' komutu yerine 'Echo' komutunu kullanarak ekrana yazdırın sayfanın daha seri açılacağından kuşkunuz olmasın. :)
 

Kaan

0
Yasakli Uye
Katılım
16 Mart 2013
Mesajlar
278
Reaction score
0
Konum
Word Wide İnteractive
Değişken Aktarımı ve Sorgular'da

Php ile aşağıdaki gibi bir kodu daha hızlı çalıştırmak için referans(pointer) değişken kullanılabilir.


Yavaş:

$a['b']['c'] = array();

for($i = 0; $i < 5; $i++)
$a['b']['c'][$i] = $i;
Hızlı:

$ref =& $a['b']['c'];
for($i = 0; $i < 5; $i++)
$ref[$i] = $i;
Dizi üretiminde ve sorgulama'da

Dizlerle çalışırken tırnak işaretini unutsanız bile php işlem yapar fakat durumu düzeltmek için birkaç extra işlem yapması gerekir.

Yavaş:

Hızlı:

PHP.ini dosyası için hızlı ayarları

Aşağıdaki ayarlar önemli ölçüde hızlanma sağlar:

register_globals = Off
magic_quotes_gpc = Off
expose_php = Off
register_argc_argv = Off
always_populate_raw_post_data = Off
session.use_trans_sid = Off
session.auto_start = Off
session.gc_divisor = 5000
Time fonksiyonuna akternatif

time() fonksiyonu yerine $_SERVER["REQUEST_TIME"] kullanılabilir.

@ Kullanmayınız.

@ operatörü php içersindeki en yavaş araçlardan biridir. mümkünse bundan uzak durun
örnek:
$a=@readfile($dosya)


yerine
if(file_exists($dosya)) readfile($dosya);



kullanın.

Ek: Smarty, Apc ve Memcache gibi sistemlerin kullanımı önemli ölçüde hızlanma sağlar. (detaylarını vermiyorum, büyük çaplı site yapanların incelemesi tavsiye edilir)
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Elektronik Sigara Cicisex Porno
Üst