Software kategorisi arşivi

class_exists ve spl_autoload

Eğer spl_autoload ile bir autoloader belirttiyseniz, daha sonra kodunuzun herhangi bir yerinde class_exists() ile o sınıfın olup olmadığını kontrol ediyorsanız, zaten kontrol etme işlemiyle birlikte sınıfı load etmiş oluyorsunuz. Bunu http://www.php.net/manual/en/function.spl-autoload-register.php#95456 linkindeki yazıdan da görebilirsiniz.   Bir örnek kod da vermeye çalışacağım ilerleyen zamanlarda.

, ,

Yorum yok

PHP – Sayfanin iframe icerisinde acilmasini engellemek

Bazı durumlar olur ki, sitenizin, veya bir web sayfanızın iframe içinde açılmasını istemezsiniz. Bu durumda ne yapabiliriz diye bir bakındım ve güncel browser’ların kullandığı bir yöntem gördüm. Örneğimiz şöyle olacak : 1 adet test.html sayfası, 1 adet test.php sayfası. test.html içeriği test.php in iframe <br /> <iframe src = ‘test.php’> test.php içeriği : <?php header(“X-FRAME-OPTIONS: […]

, , ,

7 Yorum

PHP – singleton pattern vs clone

Class Test{ /** * Örnek Değişken */ public $sampleVariable = NULL; /** * Singelton bir yapı kullanılmaktadır * @var Test */ private static $_instance; /** * Singelton yapıyı desteklemek için private constructor yarattım içi boş. */ private function __construct(){ } /** * Singelton yapıyı destekleyen getInstance metodu * @return Test */ public static function getInstance(){ […]

, , , ,

14 Yorum

phpunit – assert internal type error – CLI HAS STOPPED WORKING

phpunitteki bir test metodumda yanlışlıkla assertInternalType kısmında 2 parametre yerine tek parametre ile işlem yapmıştım. $this->assertInternalType(‘string’,$oid); yazacağıma $this->assertInternalType($oid); yaazmışım. $oid ise string tipinde rastgele bir veri. Ancak phpunit bu kısımda bazen hata veriyor, bazen vermiyordu. Hata vermediğinde ilerleyen aşamalarda ise, CLI has stopped working diye windowsumda işlem duruyordu. Bu herhalde bir bug. Ancak hem windowsta […]

, , ,

10 Yorum

mysql’deki tablonun olup olmadığını kontrol etmek (php kullanarak)

Php ile çalışırken, mysql’de kullandığımız veritabanı içerisinde, herhangi bir isimdeki tablonun var olup olmadığını kontrol etmenin bir kaç yolu vardır. Bu yazıda onlardan bahsedeceğim. Bunlardan ilki, SHOW TABLES querysini kullanmaktır. Örneğin, test isminde bir veritabanımız olsun. İçerisindeki tabloların ismi de, admin, member, log, test1, test2 olsun. Yani mysql’e konsoldan bağlanıp use test dedikten sonra, show […]

, , , ,

2 Yorum

php strict standards – only variables should be passed by reference error

strict standards – only variables should be passed by reference error hatasını alıyorsanız, referans olarak değişken göndermeniz gereken yere, siz farklı bir şey göndermişsiniz demektir. Ben hatayı şöyle almıştım. $var = end(explode( “/”, $filename )); end işlemini yaptığım şey explode işleminin sonucu. Ancak explode bir array döndürürken, bu arrayi bir değişkene atamadığım için, arrayin sadece […]

, ,

5 Yorum

TypeHinting nedir? Php Typehinting

Typehinting demek, bir class’a ait metodun aldığı parametrelerin türünün önceden belirlenmesi, force edilmesi demektir. Ancak bu işlemi sadece objelerde ve arraylerde yapabilmekteyiz. Örnek verecek olursak; class Dubluve{ public function deneme(array $a){ var_dump($a); } } $obj = new Dubluve(); deneme metodu için şunları söyleyebiliriz; // bu kodlar hata verecektir $obj->deneme(“php”); $obj->deneme(123); $obj->deneme(“1″); // bu kod çalışacaktır […]

, , , ,

4 Yorum

php 5.4 array dereferencing

php 5.4 ile gelen yeni özelliklerden biri de, array döndüren metodları kullanırken kolaylık sağlıyor. Aşağıdaki örnekte getData metodu, array döndüren bir metod. Ve metodu çağırır çağırmaz ise, array keyini yazıp hemen dönen sonucu kullanabiliyoruz. Tabi burada tanımsız ise hata almanız kaçınılmaz, bu yüzden yanlış veya olmayan bir key’i çağırmamaya dikkat etmeniz şart. Çok da hata […]

4 Yorum

php 5.4 callable typehint

Php 5.4 te gelen yeni bir özellik de “callable” typehinti. Callable ile , “çağrılabilir” bir parametre geleceğini ifade etmiş oluyorsunuz. ve istediğiniz zaman bunu çağırabiliyorsunuz. class Meyve { function __construct($name) { $this->name = $name; } public function selam() { return “Selam ” . $this->name; } } //fonksiyonumuzu tanımlarken $f yi callable olarak cast ediyoruz. (hint […]

3 Yorum

Php 5.4 Sinif Metoduna Hizli Erisim

php 5.4 ile birlikte sınıf metodlarına hızlıca erişimin de önü açıldı. böylece 2 satırda yapacağımız işleri artık tek satırda yapabiliyoruz. class Araba { public $name; function __construct($name) { $this->name = $name; } public function selam() { return “Selam ” . $this->name; } } // eski stil $araba = new Araba(“Mersedes”); echo $araba->selam(); // yeni harika […]

4 Yorum