Излезе PHP 5.3.0 beta 1 Johannes Schlüter обяви това вчера във php.internals чрез съобщение, което може да се намери тук:
Най-голямата промяна е че вече няма да има OOP в closures, като повече информация имат тук по въпроса. Другото важно нещо е че PHP5.3.0 е feature freeze фаза, т.е. няма да има промени, касаещи синтаксиса и функциолността на езика, а само bug fixes.
Колкото и да съм доволен от това че PHP 5.3 наближава, не мога да скиря и разочарованието си от основното нещо което се чакаше в PHP – namespaces. Или по-точно техния разделител, който в момента мога с ръка на сърцето да кажа че не струва. Cпоред мен това е най-голямата дизайнерска грешка в целия език и породи много дискусии и висички бяха на едно мнение че това не струва. Поне за мен предишния разделител се вписваше идеялно и даже в документацията си към проектите така си описвам класоветe Package1::Package2::Class ( при истинско име на клас Package1_Package2_Class)
// преди, се мислеше да е така, красиво нормлано Package1::Package2::Class::saticMethod() // сега вече е Package1\Package2\Class::StaticMethod() // удря малко на // C:\foo\bar\baz // а това е валиден, грозен код PHP\Namespaces::$separator->sucks();
Разбирам защо е решено да се смени ::, заради конфликта с статичните методи, но все пак, е можело да се направи да се хвърлят E_ERROR при конфликт. И то май доста ще се използва “use” ключовата дума зада избягвам да ползвам сепаратора.
Но няма как такъв е живота и той продължава , добре че има и други езици
/

January 31st, 2009 at 11:27 am
Тази работа с уикито е малко лицемерна — само и само за да “докажат”, че са направили правилното решение. Аз съм с двете ръце за
:::January 31st, 2009 at 11:30 am
# // сега вече е# Package1/Package2/Class::StaticMethod()
Май не е точно така — май е с обратната наклонена
January 31st, 2009 at 3:17 pm
Ами то не мисля че успяха да убедят някой че са взели правилното решение. Аз бях за ::, но и ::: е щеше да е добро решение. Но са решили, че много хора ще се бъркат и е дълго за писане, но пък не е толкова грозно колкото \
п.п. За Package1/Package2/Class::StaticMethod() си прав трябва да е Package1\Package2\Class::StaticMethod(), поправих го, просто съм свикнал да ползвам повече \ от колкото /