За последние 24 часа нас посетил 22891 программист и 1265 роботов. Сейчас ищут 788 программистов ...

Собеседование- с какими версиясиями, отличия

Тема в разделе "PHP для профи", создана пользователем php_user, 10 апр 2016.

  1. php_user

    php_user Новичок

    С нами с:
    19 апр 2014
    Сообщения:
    91
    Симпатии:
    0
    На собеседованиях спрашивают: с какими версиями php работали, какие отличия.
    Что они хотят услышать?
    Я работал только вс 5.3 и 5.6? Этого мало или хотят услышать 4 или 7?
    Про какие отличия говорить- их в описании тьма?
    Просто вижу что отвечаю не то что хотят услышать.
    опыт у меня меньше 1.5 года.
     
  2. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Изменения между версиями хотят услышать ;) Их не тьма, если сконцентрироваться на новых фичах только - именно это и хотят услышать. Зачем хотят - я хз вообще. Сейчас как-то глупо спрашивать отличие 5.3 от 5.6, хотя там и появлялись новые вкусности, типа генераторов.
    Узнать, что нового в ПХП7 и рассказать это - тоже имеет смысл. Хотя бы для себя самого выяснить - что нового.
    В общем этот вопрос направлен, как мне кажется, на любознательность и активную позицию в саморазвитии.
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    там отличия такие мизерные, что спрашивать смысла нет.
     
  4. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Трейты и генераторы сложно назвать мизерными отличиями.
    Или типизация в 7.0 - мизерное отличие?
    А уж про кучи полезного синтаксического сахара вообще молчу.
    Может они мизерные для тех, кто не программирует на пхп.
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    изменения серьезные, я бы выделил.
    5.3 - неймспейсы,
    5.4 - трейты, короткий синтаксис массивов, $f() для массива вида [object, method]
    5.5 - генераторы, скаляр ::class
    5.6 - вариадик, определение констант через выражение, use для функций и констант

    IMHO, начиная с 5.6 с php просто комфортно ))) для новых проектов нет никакого смысла делать поддержку ниже 5.6, лишать себя таких простых и полезных штук.
     
  6. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Думаю, что сегодня для новых проектов уже нет смысла делать ниже 7.0 ;)
     
  7. Basilio

    Basilio Случайный прохожий

    С нами с:
    6 апр 2016
    Сообщения:
    191
    Симпатии:
    54
    А вы знаете его отличия от 5.х? А все ли часто используемые расширения, которые очень любят разработчики проектов на 5.х, под него уже портированы?
     
  8. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Основное отличие - скорость. Это то, ради чего можно перейти, даже если вы ретроград, и не собираетесь использовать типизацию базовыми типами, типизацию ретурна и не балдете от перевода ошибок в исключения ;)
    Насчет расширений - https://github.com/gophp7/gophp7-ext/wiki/extensions-catalog
    Базовые, конечно все. Всякие под экзотические базы и т.п. - угу, могут быть проблемы. Хотя часто для них бывают и plain-php варианты, так что нужно смотреть.
     
  9. Basilio

    Basilio Случайный прохожий

    С нами с:
    6 апр 2016
    Сообщения:
    191
    Симпатии:
    54
    Ну, насколько я помню, некоторое время назад даже банального memcache не было под него - сейчас вроде есть уже.
    Нету mongodb пока стабильного, а он не то чтобы экзотический.
    В принципе это все не страшно, но какие-то реально серьезные проекты делать на нем я бы подождал еще с полгодика хотя бы. :)
     
  10. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Ну так я и исхожу, что проекты можно начинать... к релизу проекта все хорошо будет ;)
    Под монго вроде есть mongodb pecl, с 1.1.0 поддерживающий PHP7
     
  11. Basilio

    Basilio Случайный прохожий

    С нами с:
    6 апр 2016
    Сообщения:
    191
    Симпатии:
    54
    Он вроде как помечен как beta еще. Но не суть.
    Если исходить из цикла разработки - то тут как бы не нарваться на какие-нибудь сюрпризы к концу процесса. :) Но в принципе да, так-то можно уже.
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    ну, судя по тому, что ты описал эти изменения трёмя фразами, можно сказать, что отличия мизерные, да. =) Концептуально - большие. Генераторы открывают большой мир другого подхода. А трейтами я воспользовался сразу, как только они появились. Но так или иначе эти простые и удобные штуки укладываются в один вечер чтения и попробовать. Они легко ложатся на голову.

    я перелез на семёрочку на гилдволе, на виртуалке тоже семёрка. Гоняли когда тот "миллион json", то семёрка тоже сильно быстрее. Семёрка рулит.

    обратная совместимость практически полная. С последними пятёрками так вообще полная. А скорость выше и плюшки появились всякие.
     
  13. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Одно слово. Расширения.
    Нет. Я уже рассказывал тебе про конструкторы классов в семерке и пятерке.
     
  14. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Тут по теме выше обсуждали уже. Основной кейс по расширениям на сегодня без проблем поддерживается. Часть экзотики можно найти на PHP-native. Если нужна оставшаяся часть экзотики - то, наверное, рано. Или задуматься - а нужна ли она.
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Это если ты игнорировал депрекатед последних лет, то ты и как ты говоришь, должен страдать. Я вот не игнорировал.
     
  16. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Хм...у меня вроде не выскакивают на 5.6 никакие депрекатеды при юзании обычных конструкторов О_о
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    что ты называешь обычными конструкторами? повтор названия класса?
    --- Добавлено ---
    к сожалению я не пользуюсь депрекатет сообщениями в лог, я стараюсь так следить. Наверное оно не плодит сообщеньки про депрекатет. Так что да, я не прав, оно не депректает, ибо я тебе верю. Но.
    https://wiki.php.net/rfc/remove_php4_constructors
    Это ж декабрь 2014. Хотя конечно тогда так лихорадило, что было не до мелочей.
     
  18. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    Вродебы в PHP7 конструкторы в стиле Си уже не работают. Но пыха на них не ругается, просто не использует. Поэтому допустим и даже кое-где встречается такой "workaround" чтобы работало в любой версии с 4 по 7:
    PHP:
    1. class Foo {
    2.   public function __construct()
    3.   {
    4.     ...
    5.   }
    6.  
    7.   public function Foo()
    8.   {
    9.      $this->__construct();
    10.   }
    11. }
     
    Den1xxx нравится это.