Skip to content

Kévin Dunglas

Founder of Les-Tilleuls.coop (worker-owned cooperative). Creator of API Platform, FrankenPHP, Mercure.rocks, Vulcain.rocks and of some Symfony components.

Menu
  • Talks
  • Resume
  • Sponsor me
  • Contact
Menu

Progressively enhance your Symfony 4 app using Vue, API Platform, Mercure and Panther (SymfonyCon)

Posted on December 7, 2018September 26, 2021 by Kévin Dunglas

Watch the video!

Progressively enhance your Symfony 4 app using Vue, API Platform, Mercure and Panther from Les-Tilleuls.coop

Thanks to the new capabilities of the web platform (web components, Progressive Web Apps…) and the rise of modern JS libraries (Vue, React, Angular) almost all modern Symfony applications must leverage the frontend ecosystem.
Symfony 4 embed many gems that make it easy to integrate modern JavaScript within the framework, including the first component entirely written in JS: Webpack Encore.

In Symfony 4.2, another component that is super convenient for apps containing JS code has been released: Panther, a PHP library compatible with BrowserKit, that drives real web browsers to create end-to-end (E2E) tests with ease.
During this talk, I’ll show you how to cleanly integrate modern JavaScript code with Symfony and Twig and how to test such applications using Panther.

The examples will use VueJS, because it’s probably the easiest JS framework to get started with as a PHP developer, but all the tips and tricks will be applicable with other libraries such as React or Angular.

Finally, we’ll add some real time capabilities to our app using Mercure.rocks

Related posts:

  1. Symfony on steroids
: Vue.js, Mercure, Panther (SymfonyLive Paris)
  2. API Platform and Symfony: a Framework for API-driven Projects (SymfonyCon)
  3. Introducing Symfony Panther: a Browser Testing and Web Scraping Library for PHP
  4. Panther: test your Symfony apps with real web browsers

4 thoughts on “Progressively enhance your Symfony 4 app using Vue, API Platform, Mercure and Panther (SymfonyCon)”

  1. Simon Denman says:
    December 8, 2018 at 12:25 pm

    This is fantastic!
    I’ve spent the last month or so deciding which components to use for a new project and had decided on Symfony backend API with plugins for using Schema.org etc. and Vue.jsfor the front-end PWA. Then I discovered API-Platform which puts it all together for me! And now, these slides take that even further. You’ve saved me months of work!

    Quick question though – For someone with an intermediate knowledge of Symfony, would you recommend using the API-Platform full build (Docker etc.) or starting with a Symfony installation and then adding API-Platform? Or is there no difference?

    Reply
    1. Kévin Dunglas says:
      December 14, 2018 at 12:39 pm

      Hi,

      Thanks for the kind words!

      Both are ok, but I would recommend to use the full “distribution”, with Docker, the Admin the SPA Generator, the cache mechanism etc… because all great features of API Platform are enable by default, and easy to use, while when using Symfony directly, you need to setup everything by yourself, and it can be tedious.

      Reply
      1. Simon Denman says:
        December 14, 2018 at 1:07 pm

        Thanks for the reply.
        I’d sort of come to the same conclusion, although it means I now need to spend some time understanding docker better, since right now it’s not clear to me how for example to install Webpack Encore into this environment since it requires yarn, which doesn’t seem to be available via docker-compose, even though it’s used by the admin container.
        I just need to get my head around the concept of using networked containers, which is all new to me.

        Reply
  2. Pingback: Retour sur le SymfonyCon 2018 - Lab5com

Leave a ReplyCancel reply

Social

  • Bluesky
  • GitHub
  • LinkedIn
  • Mastodon
  • X
  • YouTube

Links

  • API Platform
  • FrankenPHP
  • Les-Tilleuls.coop
  • Mercure.rocks
  • Vulcain.rocks

Subscribe to this blog

Top Posts & Pages

  • Symfony's New Native Docker Support (Symfony World)
  • JSON Columns and Doctrine DBAL 3 Upgrade
  • Securely Access Private Git Repositories and Composer Packages in Docker Builds
  • Develop Faster With FrankenPHP
  • Preventing CORS Preflight Requests Using Content Negotiation
  • FrankenPHP: The Modern Php App Server, written in Go
  • Running Laravel Apps With FrankenPHP (Laracon EU)
  • Generate a Symfony password hash from the command line
  • How to debug Xdebug... or any other weird bug in PHP
  • 6x faster Docker builds for Symfony and API Platform projects

Tags

Apache API API Platform Buzz Caddy Docker Doctrine FrankenPHP Go Google GraphQL HTTP/2 Hydra hypermedia Hébergement Javascript JSON-LD Kubernetes La Coopérative des Tilleuls Les-Tilleuls.coop Lille Linux Mac Mercure Mercure.rocks Messagerie Instantanée MySQL performance PHP Punk Rock Python React REST Rock'n'Roll Schema.org Security SEO SEO Symfony Symfony Live Sécurité Ubuntu Web 2.0 webperf XML

Archives

Categories

  • DevOps (84)
    • Ubuntu (68)
  • Go (17)
  • JavaScript (46)
  • Mercure (7)
  • Opinions (91)
  • PHP (170)
    • API Platform (77)
    • FrankenPHP (9)
    • Laravel (1)
    • Symfony (97)
    • Wordpress (6)
  • Python (14)
  • Security (15)
  • SEO (25)
  • Talks (46)
© 2025 Kévin Dunglas | Powered by Minimalist Blog WordPress Theme