variabele namespace (kan het?)
Afhankelijk van het environment type (development, testing, stating, production), moet een database adapter geladen worden (MySQL, MySQLi, SQLite, etc). Dat zijn meerdere classes in 1 namespace. Namespace is bijv pr\database\mysql. Wat ik zoek is:
De dynamische namespace "adapter" is dan variabel. Het stukje hierboven is echter geen PHP =( Variabele namespaces mag niet ofzo!? De foutmelding:
Hoe kan het wel? De laatste 2 statements gaan heel vaak gebruikt worden, dus dat moet makkelijk zijn. (Dus geen call_user_func en het liefst geen $variabele.)
Iemand een briljant idee?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$ns = 'pr\\database\\' . $adapters[$env]; // bijv "pr\database\mysql"
use $ns AS adapter;
$connection = adapter\Connection::open(array('database' => 'bla'));
// en
$query = new adapter\Query;
// etc
?>
$ns = 'pr\\database\\' . $adapters[$env]; // bijv "pr\database\mysql"
use $ns AS adapter;
$connection = adapter\Connection::open(array('database' => 'bla'));
// en
$query = new adapter\Query;
// etc
?>
De dynamische namespace "adapter" is dan variabel. Het stukje hierboven is echter geen PHP =( Variabele namespaces mag niet ofzo!? De foutmelding:
Quote:
Parse error: parse error, expecting `T_STRING' or `T_NS_SEPARATOR'
Hoe kan het wel? De laatste 2 statements gaan heel vaak gebruikt worden, dus dat moet makkelijk zijn. (Dus geen call_user_func en het liefst geen $variabele.)
Iemand een briljant idee?
Gesponsorde koppelingen:
Er zijn nog geen reacties op dit bericht.



