Jul 09 2006
Magiczne namespace..
Filed under PHP,PHP6,Wiadomości by Łukasz Dywicki
I oto się stało. Pierwszy raz użyłem przestrzeni nazw w PHP! Nie do wiary? A jednak. Nie było jakichkolwiek problemów z samą instalacją, ponieważ do pobrania jest paczka (pod Win ;)), która zachowuje się jak wszystkie inne pobrane z php.net. Przykłady podane na necie działają, więc nie pozostaje nic innego jak zabrać się za używanie przestrzeni nazw. :)
Oto listingi, które działają:
< ?php import class a:::AFactory; import class a:::A; namespace a { class AFactory { public static function create() { return new A; } } private class A {} } // works perfectly: AFactory::create(); // fails with 'Fatal error: Cannot use class 'a:::A' outside of its namespace, as it is private' // new A; ?>
Oraz:
< ?php import namespace a; function __autoload($classname) { foreach (get_imported_namespaces() as $ns) { $filename = str_replace( ':::', '/', $ns ) . '/' . $classname . '.php'; if (file_exists($filename)) { require_once($filename); // will require a/A.php autoload_import_class($classname, $ns); // will import class a:::A } } } new A; ?> // file a/A.php: < ?php namespace a { class A {} } ?>
I doczekales sie tego czego chciales (chcielismy) – jeszcze kilka drobiazgow i bedziemy mieli PHP Enterprise – szkoda tylko ze nie jest to w standardowej kompilacji – mam nadzieje, ze idea projektu stanie sie juz niedlugo standardem w PHP. Minusem tego jest fakt, iz prekompilowane packi oraz patche dostepne sa jak narazie tylko dla PHP 5.1.1 – chodz to i tak bardzo swieza wersja PHP – widac, iz projekt zyje
>> PHP 5.1.1 – chodz to i tak bardzo swieza wersja PHP
3 wersje w te czy wewte ;)
Hymm jak sie zastanowimy to praktycznie dwie 5.1.3 bylo, az jeden dzien. Pozatym przktycznie rzecz biorac ile hostingow ma php 5.1 ??
Hm… Moj ma :)
http://harem.com.pl/phpinfo.php :)
Moj ma nawet 6.0 – http://127.0.0.1 – Wiesz pomijam dedyki – i dobre firmy hostingowe – mowie o masowce dla normalnych ludzi…
Przestrzenie nazw przydałby mi się akurat… ale za nim na dobre PHP 6.0 zagości na serwerach, to zapewne “trochę” czasu niestety minie…
Wiecie może na kiedy jest przewidziana mniej więcej pierwsza beta PHP 6.0?