9 grudnia 2019

Laravel vs Symfony cz.1 wstęp

Pewnie wielu z was zastanawia się, który framework PHP wybrać. Jeśli nie mam racji, to trudno, ale i tak zrobię tą serię wpisów, których zadaniem jest pomoc przy wybraniu tego idealnego 🙂

Pod lupę wybrałem dwa popularne frameworki: Laravel oraz Symfony

Który framework jest lepszy, Laravel czy CakePHP?

Seria wpisów którą właśnie przygotowuję, będzie miała za zadanie porównanie obu frameworków. Nie podejmę się jednak próby ocenienia który framework jest lepszy, bowiem każdy z nich spełni się lepiej w innym projekcie.

Wymagania serwera

Oba frameworki możemy zainstalować za pomocą narzędzia „composer„.

Całość będę opierał o następujące wersje, Symfony 5.0 oraz Laravel 6.5

Aby uruchomić Symfony, wymagane będzie zainstalowanie na serwerze PHP w wersji min 7.2.9 oraz Ctype, iconv, JSON, PCRE, Session, SimpleXML, Tokenizer

Aby uruchomić Laravel w wersji 6.5, wymagane będzie zainstalowanie na serwerze PHP w wersji min 7.2 oraz BCMath, Ctype, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML.

Instalacja

Laravel zainstalujemy poleceniem:

composer create-project --prefer-dist laravel/laravel {nazwa_katalogu}

Symfony zainstalujemy poniższym poleceniem:

composer create-project symfony/website-skeleton {nazwa_katalogu}

Laravel po ściągnięciu zajmuje 34Mb, Symfony 38Mb

Serwer deweloperski

Oba frameworki są wzbogacone o serwer developerski.

Uruchomienie serwera deweloperskiego na Symfony:

symfony server:start

W Laravel następujące polecenie uruchomi server:

php artisan serve

Serwer produkcyjny

Oba frameworki możemy uruchomić produkcyjnie za pomocą „Apache” lub „Nginx”

Baza danych

Laravel (Eloquent) obsługuje serwery baz danych:

MySQL, PostreSQL, SQLite, SQL Server

Symfony (Doctrine):

MySQL, PostgreSQL, NoSQL

Popularność oraz podsumowanie

W Polsce, popularny wśród ofert pracy z kategorii IT jest zdecydowanie Symfony. Na drugim miejscu wśród popularności znajduje się Laravel. To właśnie z powodu popularności obu frameworków postanowiłem przyjrzeć się im bliżej.

Następnym wpisem zajmę się niebawem, zobaczymy, jak ustawia się adresy w obu frameworkach.