Merhaba arkadaşlar.. Codeigniter'da rastladığım ve if not gibi bir işlem gören , "||" işareti ile gösterilen kodun anlamı nedir ? Çalışma mantığı nedir? Varsa kodlamanın bu şekildeki ismi nedir.. Cevaplarınız için şimdiden teşekkürler..
//Verilerin çekildiği kod
$this->data["page"] = $this->page_m->get($id);
//Anlamını öğrenmek istediğim kod
count($this->data['page']) || $this->data['errors'][] = 'kullanıcı bulunamadı';
php aşağıdaki komut anlamı nedir?
6
●433
- 13-06-2014, 18:14:05Üyeliği durdurulduSayısını yazdırmıs veya hataları göstermişesquirre adlı üyeden alıntı: mesajı görüntüle
- 13-06-2014, 21:01:10Şimdi ben sana o kodu açıklayayım orada diyor ki :BlackDare adlı üyeden alıntı: mesajı görüntüle
eğer herhangi bir kayıt yoksa hatalar dizisine kullanıcı bulunamadı değerini ekle..
Benim sorum şu: Böyle bir syntax mı var ? Normalde bunu if ile yapabiliyoruz fakat burada daha farklı bir yöntemle kullanılmış ... Yani işlemi dahada mı hızlandırıyor php de böyle bir kullanım mevcut mu ? - 13-06-2014, 21:14:52buarada bahsettiğin kod framework kodu. normalde bu şekilde bir yazım tarzı yok ancak frame work işleri kolaylaştırmak için tasarlandığından bu şekilde bir yazım geliştirmiş olabilir.
Framework ü ne zaman ve hangi projelerde kullanacağımıza dikkat etmeden rastgele her yerde kullanmaması gerektiğinin çok iyi bir örneği framework kodlarını ezberlemek bir süre sonra bağımlısı olmak anlamına gelir. İşinizi kolaylaştırsa da ara bir yazılımdır. Php nin kendisi değildir unutmamak lazım. - 14-06-2014, 10:47:58Kimlik doğrulama veya yönetimden onay bekliyor.PHP'de böyle bir kullanım var.
count($this->data['page']) || $this->data['errors'][] = 'kullanıcı bulunamadı';
Burada, ilk önce şu komut çalışacak.
count($this->data['page'])
Bu, $this->data['page']'in sayısını al demek. count() fonksiyonu bir sayı döndürecektir. (0,1,2,3... gibi)
Eğer count() fonksiyonu pozitif bir sayı döndürürse, ||'ın (veya demek) sağındaki kısım çalışmayacaktır, çünkü pozitif sayılar PHP'de true (doğru) olarak geçmektedir.
Eğer count() fonksiyonu 0 döndürürse, 0 false (yanlış) sayıldığı için ||'ın sağındaki bölüm çalışacaktır.
Kısacası, yukarıdaki scripti şu işi yapar.
"$this->data['page']'i say, eğer dönen sonuç 0 ise $this->data['errors'][] dizisine 'kullanıcı bulunamadı' stringini ekle. 1 veya üzeri ise birşey yapma."
Ancak bu tür işlemler için if/else bloklarını kullanmak daha sağlıklı. Bu tür kullanımlar okunaklı değildir ve bug çıkarma olasılığı yüksektir.