yanlış bilgi vermeyin.
İf switch den daha hızlı çalışır
+ 104 %if and elseif (using ==)Total time: 189 µsview code
+ 198 %if, elseif and else (using ==)Total time: 358 µsview code
+ 107 %if and elseif (using ===)Total time: 193 µsview code
+ 100 %if, elseif and else (using ===)Total time: 181 µsview code
+ 143 %switch / caseTotal time: 259 µsview code
+ 225 %switch / case / defaultTotal time: 408 µsview code
Sayfa Hazırlanması
21
●1.630
- 16-07-2010, 21:50:57Kimlik doğrulama veya yönetimden onay bekliyor.
- 16-07-2010, 22:09:53Üyeliği durduruldudmry linkindeki vatandaş sadece kendisi f5 yaparak yapmış bu testi switch daha hızlı demiş...
http://phpbench.com/ testlerini inceleyiniz. - 17-07-2010, 08:34:22Üyeliği durdurulduphp.net i de takip ederseniz Operatörlerin her zaman diğer ifade ve fonksiyonlardan daha hızlı olduğu yazar.
<?php $a = 1; // ilk karşılaştırmada kırılır if ($a===1) { echo 'bir'; } elseif($a===2) { echo 'iki'; } elseif($a===3) { echo 'uc'; } ?> <?php $a = 2; // üçüncü karşılaştırmada kırılır switch($a) { case 3: echo 'üç'; break; case 2: echo 'ik,'; break; case 1: echo 'bir'; break; } ?>bu da istisnai bir örnek. nerede kırıldığı da önemlidir. en cok kullanılan block en başa alınmalı.
switch case ifadesinde de operatörleri kullanabiliriz
case ($a === 1): break;
bu da normal swicth ifadesinden operatör farkı kadar hızlı olacaktır.
ama sayfalamanın en güzeli yine php'nin script yeteneklerini kullanmaktır
$actions = array(1=>'edit',2=>'insert'); $actions[$_GET['action']](); function edit() { echo 'edit sayfası'; } // $_GET['action'](); şeklinde de kullanılabilirdi ama güvenlik açıkları yaratabileceğinden sınırlamış olduk. - 17-07-2010, 22:19:41Üyeliği durduruldu#tabismi gibi urller sayfayı yenilemediğinden olabilir. linkleri değiştiriseniz ?tab=tabismi#tabismi
hem $_GET['tab'] gibi işleme karar verebilirsiniz hem de #tabismi ile tabı değiştirmiş olursunuz.
bunları yapmak yerine parse_url($_SERVER['REQUEST_URI']) ile "anchor" elemanı ile tabismi değerini alabilirsiniz. tabi bu değerin size gelebilmesi için href="#tabismi" yerine href="http: // ... #tabismi" gibi kullanmalısınız. jquery tab işe yaramicak sanırım (:
ille de jquey tab olacak diyorsanız da. action sayfasını ayırıp taba gore ajax işlemleri yaptırabilirsiniz.
tıkandım bi alternatif daha gelmiyor aklıma. kolay gelsin. - 18-07-2010, 00:43:55Hocam İlginiz İçin Teşekkür Ederim,
İlla Jquery / Ajax Olucak Diye Bir Durum Söz konusu Değil
Burdaki Gibi Yazıya Veya Resime Tıklanınca Değişen Bir Sayfa Eklemek istiyorum Sadece Ondan Kaynaklı Jquery Kolay ve Kullanışlı Olduğundan Seçmiştim
- 19-07-2010, 00:24:29bak okumuyorsun amaBHCoder adlı üyeden alıntı: mesajı görüntüle
hadi taa 2007'de yazdığım bir yazı olmasını geçtim;
diye özetliyorum.Alıntı
Gelelim olayın gerçek yüzüne
Testlerin nasıl yapıldığına bağlıdır bu durum. Switch ile IF arasında en önemli fark, 3-4 den daha fazla koşulunuz işin içerisine giriyorsa, switch daha hızlıdır. Ancak true ya da false olacak şekilde 2 adet koşul değerlendireceksiniz, elbette kusursuz IF daha hızlıdır. Sizin verdiğiniz adres üzerinde bu şekilde bir test uygulanmıştır ve IF hızlı çıkmıştır. Ama ben testimde 7 tane koşulu değerlendirdim ve tabi ki Switch hızlı çıktı
hımm evet niye bunu belirtmedin diyebilirsin, ee yıl 2007 
Asıl soruya gelelim
Arkadaşımıza böyle bir durum gerekmiyor yani eğer modül sistemi oluşturacaksa;
index.php?m=anket
index.php?m=test
index.php?m=magazin
v.b. sayfalarınız olsun.
$modul = $_Get['m']; call_user_func($modul); function anket() { // } function test() { // } function magazin() { // }
olarak uygularsınız ve gayet de şık olur
ve lütfen önce okuyalım arkadaşlar, kodları inceleyelim, sonra .. vb.. iyi geceler
hadi taa 2007'de yazdığım bir yazı olmasını geçtim;