Пространства имен в 5.3 - доступны снапшоты

fixxxer

К.О.
Партнер клуба
ну сделай патч и закинь в php.internals если тебе это так нужно ;)
 

cDLEON

Онанист РНРСlub
Интересно...Когда выйдет стэйбл релиз и когда это поддержит эклипс 8)
 

Major

Новичок
А вот у меня возник вопрос, действительно есть необходимость в новом механизме NS ? В пхп есть уже статические свойства и методы в классах. Ведь класс, по сути, - это же тоже пространство имен, ограниченное этим классом.

чем отличается на практике

PHP:
<?php //NS.php
namespace test;

const TEST = 1;

function foo () { ... }
?>
<?
include NS.php

test::foo();

echo test::TEST;
?>
от

PHP:
<?php //NS.php
class test
{
     const TEST = 1;
     public static $var = 'test';
     public static function foo () { ... }
}
?>
<?
include NS.php

test::foo();

echo test::TEST;

echo test:: $var;
?>
??? Может я в чем-то не прав, но... Я понимаю что NS и классы это вообще разные вещи, но я в данном случае про практическую реализацию говорю. Чем хуже использование класса со статическими свойствами. Тем более реализация выходит удобнее. Нет ограничений таких, как в добавленных NS.

Просто вот задумался...
 

tf

крылья рулят
класс не очень красиво описывать в другом классе, вот и разница
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Major - это инструмент проектирования, а не кодирования
 

Major

Новичок
Вообще подумал, да, все-таки NS нужны =). Просто сначала что-то как-то засомневался в какой-то момент. Надеюсь что доработают текущую реализацию NS до нужного уровня.

-~{}~ 14.11.07 22:14:

Хо хо, скачал новый снапшот. Там отсутствует import, а вместо него теперь use. Емае =)

-~{}~ 14.11.07 23:45:

Исправили баг с неоднозначностью констант! Яж говорил что это баг =)
 

agx

Программер :-)
Неймспайиы - незаменимая вещь, если вы планируете писать свой фреймворк. Они полностью решают вопрос именования классов: создайте пакет, задайте пространство имен и названия классов в нем не будут пересекаться с классами из других пакетов. Особенно удобно, если требуется создать несолько версий одного и того же пакета. В общем, считаю появление namespace большим шагом вперед и назменимым инструментом написания серьзных, масштабных приложений, и особенно, создания повторно используемого кода.
 

Major

Новичок
NS нужны, это уже доказали другие языки программирования, такие как С++ и Java. Кстати, заметил очень большую схожеть NS в PHP с Java. Прямо почти 1 в 1, разве что только слово импорт заменили на USE по просьбам трудящихся.
 
Сверху