Het begin van een controller:
<?php
namespace app\controllers\admin;
class clubsController extends \app\controllers\ControllerParent {
?>
Dat werkt. Maar als ik de
\app\controllers\ControllerParent
verander naar:
app\controllers\ControllerParent
werkt het niet meer... Erreur: "Class 'app\controllers\app\controllers\ControllerParent' not found" (en dat klopt natuurlijk, maar hoezo pakt-ie m relatief?).
Als ik de parent class use en dan zonder namespace aanroep, hoeft er geen \ voor. Het volgende werkt:
<?php
namespace app\controllers;
use app\controllers\ControllerParent;
class adminController extends ControllerParent {
?>
Maar met het volgende werkt-ie ook!!
use \app\controllers\ControllerParent; // Voila met leading backslash... Geen verschil
Soms is het bij het inline gebruiken van namespaced classes ook zo. Soms met er een \ voor, soms moet het juist niet en volgens mij maakt het soms niet uit... Ik heb de voorbeelden nu even niet bij de hand =) maar ik ben echt de weg kwijt. Het ziet er allemaal een beetje inconsequent uit.
Iemand ervaring met namespaces die het me uit kan leggen? Uit de docs op php.net leid ik af dat beginnen met een \ altijd goed is (want ik begin altijd met de 'hoofdnamespace' ("app"). Maar blijkbaar is dat niet zo!
Dank groot zijnde de mijne.
(P.S. Ik mis een PREVIEW functie... Het is maar een beetje gokken hoe ik code moet aangeven. Elk forum doet dat namelijk anders.)
-- edit: de [ code ] ging niet helemaal goed denk ik!?