wm_xfreex adlı üyeden alıntı:
mesajı görüntüle
Dizi kullanımındaki hatalı yaklaşım
16
●2.325
- 16-05-2009, 06:29:52Acıkcası ben sdemirkeser arkadasımızın bahsettiği gibi kullanıyorum.Ben bu sekilde ogrendim ve bu sekilde de devam ediyorum
cok guzel bir ornek vermiş sdemirkeser janocan arkadasımıza.
echo "<a href=\"deneme.html\">$deneme</a>";
yerine
<a href="deneme.html"><?=$deneme;?></a>
daha bi anlaşılır ve kolay geliyor bana acıkcası. - 16-05-2009, 21:09:49Bu tür farklı kullanım sorunlarını ben artık yaşamaya başladım.
Sistemimi geliştirdikçe gördüm ki eğer çok yönlü ve işlevli bir web sitesi hazırlayacaksan, kod kullanımı konusunda standartları takip edeceksin. Aksi halde önüne bir yığın soru olarak çıkar.
Gerekli herşeyi yaparken aynı zamanda hiçbir fazla şey yazmayacaksın. Böylece bir sürü kalabalık oluşmazken, yazım ilerledikçe de birbiriyle çakışma yaşamazsın.
O nedenle tırnak meselesi önemli.
$veri[yazar] şeklinde çalışıyor ama doğrusu $veri["yazar"] ise bunu takip edeceksin ki ilerde başın ağrımasın.
Ne diye ertesi gün PHP 6 çıkmış, MySQL versiyonu yükselmiş diye kafa ağrıtacaksın! Hiç gerek yok. Standartları takip et, versiyonlar yükseldikçe senin işin yolunda gitsin. - 16-05-2009, 22:26:24Üyeliği durduruldutüm ifadelerde doğru ve sorun vermez. artı ve eksileri;BHCoder adlı üyeden alıntı: mesajı görüntüle
1. kullanım xhtml göre çift tırnak kullanılması uygun değer atamalarında. daha sonra bir editörler (dreamveawer gibi) açtığınızda kod içinde olduğu için tanimiyor.
2. ifadeyi kullanıyorsanız short tag open olması gerekir php.ini de
3. kullanımın okunabilirliği çok yüksek + dreamweaver gibi editörlerde açtığınz zaman hiç ugraşmadan editleyebileceğinizi göreceksiniz - 09-12-2009, 16:29:29sdemirkeser adlı üyeden alıntı: mesajı görüntüle
Artık bu kullanımları kimin öğrettiğini bulmuşsun.sdemirkeser adlı üyeden alıntı: mesajı görüntüle
Ama sadece öğretende suçuda aramamak lazım. Çoğu kişi bu tür kullanımı ezbere kullanıp olayın mantığını sorgulamayı denemiyor.
- 09-12-2009, 22:28:31sdemirkeser'in anlattıgına paralel man page acıklaması
<?php // Tüm hataları görelim error_reporting(E_ALL); $dizi = array('meyve' => 'elma', 'sebze' => 'havuç'); // Doğru print $dizi['meyve']; // elma print $dizi['sebze']; // havuç // Yanlış. Bu çalışır, fakat meyve tanımlanmamış bir sabit // olmadığından E_NOTICE seviyesinde bir PHP hatası oluşur // // Notice: Use of undefined constant meyve - assumed 'meyve'... print $dizi[meyve]; // elma // Bu, neler olup bittiğini gösteren bir sabit tanımlar; // 'sebze' değeri meyve sabitine atanır. define('meyve', 'sebze'); // Şimdi farkı görelim print $dizi['meyve']; // elma print $dizi[meyve]; // havuç // Bir dizge içinde olduğundan bu da doğrudur. // Dizge içinde kalan sabitler, sabit olarak ele alınmazlar; // dolayısıyla burada bir E_NOTICE oluşmaz. print "Turfanda $dizi[meyve]"; // Turfanda elma // Bir istisna: Dizge içinde kaşlı ayraç içine alınmış // sabitler, sabit olarak ele alınırlar. print "Turfanda {$dizi[meyve]}"; // Turfanda havuç print "Turfanda {$dizi['meyve']}"; // Turfanda elma // Bu çalışmaz ve şöyle bir çözümleme hatasıyla sonuçlanır: // Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING' // Bu, dizgeler içindeki süper küresellere de uygulanır. print "Turfanda $dizi['meyve']"; print "Turfanda $_GET['foo']"; // Ard arda eklemek de bir seçenektir print "Turfanda " . $dizi['meyve']; // Turfanda elma ?> - 05-01-2010, 16:34:53Üyeliği durdurulduben de bişey ekliim bu güzel konuya. açğırdığınız dizi ve ya eleman kendi içinde cok değişken barındırmıyorsa tek tırnak kullanmalısınız.
php çift tırnaklar için recursive olarka çalışır çift tırnak içinde değişken arar ama tek tırnağı direk string olarak basar
$dizi['eleman']; en doğru kullanımdır.
Ama sadece öğretende suçuda aramamak lazım. Çoğu kişi bu tür kullanımı ezbere kullanıp olayın mantığını sorgulamayı denemiyor.