Symfony ou Laravel ?

Robin Chalas

@chalas_r
chalasr
Alximy
 Core Team

Symfony is a set of reusable PHP components and a PHP framework for web projects.

 

Speed up the creation and maintenance of your PHP web applications. End repetitive coding tasks and enjoy the power of controlling your code.

@chalas_r

The PHP Framework
for Web Artisans

Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.

@chalas_r

Syntaxe : Élégance et Explicitation

@chalas_r

"Facades" vs D.I.

@chalas_r

"Facades" vs D.I.

@chalas_r
@chalas_r

Si votre projet est supposé évoluer et être maintenu longtemps, n'utilisez pas les façades.

E_TOO_MUCH_CONVENTIONS

@chalas_r

Laravel est orienté convention over configuration.
Dévier de ces conventions réduit considérablement la rapidité et l'aisance du développement.

Symfony n'a pas toujours été irréprochable

// src/Symfony/Component/HttpKernel/Bundle/Bundle.php

public function registerCommands(Application $application)
{
    if (!is_dir($dir = $this->getPath().'/Command')) {
        return;
    }

    $finder = new Finder();
    $finder->files()->name('*Command.php')->in($dir);

    foreach ($finder as $file) {
        $class = $file->getBasename('.php');
        $r = new \ReflectionClass($class);
        $application->add($r->newInstance());
    }
}
@chalas_r

QUE DISENT LES CHIFFRES ?

@chalas_r
@chalas_r

LARAVEL/FRAMEWORK

@chalas_r

SYMFony/FRAMEWORK-bundle

@chalas_r

Symfony/console

@chalas_r

Composer

Symfony

Doctrine

Laravel

API Platform

Drupal

Sylius

Magento

PHPStan

...

Même si tu ne l'utilise pas directement, ton projet dépend probablement de Symfony.

@chalas_r
@chalas_r

Symfony possède un nombre de contributeurs plus importants que Laravel.

@chalas_r

Laravel dispose de plus d'auteurs de contenu et d'évangelistes que Symfony.

@chalas_r

Mais à quel prix ?

@chalas_r

La communauté Laravel fait preuve de beaucoup plus d'initiatives et de pratiques controversées ...

@chalas_r
@chalas_r
@chalas_r

Ainsi que d'une vision "particulière" de l'esprit open-source.

@chalas_r
  • Laravel est plus facile à prendre en main que Symfony.
    Il permet d'arriver plus rapidement au même résultat lors des premières utilisations.

     
  • Symfony utilise et pousse vers des patterns permettant de produire du code plus qualitatif, évolutif et maintenable. Atteindre un niveau de qualité similaire avec Laravel demande plus d'efforts.
     
  • Les deux frameworks ont un écosystème très riche qui permet de répondre aux besoins les plus modernes et complexes.

Conclusion

@chalas_r
  • La demande de développeurs Laravel est plus importante :
    Amérique vs le reste du monde + une adoption montante dans le reste du monde, notamment en France.

     
  • Les utilisateurs de Symfony sont en majorité plus sensibles aux
    bonnes pratiques en terme de programmation orientée objet

Conclusion

@chalas_r

Merci !