Arkadaşlar Namespace’i şu şekilde düşüne bilirsiniz sınıfılarımızı tutuğumuz klasör pek doğru tabir gibi durmasa’da aslında böyle anlatınca daha kolay anlaşılıyor gibi misal şöyle bir dizinin var olduğunu düşünün
root/test/1.php
şimdi root dizinimizde test klasörü ve içindeki 1.php dosyasını tanıtmış olduk bunu namespace olarak düşünelim yani root bizim namespacemiz test bizim sınıfımız 1.php ise içindeki fonksiyon olarak düşünür iseniz mantığı az çok anlarsınız diye düşünüyorum. peki neden kullanırız der iseniz şöyle düşünün yukarıdaki örneğe göre gidelim.
root dizininde bir tane daha test klasörü oluştura bilir miyiz ? veya test dizininde bir tane daha 1.php dosyası ? oluşturamayız aynı şekilde php’de de bunu oluşturamayız. ama namespace kullanarak bunu aşarız yani + bir alan oluşturmuş oluruz misal şöyle bir alan
root2/test/1.php
böyle bir yapı kullana biliriz. işte tam olarak’ta amacı budur desek yeridir. neyse bu kadar anlata bildim daha kolay nasıl anlatılır bir fikrim yok açıkcası : ) neyse şimdi basit bir örnek hazırladım sizlere altta görürsünüz ve daha iyi anlarsınız diye düşünüyorum.
iyi calışmalar.
<?php /* Author : Savaş Can Altun < [email protected] > Date : 05.09.2014 */ namespace Tanrilar; Class Zeus { public function ozellik() { return 'şimşek atar pivu pivu '; } } Class Posedion { public function ozellik() { return 'Suları falan yönetir sel yapar ezer yok eder boğulursun by .s'; } } header('Content-Type: text/html; charset=utf-8'); $zeus = new \Tanrilar\Zeus; $posedion = new \Tanrilar\Posedion; echo '<b>Zeus Amcanın özelliği </b><p>' . $zeus->ozellik() . '</p>'; echo '<b>Posedion Amcanın özelliği </b><p>' . $posedion->ozellik() . '</p>'; // seni seçtim pikacuuuuuuuuuu... // konular karıştı pardon :) ?>
not : dizin örneği verdim lakin bazı arkadaşlar dizin açıp içine sınıfları atıyormuş böyle bilgi geldi bunu yapmayın : D bu değil yani : D