За последние 24 часа нас посетили 54326 программистов и 1776 роботов. Сейчас ищет 981 программист ...

Что нового в PHP 6

Тема в разделе "Прочие вопросы по PHP", создана пользователем Raa, 12 авг 2006.

  1. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Именно то, откуда я взял вышенаписанные нововведения [​IMG]
    Вобщем не очень порадовало...
     
  2. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    мда я еще 5 версию в руках не держал уже 6 ставят
     
  3. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    А вот это зря...
     
  4. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    А я надеюсь разработчики не будут сильно наседать на всякие вещи как ООП и прочие извращения - у нас скриптовый язык, пусть таким и остаёться! НИКАКОЙ ТИПИЗАЦИИ - в этом лёгкость и сила PHP. А вот множественное наследование - оно будет _ОЧЕНЬ_ кстати - действительно часто наталкиваюсь на невозможность сего действа.
    А вообще надо оптимизировать сам PHP, делать его более быстрым, развивать библиотеки - многие из них в плачевном состоянии или не обновлялись уже много лет, добавлять полезные функции и не терять голову на всяких классах встроенных в PHP - я не помню что бы я когда либо использовал SPL или что в этом роде.
     
  5. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    "Никакой типизации", с этим полностью согласен, вот только непонятно, как связано это с ООП.
     
  6. Anonymous

    Anonymous Guest

    ДАА!!! Хочу!
    =)
    А еще поубирать всякие magic_quotes и register_globals =)
     
  7. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Всю объектную модел С++ в РНР бы перенести...
     
  8. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    В c++ лажовая модель (хотя за последние годы может чего и изменилось).
    Вот в c# нормальная.
    Другое дело, что если нужна cи-модель, так переходить на IIS и писать на си.
     
  9. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    про ООП отдельным преложением идёт :)

    Кстати, расширеный функционал [ ] скобок порадовал - давно пора. Главное что бы это на скорости работы не сказалось!
     
  10. ONK

    ONK Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    281
    Симпатии:
    0
    Адрес:
    СПб
    Почитал нововведения...

    Если кратко, то не туда они пошли.
    Кому нужна поддержка юникода в названиях функций и классов. Да и вообще вводить поддержку юникода на уровне обработчика строк не нужно, трёхкратное замедление посимвольных операций слишком дорогая плата.
    Есть конечно правильные решения, но этого мало.
    Лично я жду от разработчиков создания вместо экзекутора опкода полноценного преобразователя опкода в наборы прямых процессорных инструкций с соответствующей оптимизации на этапе компиляции и кэшированием для последующего многократного исполнения. А то, о чём идёт речь просто маленький шажок с весьма спорными (некоторыми) нововведениями.
     
  11. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    И как ты видишь компиляцию интерпретируемой программы, которая даже списки имен функций и переменных хранит во время исполнения в процессорный код?
     
  12. ONK

    ONK Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    281
    Симпатии:
    0
    Адрес:
    СПб
    vasa_c, я не вижу никаких проблем. На этапе исполнения вообще не нужны имена функций, нужен оптимизированный поток инструкций и данных. Единственной но это необходимость повсюду таскать с собой ядро экзекутора для выполнения инструкций типа $function_name() $$var_name и eval($code).
     
  13. Anonymous

    Anonymous Guest

    ONK, еще ананимные лямбда функции. А они для callback-ов используются.
     
  14. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    ONK, ой, нужны имена на этапе исполнения. Еще как.
    Особенно в ассоциативных массивах.
    Да и во многих других случаях.
     
  15. ONK

    ONK Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    281
    Симпатии:
    0
    Адрес:
    СПб
    Горбунов Олег, я не планировал дать исчерпывающий список всех возможных проблем -).
    Никто не утверждает что это просто. С учётом автоматического приведения типов объём генерируемых процессорных инструкций будет очень большим, а их оптимизация не тривиальна. Некоторые конструкции оптимизируются элементарно (целочисленные операции, итерация строк с помощью []), а другие требуют анализа операций в процессе исполнения опкода кода (в основном отслеживание порядка приведения типов для удаления лишних инструкций).
    Но именно это с моей точки зрения должно быть следующим значительным шагом в развитии ПХП.
     
  16. ONK

    ONK Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    281
    Симпатии:
    0
    Адрес:
    СПб
    vasa_c, никто не просит устранять "ПХП массивы", только не надо путать индксы "массивов" с именами, это всеголишь данные, преобразуемые в хэши для поиска других данных в хэштаблицах (кстати этап хэширования во многих случаях можно провести на стадии преобразования опкода в инструкции процессора).
     
  17. xak2

    xak2 Guest

    я слышал в PHP6 будут встроеные html Теги чтото типа ['td'] если я неошибаюсь.

    Это только слухи но конечьно былобы супер еслибы это былобы :)
     
  18. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Вопрос - нафига оно надо? :D
     
  19. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    бред. лишняя бредятина в коде... еще больше ламеров бу радовацца
     
  20. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    А очень просто связано. Появилась возможность указывать тип формального параметра функции (метода). Причем это почему-то сделано только для классов. Поправьте, если я что-то подзабыл.

    Вот, к примеру, имеем функцию:

    PHP:
    1. function alienFunc(Class1 obj) {...}
    А у меня есть объект класса MyClass2 extends MyClass1. Я уверен, что фактически он предоставляет тот же интерфейс, что и Class1, и, беря на себя ответственность за все, что произойдет, хочу передать его в alienFunc(). Но не могу. А наследовать Class1 тоже не могу и не хочу, потому что мне намного важнее и удобнее наследовать MyClass1. Вот такая запара получается. Зачем такое придумали? Я, честно говоря, не понимаю. Я тоже согласен, что прелесть языка PHP в том, что он скриптовый. Те, кому нужна строгая типизация, могут воспользоваться всеми прелестями C++/CGI. Лично мне кажется очень подозрительным такой шаг разработчиков PHP. И очень не хотелось бы, чтобы PHP превратился в подобие С#.

    А множественное наследование действительно не помешало бы.
     
  21. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    в функциях это тоже можно использовать.
    из всех типов поддерживаются только объекты и массивы.

    http://www.php.net/manual/ru/language.o ... inting.php
     
  22. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Я не об этом. Я о том, что можно явно указать только класс объекта (или массив, как Вы кстати заметили), но не простой тип. Впрочем, это скорее к счастью, чем к сожалению. Просто мне не совсем понятен такой ход. Почему только для объектов?
     
  23. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Прелести OpenSource - чё в бошку взбредёт, то и делаем и все идут лесом.
     
  24. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Не согласен. В оупенсорсе есть свои стимулы думать прежде чем делать. И, кстати говоря, более способствующие нормальному развитию проекта. Если бы PHP был бы проприетарным, то его разработчики уделяли бы основное внимание тому, как сделать PHP прибыльным, а не удобным и эффективным.
     
  25. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    И да, и нет. Насчёт что он удобен - особо не спорю, но есть пару больших ляпов, дико бесящих или заставляющих извращаться.
    Эффективным, я бы не сказал, попробуйте загрузить масив из 15-20 тысячь записей из базы и обработать... В этом плане в PHP туго очень... Да и работа с фаиловой системой очень тяжеловесная - кучу ресурсов потребляет.