Перелез с Yii, не жалею. Жаль Symphony так и не посмотрел.
1. Сложно ли вести на нем вести разработку и перелазить на новые версии, ведь он развивается бешено в последние годы ?
Как обычно - сложные проекты, где куча завязок на "то, не знаю что" сложно, небольшие проекты, где можно за денек серьёзно все отрефакторить несложно.
2. Насколько дорого и сложно будет содержать проект, например интернет магазина (уровня викимарта), относительно связки symfony + mysql?
Не знаю. Вроде как спецы дороже, но mysql и СУБД'то не самая лучшая, вроде его последнее время опускают и из свободных рекомендуют postgres. Да я и сам с mysql прилично помучался восстанавливая innodb таблицы. Так что мне кажется, что на ASP NET MVC будет это дешевле, потому что делается быстрее, поддерживается лучше, железа опять же нужно меньше. Да и вакансий на PHP с ЗП > 100k полно, так что не такие то они и дешевые. Не студентам же доверять викимарты писать.
3. На ваш опытный взгляд, стоит ли переезжать на C# с учетом выхода php 7 ? Это будет как шаг повышения квалификации и развития навыков в дальнейшем? Мне сложно ответить на этот вопрос самому, потому как не знаю шарпа.
Я знаю про php7 только то, что там немного типизацию ужесточат. Сам до сих пор немного пишу на PHP поддерживаю пару своих же магазинов на Yii. Так вот скажу, что все-таки C# поприятнее. Как язык приятнее. Среда разработки VS + re# нисколько phpstorm'у не уступают, даже покруче, т.к. подсказывает охотнее. Тут больше возможностей языка и будет меньше магии в коде. Всё-таки когда проект билдится, как-то спокойнее на душе:) Проще рефакторить. RE# держит в узде и вьюшки (wide solution analysis).
Ещё мне больше нравится как тут с либами работа. В PHP composer используется, и все эти либы лежат с исходным кодом. Нужно проект переносить, это бывает порядка 10000 файлов (понятно, что ), а в C# все упаковано в DLL. Если в студии ты уже использовал класс, значит он будет работать, значит он тут подключен, а в PHP с его auto_load не факт, IDE просто знает, что такой класс есть в проекте и подсказывает.
В C# удобнее разделять слои. Вынес, например, DAL в отдельный проект, тупо ставлю галочку на зависимость от проекта в других, использую один и тот же код в консольке для разработки (всякие экспорты данных между базами) в публичной части, в закрытой части. И всё это легко, в рамках солюшена. В пыхе наверное немного бубна нужно для такого (честно не знаю, не было необходимости).
Тут ещё про EF писали, что мол единственная ORM. Не соглашусь, орм очень много. Active record злая вещь, они тяжелые и провоцируют размазанную по всему проекту работу с БД.