SensioLabs’ North American SymfonyLive conference will be held in San Francisco from October 19th-20th. We are ecstatic to return to the city by the bay and host the American Symfony community.
09:00 |
Symfony 4
Keynote by Fabien Potencier Symfony 4 |
09:45 |
Dependency Injection Component v4.0
Talk by Nicolas Grekas in Track A The Dependency Injection component is one of the central pieces of any Symfony applications since version 2.0. Starting this winter, it has gained many new features that were needed to build the new Symfony 4 experience around Flex. While used extensively in core, can you leverage them in your own apps? Can you create a lazy iterator in Yaml? A scoped service locator? Configure auto-configuration? During this talk, I'll tell you about the new tags, interfaces or annotations that allow building powerful services. The goal: making your apps always more expressive, thus maintainable. |
10:50 |
Our Journey into Decoupled Apps with Symfony
Talk by Josh Schroeder in Track A (1 hour) I work at a digital agency and we build decoupled apps with a Symfony backend almost exclusively - but three years ago was quite a different story. As JS frameworks and single page apps came into the spotlight, we began the shift from Symfony+Twig to using Symfony as a REST API and Admin backend. We'll discuss the various solutions we have used to build our APIs like using FOS REST, HATEOAS bundles, OAuth bundles, JWT authentication, JMS Serializer, and Api Platform. Lastly, we'll discuss why we're using API Platform now and why you should check it out if you haven't yet. Slides are available at https://slides.caxy.com/decoupled-apps |
11:35 |
Hadoop, PHP and Symfony
Talk by Michael Cullum in Track A Hadoop is a big data technology suite that provides a range of tools for storing, interacting with and manipulating large data sets, or to help solve big data problems which might relate to the structure and distribution of the data just as much as the size of it. With many companies approaching points where they need to be able to handle large amounts of data, either right now or looking forward in order to scale, Hadoop is one of the core technologies that can help aid you there. In this talk I'll provide an outline of HDFS, Hive and Spark, how you can use them; the differences between Hadoop and other technologies such as Elasticsearch; about Presto, a distributed SQL query engine that will allow you to query your data with simple SQL queries. And finally, I'll talk about how you can utilise these resources from within your Symfony application, allowing your platform to interact with huge volumes of data easily and quickly. |
14:00 |
Employing CQRS and Event Sourcing to Build an MVP
Talk by Beau Simensen in Track A (1 hour) Learning about Command Query Responsibility Segregation (CQRS) and Event Sourcing can be both exciting and confusing. It sounds great, but how does it work in the real world? Won't it be a lot of work before you even get started? Will it be worth the investment and when will that investment start paying off? Are these technologies appropriate for building a minimum viable product (MVP)? Find out how these questions were answered for one team as they set out to build their MVP. |
14:45 |
Managing dependencies is more than running "composer update"
Talk by Nils Adermann in Track A Can you get yourself out of every tricky situation with Composer? This talk covers a broad range of dependency management subjects: From assessing risk, e.g. through BC breaks, introduced into your business critical code by third party software, all the way to hands-on tips for working with composer in the real world, e.g. what to do if composer.lock conflicts during a merge, when your colleagues and you modified dependencies in different ways. |
15:50 |
BDD API Development with Symfony and Behat
Talk by Adam Englander in Track A (1 hour) BDD API Development with Symfony and Behat You may have built an API in Symfony before. You may have even written some browser tests in Beta. Did you ever consider using Behat to write integration tests for your API? If not, you definitely should. The portability and reusability of Behat steps make it the perfect platform for API integration tests. The Symfony kernel integration for Behat and absence of JavaScript in an API makes this match made in heaven. Pull up a cloud and let me show you the pure awesomeness that is BDD API Development with Symfony and Behat. |
09:00 |
Webpack Encore - Pro JavaScript and CSS for Everyone
Keynote by Ryan Weaver in Track A (1 hour) Ready to write an amazing front-end for your app? There are *so* many great tools, like React, Vue.js, module loaders, Sass, LESS, PostCSS and more. But, they all have one thing in common: you need to configure a *build* system before you write a single line of code! Thankfully, there's Webpack: the leading tool for processing & bundling your JavaScript and CSS. There's just one problem: configuring Webpack is tough and requires a lot of Webpack-specific knowledge. Say hello to Webpack Encore: a library built by Symfony to quickly bootstrap a sophisticated asset setup, complete with minification, SASS processing, automatic versioning, Babel support and *everything* you need to start writing great JavaScript quickly. In this talk, we'll also learn about using JavaScript modules, how to bootstrap a framework (like React) and other important modern practices. Give your assets a huge boost with Webpack Encore! |
09:45 |
Knowing your state machines
Talk by Tobias Nyholm in Track A (1 hour) Web development is not just about delivering a response. It is also about writing good code. The state pattern will help you move complexity from being all over your code to one or more state machines. This talk will introduce state machines, show how to identify uses of them and implement them in your Symfony application in an object oriented manner using the Symfony Workflow component. |
10:50 |
Symfony at OpenSky
Talk by Pablo Godel in Track A OpenSky is one of the first large ecommerce platforms to use Symfony2. The whole marketplace has been running on Symfony for many years. Over this talk we will share: - how we use the framework and other PHP components - our deployment process - using Doctrine with MySQL and MongoDB - things we learned to avoid - running a large PHPUnit test suite Any more interesting tips on how our team operates with a large code base. |
11:35 |
Integrate Symfony Components into your next WordPress Site
Talk by Kevin Simpson in Track A A popular choice with some of our clients is to use WordPress, however as a Symfony developer, working with WordPress feels like going backward time. Over the last year or so, we've been experimenting incorporating Composer, MVC design patterns, and Symfony component libraries with WordPress. This hybrid approach has been very successful for us, and we want to share some of the things that we have learned with the Symfony community. In this talk I will cover: - Configuring Composer to manage WordPress - Building pages using MVC in WordPress - Helpful WordPress plugins to make your integration easier - Rendering WordPress templates using Twig - Incorporating Symfony Components - Autoloading, DI Container, Exception Handling, Logging in WordPress - Extending HttpCache to provide a caching layer to our WordPress sites. Have the best of both worlds - our clients get the CMS that they want, and our developers use proven technology solutions built by the Symfony community. |
14:00 |
Improving API communication using GraphQL
Talk by Pascal de Vink in Track A (1 hour) After the headache that was SOAP and the confusion that was REST+HATEOAS, comes a new contender to the API communication market for the web: GraphQL. In this talk, we'll take a deep dive into what it is, what benefits GraphQL provides, how it differs from the previous generations of API communication and of course how easy it is to implement a GraphQL API using Symfony. |
14:45 |
Building an Admin Backend with Sonata Admin
Talk by Michael LaVista in Track A A walk-through of using Sonata Admin with Symfony for an Admin Console/ Backend. What it is and how to use it, helpful tips and gotchas that are tough to find in the documentation, and then some of the more advanced customization that can be done with it and how to do it. I work at a digital agency that specializes in Symfony, and we use Sonata Admin on almost all of our Symfony projects - especially with decoupled applications. We have found it to be a powerful and efficient tool for ourselves, and I'm looking forward to being able to share what I have learned so that it can become one of your favorite tools as well. The one complaint I always hear about using Sonata Admin is the lack of documentation - so my hope with this talk is to bridge that gap and encourage people to pick it up, and perhaps help improve the docs along the way! |
15:50 |
Kafka will get the message across, guaranteed.
Talk by David Zuelke in Track A Apache Kafka is a message broker that offers not only massive scalability and fault tolerance, but also unique guarantees around message ordering and delivery. Relaying billing information, detecting security-related events, storing information at high-throughput - Kafka greatly simplifies it all and gives developers a chance to rethink the data flows between components, moving information interchange into the center of their architectures. |