Първо, разбирам, че си объркан. И аз се чувствах така, когато започнах. Има толкова много начини и всеки един от тях претендира, че е правилният. Започнах с CakePHP. Това е еквивалентът на Laravel от 2000-те години. По-късно започнах да използвам Zend Framework, което допринесе за наемането ми на първата ми работа. Понякога последно време съжалявам, че съм пропилял време по CakePHP.
Можех да съм научил толкова повече, ползвайки Zend Framework. Вярно, малко по-трудно е. Но също както ставаш по-силен, като вдигаш тежести, така и развиваш разработническите си умения, като се справяш с проблеми като OOP и инверсия на контрол.
Мисля, че Symfony 2 е този избор, както тогава беше Zend Framework. Ето ги и най-големите причини според мен:
- Laravel се разраства стабилно, но Symfony все повече се налага като стандарт в индустрията. Много високопрофилни компании търсят Symfony разработчици. Има някои чудесни възможности в чудесни компании.
- Също така е доста лесно да се продаде на потенциален клиент. Symfony печели, защото винаги ще има разработчици в наличие. Това затваря кръга. Разработчиците на Symfony ще бъдат търсени още дълго време.
- Със Symfony се учиш как да разработваш по-големи апликации по правилния начин. Кара те да научиш неща като Inversion of Control(Инверсия на Контрола) и MVC. По този начин ще обогатиш повече уменията си на разработчик. По мое мнение това също така е вярно до известна степен и за Laravel. Но Laravel не го прави толкова добре, колкото Symfony.
- Symfony е изградена върху Symfony Components. Повече и повече OSS проекти градят върху тях. Така знанията ти в Symfony ще ти бъдат полезни, когато разработваш с други проекти като Drupal или EZPublish.
Един недостатък е рискът да се превърнеш в част от мнозинството. Затова, както винаги предлагам, е добре човек да има разнообразни умения. Като компания (особено като малък бизнес), не търся специалисти, а хора които могат да се справят с множество различни проблеми.
Най-голямото преимущество на Laravel e, че може да е много по-лесен за научаване. Също така, обикновено, нещо може да бъде завършено за по-малко време, тъй като Laravel е разработен с цел по-бързо разработване на апликации (като Rails).