Po dłuższym czasie obchodzenia dookoła tematyki namespaces i standardu PSR-0, w końcu coś mnie skłoniło do zapoznania się z ową 'czarną magią'. Już przy pierwszym kroku, zacząłem mieć małe problemy. A mianowicie: wystartowałem od korzystania z loadera serwowanego wraz z composerem...
Przykładowa struktura plików:
app --Core ----Module ------Test.php public --index.php vendor --autoload.php --composer (wraz z zawartością) composer.json composer.phar
composer.json:
{ "autoload": { "psr-0": { "Core": "app/Core/" } } }
index.php
<?php require_once '../vendor/autoload.php'; use Core\Module\Test; $obj = new Test; $obj->foo();
Test.php
<?php namespace Core\Module\Test; class Test { public function foo() { } }
Mimo wszycho, owy kod wywala soczysty 'Class Core\Module\Test not found ... index.php on line 4'. Jak to ugryźć, żeby rozgryźć? Nie pogardził bym wytłumaczeniem, gdzie użyłem nie takiego namespace, a gdzie w moim kodzie wylądowało UFO

Pozdrawiam