14 Şubat 2013 Perşembe

PHP Namespace

Merhaba, Nedir bu namespace diyerek Google'nin başına geçmiş, araştırmalar yapmış ve tam olarak kafanıza oturmadan çalışmaları sonlandırmış olabilirsiniz. Biraz gerçekçi senaryolar üzerinden giderek sonuca ulaşmaya çalışalım. - library - Form - Data.php (class Data) - Database - Data.php (class Data) Şeklinde iki adet Data.php dosyalarına tanımlanmış Data isimli sınıflarımız var. Buraya kadar sorun yok. Şimdi bunları aynı sayfa üzerinde çalıştırmaya çalışalım.
<?php    require_once('library/Form/Data.php');    require_once('library/Database/Data.php');    $object1 = new Data();    $object2 = new Data();    ?>
İşte burada işler karıştı ve fatalı yediniz. PHP size kızdı. Muhtemelen kullandığınız IDE bile size kızdı. Yazıklar olsun dedi. PHP 5.3.x ile beraber gelen namepsace bu konuda bize çözüm sağlıyor. library/Database/Data.php :
<?php    namespace Database;    class Data{    }    ?>
library/Form/Data.php
<?php    namespace Form;    class Data{    }    ?>
Şimdi namepsace ile doğru kullanımına geçelim
<?php    require_once("library/Database/Data.php");    require_once("library/Form/Data.php");    $object1 = new \Database\Data();    $object2 = new \Form\Data();    ?>
Evet şimdi işlet tıkırında giti ve PHP'de IDE'de kızmadı bize. Çalıştı. Eğer namespace kullanmamış olsaydık 2. Data classımız için Data yerine başka belkide anlamsız bir isim vermek zorunda kalacaktık. Özellikle büyük çaplı projelerde iç içe klasör yapıları ve classlar ile daha anlamsız class isimleri oluşturmak durumunda kalacaktık. Buda kod okunurluğunu ve OOP yapısına uygun olmayan sonuçlar doğurabilirdi. Umarım faydalı olmuştur. Devamı için : PHP Namespace

Hiç yorum yok:

Yorum Gönder

Yorumunuzu esirgemeyiniz..