[ alfa-pro @ 09.04.2013. 17:53 ] @
Imam par nejasnih stvari oko namespaces. Kako sam ja to ukapirao da radi. Ja sam mislio da ako definisem namespace nekoj klasi necu morati da stavljam require_once ili da koristim spl_autoload. Ja npr sam pokusao u index.php da uradim ovo: Code: $controller = new Core\Controller\ModuleController(); E sada to prijavljuje gresku da klasa ModuleController nije pronadjena. A kada uradim include() iznad i importujem datu klasu onda radi. Mislim nije mi jasna tematika, zasto bi ja onda koristio namespace kada opet moram da koristim include/require_once? Za moju strukru je malo teze iskoristiti spl_autoload jer je meni sve u vise foldera odvojeno. Citat: | -Root |-- Library(dir) |-----Core(dir) |-------- Controllers(dir) |----------------BaseController.php |----------------FrontController.php |----------------ModuleController.php |---------------- helper.php |----------------Exception(dir) |---------------------BaseControllerException.php |---------------------FrontControllerException.php |---------------------ModuleControllerException.php |----------- Database |---------------- Doctrine |-----------------doctrine.php |--index.php |--.htaccess I tako dalje imam foldere koji sadrze klase, controllers, uri. Nije mi jasno zasto moram require ako sam definisao namespace? Evo kako sam definisao : Code: namespace Core\Controllers; class ModuleController { protected $urlvalues; protected $action; public function __construct($action, $urlvalues) { $this->action = $action; $this->urlvalues = $urlvalues; } public function ExecuteAction() { return $this->{$this->action}(); } protected function ReturnView($viewmodel, $fullview) { $viewloc = 'views/' . get_class($this) . '/' . $this->action . '.php'; if ($fullview) { require('views/maintemplate.php'); } else { require($viewloc); } } } I na kraju kao test u index.php moram sledece da bi bio uspesno instanciran : Code: require 'library/core/controller/ModuleController.php'; $obj = new Core\Controller\ModuleController(); Ja sam to drugacije ukapriao onda ili ne znam zato vas i pitam. Mislio sam ako definisem namespace da nemam potreba za imortovanje... Jel moze neko da mi pojasni uopste sustinu svega ovoga i kako to radi. Citajuci php manuel nisam nasao na primer kada su klase odvojene u vise direktorijuma i kako se onda koristi namespaces ... Hvala... |