На собеседованиях спрашивают: с какими версиями php работали, какие отличия. Что они хотят услышать? Я работал только вс 5.3 и 5.6? Этого мало или хотят услышать 4 или 7? Про какие отличия говорить- их в описании тьма? Просто вижу что отвечаю не то что хотят услышать. опыт у меня меньше 1.5 года.
Изменения между версиями хотят услышать Их не тьма, если сконцентрироваться на новых фичах только - именно это и хотят услышать. Зачем хотят - я хз вообще. Сейчас как-то глупо спрашивать отличие 5.3 от 5.6, хотя там и появлялись новые вкусности, типа генераторов. Узнать, что нового в ПХП7 и рассказать это - тоже имеет смысл. Хотя бы для себя самого выяснить - что нового. В общем этот вопрос направлен, как мне кажется, на любознательность и активную позицию в саморазвитии.
Трейты и генераторы сложно назвать мизерными отличиями. Или типизация в 7.0 - мизерное отличие? А уж про кучи полезного синтаксического сахара вообще молчу. Может они мизерные для тех, кто не программирует на пхп.
изменения серьезные, я бы выделил. 5.3 - неймспейсы, 5.4 - трейты, короткий синтаксис массивов, $f() для массива вида [object, method] 5.5 - генераторы, скаляр ::class 5.6 - вариадик, определение констант через выражение, use для функций и констант … IMHO, начиная с 5.6 с php просто комфортно ))) для новых проектов нет никакого смысла делать поддержку ниже 5.6, лишать себя таких простых и полезных штук.
А вы знаете его отличия от 5.х? А все ли часто используемые расширения, которые очень любят разработчики проектов на 5.х, под него уже портированы?
Основное отличие - скорость. Это то, ради чего можно перейти, даже если вы ретроград, и не собираетесь использовать типизацию базовыми типами, типизацию ретурна и не балдете от перевода ошибок в исключения Насчет расширений - https://github.com/gophp7/gophp7-ext/wiki/extensions-catalog Базовые, конечно все. Всякие под экзотические базы и т.п. - угу, могут быть проблемы. Хотя часто для них бывают и plain-php варианты, так что нужно смотреть.
Ну, насколько я помню, некоторое время назад даже банального memcache не было под него - сейчас вроде есть уже. Нету mongodb пока стабильного, а он не то чтобы экзотический. В принципе это все не страшно, но какие-то реально серьезные проекты делать на нем я бы подождал еще с полгодика хотя бы.
Ну так я и исхожу, что проекты можно начинать... к релизу проекта все хорошо будет Под монго вроде есть mongodb pecl, с 1.1.0 поддерживающий PHP7
Он вроде как помечен как beta еще. Но не суть. Если исходить из цикла разработки - то тут как бы не нарваться на какие-нибудь сюрпризы к концу процесса. Но в принципе да, так-то можно уже.
ну, судя по тому, что ты описал эти изменения трёмя фразами, можно сказать, что отличия мизерные, да. =) Концептуально - большие. Генераторы открывают большой мир другого подхода. А трейтами я воспользовался сразу, как только они появились. Но так или иначе эти простые и удобные штуки укладываются в один вечер чтения и попробовать. Они легко ложатся на голову. я перелез на семёрочку на гилдволе, на виртуалке тоже семёрка. Гоняли когда тот "миллион json", то семёрка тоже сильно быстрее. Семёрка рулит. обратная совместимость практически полная. С последними пятёрками так вообще полная. А скорость выше и плюшки появились всякие.
Тут по теме выше обсуждали уже. Основной кейс по расширениям на сегодня без проблем поддерживается. Часть экзотики можно найти на PHP-native. Если нужна оставшаяся часть экзотики - то, наверное, рано. Или задуматься - а нужна ли она.
Это если ты игнорировал депрекатед последних лет, то ты и как ты говоришь, должен страдать. Я вот не игнорировал.
что ты называешь обычными конструкторами? повтор названия класса? --- Добавлено --- к сожалению я не пользуюсь депрекатет сообщениями в лог, я стараюсь так следить. Наверное оно не плодит сообщеньки про депрекатет. Так что да, я не прав, оно не депректает, ибо я тебе верю. Но. https://wiki.php.net/rfc/remove_php4_constructors Это ж декабрь 2014. Хотя конечно тогда так лихорадило, что было не до мелочей.
Вродебы в PHP7 конструкторы в стиле Си уже не работают. Но пыха на них не ругается, просто не использует. Поэтому допустим и даже кое-где встречается такой "workaround" чтобы работало в любой версии с 4 по 7: PHP: class Foo { public function __construct() { ... } public function Foo() { $this->__construct(); } }