"Ik kan toch niet automatisch een namespace laden?"
Tot PHP 5.6 kun je alleen classes/interfaces/traits importeren met het use keyword. https://wiki.php.net/rfc/use_function Heeft dat voor PHP 5.6 veranderd: je kunt functies en constanten ook importeren met het use keyword.
Even een voorbeeldje om het idee duidelijk te krijgen. Ik wil ergens een language instellen aan de hand van constanten die in een language class staan. Dus zeg maar zoiets als dit:
<?php
namespace language;
class language {
const NL = 0;
const DE = 1;
}
?>
<?php
namespace user\preferences;
class preferences {
public function setLanguage($language) {
}
}
?>
En dan wil ik dit kunnen doen:
<?php
use user\preference\preferences;
use language\language;
$user_preferences = new preferences();
$user_preferences->setLanguage(language::NL);
?>
Die language class bevat alleen maar een aantal constanten, en daarom moet die class niet geinstantieerd kunnen worden.
Wouter, ik wilde eigenlijk eerst aan je vragen waarom je zo raar reageert, omdat ik dacht dat je het over de oplossing van Dos had. Maar toen zag ik dat het over de oplossing van Ward ging.
Die heb ik gisteren getest en toen deed ie het niet. Net nog een keer getest en nu doet ie het wel. Ik vermoed dat ik dus gisteren ergens een echo ben vergeten.
Dus ondanks dat ik je opmerking in eerste instantie totaal niet begreep... toch bedankt :)
En Ward ook bedankt!