Symfony Con - Cluj 2017 talks
- All talks are in english.
- Comment and rate talks on joind.in
Slides
Video
By Fabien Potencier
@fabpot
@fabpot
- Description
- Quick response times are crucial. Time consuming tasks triggered in web requests should be executed asynchronously, if at all possible. In this talk I will give a short overview of what message queues are and then show a case study how we split up an application into smaller services and how we use message queues to coordinate the services.
Slides
Video
- Description
- The talk will present a real life case study of how we upgraded an enterprise application from Symfony 2.7 running PHP 5.6 to Symfony 3.4 and PHP 7.1. We will go through what was the conceived plan and what were the biggest challenges. It will be separated in 3 chapters: upgrading PHP, upgrading Symfony and achieved benefits. In the first chapter we will take a look in upgrading the PHP version and related packages, how we fixed common backward incompatible changes and what parts of our code we updated to take advantage of the new features. Also, a glimpse into what helpful tools can be used ( php7cc, phan, PhpStorm PHP 7 Compatibility Inspection). In the second chapter we discuss about upgrading from Symfony 2 and related bundles to Symfony 3, updating to the new directory structure and making code deprecation free. As in the first chapter, we will also talk about helpful tools for this step. We will wrap it up with a look on the end result and what are the achieved improvements.
Slides
Video
By Caliman Alin Adrian
@adrcal
- Description
- Symfony keeps evolving adding new features, fixing bugs and reorganizing its structure to support more and more projects. But Symfony also evolves in term of performances. This talks will detail how the PHP 7 engine works, how memory and CPU are used in the heart of PHP, how classes, objects, variables and arrays work. Then we'll see how Symfony got patched to take care of the latest optimizations brought to the PHP engine. We'll dive into OPCache, into the memory manager and the internals of PHP 7 to notice why Symfony's code has been patched in such ways that it now performs better.
Slides
Video
By Julien Pauli
@jpauli
@julienPauli
- Description
- In this report, I would like to talk about the integration of Symfony Workflow component, its practical use, problems and advantages of its use by the example of a corporate trouble ticket system for telecom operators. The report highlights such topics as: 1. Security - using Expression Language to control transitions. 2. Data validation - switching the entities by places is not interesting without entering additional data it validation and handling. 3. Coupling Workflow component with Tactician (by PHP League) to separate transition handling and postprocessing in small reusable classes. 4. Developing abstract factory which is elegant way to create symfony forms and command for Tactian depending on the requested transition. Examples of real cases.
Slides
Video
- Description
- How can one use Symfony 4.0 and PHP 7.2 while working with a legacy application? Starting new projects on latest technology is a no-brainer but how often are you in this position? Most of the time it feels like you're stuck with what you have. In this talk I'll share my experience migrating a legacy monolith from 2007 (powering a high traffic social network) and an API-centric web application (running an e-commerce marketplace) to Symfony. Although the talk will be largely technical I'll also share some insights on ROI, non-technical benefits and pitching the idea to your boss.
Slides
Video
By Sebastian Grodzicki
@sgrodzicki
@sgrodzicki
- Description
- Event Sourcing is a more frequently heard buzzword, but is it solving all our development problems, or is it introducing new ones? Let's see it in practice! Event Sourcing can look like an attractive solution for any of your applications, but does it actually pay off? What if it is all just buzzwords and no gain? We’ll look at how we implemented event sourcing in our own app, code-reviews.io: what made us fast; what made us super slow; what made us cry. This talk will give you a good idea of what kind of challenges you will encounter when approaching event sourcing for the first time.
Slides
Video
By Marco Pivetta
@Ocramius
@Ocramius
- Description
- Due to complex web projects we work on, there was a need for deeper integration between content management system and eCommerce solution. As eZ Platform is based on Symfony we searched for a Symfony based ecommerce solution and found Sylius as the best choice. We combined the two systems in one Symfony instance so we can integrate on much deeper level. Learn about our experience with merging and maintaining such a solution.
Slides
Video
- Description
- The Translator component is the one you learned how to use in 5 minutes and you have not thought much about it since. It just sits there in almost every project and just works. That is great, that is what a great component should do. The tricky part is how you build your development processes to work together with the translation process. You will start to notice problems when you have 4 or more languages. What other tools and services should you use? And how do you teach external translators to edit xliff files? Of course your should not force XML on non-developers. Taking the experiences learned from JMSTranslationBundle, Happyr’s translation bundles and the PHP-Translation organization; I will give you example of a few very concrete processes working with translations in a Symfony environment.
Slides
Video
By Tobias Nyholm
@Nyholm
@TobiasNyholm
- Description
- Traditional relational databases — ironically — are not that good at the complex relationships some modern applications need. Multiple joins and complex sub-queries can gradually take a toll on performance. Graph Databases, on the other hand, are all about relationships. In this talk we will look at using the popular Neo4j graph database with PHP to build efficient relational data for OmNomHub: not your average recipe site.
Slides
Video
By Michelle Sanver
@michellesanver
@michellesanver
- Description
- Event-based architectures such as Event Sourcing provide multiple benefits: scalability, complexity management, auditing, etc. However, let’s face it, getting there is quite hard. We lack skills, expertise and courage. In this talk, I’m going to show you some tips and tricks to painless evolve your current architecture towards Event Sourcing, one small step at a time. We’ll start from an Hexagonal Architecture application and we’ll end up in the Event Sourcing doors. The path that we’ll follow is: Hexagonal Architecture; Hexagonal Architecture with Domain Events; Stepping Stone Architecture (CQRS without Event Sourcing); Event Sourcing
Slides
Video
By Carlos Buenosvinos
@carlosbuenosvinos
@buenosvinos
- Description
- The days of hand-crafted artisanal servers are long over. Modern web applications need to be able to run on many different servers without code changes. Not just different hosting providers, but different environments on the same hosting provider. Whether you're using a legacy dev/stage/prod setup or a modern branch-is-environment host, modern hosting imposes some requirements on your application design but also offers a huge potential for new and powerful tools. In this session, we'll explore some key guidelines for building a cloud-friendly application, as well as look at some architectural options that a modern hosting platform like SensioCloud enables.
Slides
Video
By Larry Garfield
@Crell
@Crell
- Description
- The world we live in is one where data is one of the most valuable assets. There are many different pieces of data we can analyse on all kind of data from analytics of user behaviour of your platform, user generated content, monitoring of exception rates, or when your core business model is to provide some kind of analytics platform. This talk will talk about how you can, in your Symfony applications, perform some simple trend analysis techniques to build models, analyse data to get useful information and spot anomalies.
Slides
Video
By Michael Cullum
@michaelcullum
@michaelcullumuk
- Description
- This talk will not offer you the ever-lasting debate between REST and GraphQL but intends to show you some real stuff. Increasingly used by web giants like Facebook, GitHub, Pinterest, or Shopify, GraphQL has attracted my curiosity, up to the point to make me use it in production. This conference aims to detail the different problems that I encountered while implementing GraphQL, and give you a description of what it is possible to obtain (we speak of schema). We’ll also discuss the new queries paradigm : giving the client the ability to ask for exactly what one needs, including sorting, pagination without puting aside security. Eventually, we’ll explore the new way of writing data using mutations, while maintaining good performance with application cache.
Slides
Video
By Aurélien David
@spyl94
@spyl94
- Description
- All web applications have forms, either simple or complex. This talk will address some of the complex scenarios with forms that change depending on the data entered and have dynamically generated fields (server and client side). Using form events and taking advantage of the form rendering flexibility can create some impressive results. The examples are based on real-life scenarios I have encountered in the five years of using the Symfony Framework.
Slides
Video
- Description
- Over the last few years I mostly worked with legacy PHP applications and one thing that comes up in each project is performance. Unfortunately more often than not discussion around performance issues are purely hypothetical or around micro-optimizations or the collected data is misinterpreted. In my talk I want to lay out how to effectively anticipate, identify and mitigate performance issues in a Symfony application. I want to discuss how to approach performance optimizations including micro-optimizations, some tools available to a developer for investigating and monitoring performance issues as well as some ways to improve performance, including a quick introduction to both application and HTTP-caching.
Slides
Video
By Denis Brumann
@dbrumann
@dbrumann
- Description
- This session will dive into Composer's guts to see which choices we made worked and which ones did not. After six years and a few hundred thousand users, the Composer code has been through many iterations, problems and successes. Let's have a retrospective to see what we can learn from it.
Slides
Video
By Jordi Boggiano
@Seldaek
@seldaek
- Description
- Still desperately clinging to your PHP 5 installation? We'll take a look into the latest offerings of PHP 7 from raw performance, to exciting new language features bringing developer efficiency to a higher level. With the next release of PHP a mere two weeks away, now is the time to take the plunge and never look back.
Slides
Video
By Sara Golemon
@sgolemon
@saramg
- Description
- Regular Expressions are one of the most powerful tools for every engineer in the IT industry. Though their reputation suffers from being misused or misunderstood, they still provide vast amounts of power coming from the theory behind them. In this talk, I will provide not only the necessary knowledge to understand how they work and what powers they bring to the table but I'll also explain some of the "arcane incantations", ie. some of the very powerful but hardly known RegEx constructs.
Slides
Video
By Tomasz Kowalczyk
@thunderer
@tmmx
- Description
- 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!
Slides
Video
By Ryan Weaver
@weaverryan
@weaverryan
- Description
- Often clients already have a working product that they want to improve. In these cases starting to work on the project right away may turn into a development nightmare. Therefore assessing the technical status of the product is very important. Depending on the needs of the client this can be done from several points of view : technical standards, maintainability, performance, security, etc. This talk is going to cover how can you prepare an audit of a Symfony application, what should you look out for and how can the result of the audit impact further development on the project. I will talk also about what I found to be the best tools for the job and how can you get clients to see the benefits of it.
Slides
Video
By Palko Lenard
@lenardpalko
@lenardpalko
- Description
- We'll start by creating a fully-featured API in just a few minutes with API Platform, Symfony and Doctrine. The API will support pagination, data validation, access control, relation embedding, filters and error handling. It will expose many formats (JSON-LD, Hydra, JSONAPI, HAL, JSON, XML, YAML and CSV), will be documented with Swagger/OpenAPI and will have a nice UI done in React. Last but not least, the API will respond in a just few milliseconds thanks to its builtin invalidation based cache mechanism. Then, we will use the ReactJS tools provided by the API Platform to consume the exposed Hydra documentation. In a few more minutes, we will get a Material Design administration interface (a la Sonata / EasyAdmin - but 100% client-side) built with React. Finally, we'll discover 2 nice code generators to bootstrap a SPA (React, Redux and React Router) and iOS and Android mobile apps (React Native).
Slides
Video
By Kévin Dunglas
@dunglas
@dunglas
- Description
- 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.
Slides
Video
By Nicolas Grekas
@nicolas-grekas
@nicolasgrekas
- Description
- This case study will take you to the technical backdrop of Emmanuel Macron's victorious campaign in the French presidential elections of 2017. We will reveal how the En-Marche and SensioLabs teams worked closely together to develop a collaborative, Open-Source and citizen platform with PHP 7 and Symfony to structure the movement. In addition to the technical and political issues involved in this project, we'll present solutions such as continuous deployment with Docker under Kubernetes, continuous integration with Circle CI, SCRUM and Kanban project management, use of Rabbitmq, Symfony 3 new features, and more. We'll demonstrate the importance of choosing these solutions to meet the agility and scalability needs of the highlights of the campaign.
Slides
Video
- Description
- Is your Doctrine too slow or using too many resources on the server? In this presentation, you will learn the memory, I/O and CPU usage of different approaches. You will also see learn how to create proofs of concept and benchmarks to make a decision based on science instead of your gut feeling. I will even show you how to automate your performance testing.
By Anna Filina
@afilina
@afilina
- Description
- 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; And more interesting tips on how our team operates with a large code base with a fully remote operation with teams across multiple continents.
Slides
Video
By Pablo Godel
@pgodel
@pgodel
- Description
- A lot happened! 52 blog posts to help you keep up with all new things, a looooot of pull requests, 2 new versions out… Well I'm sure you missed something. Let's review what happened during last year: basically we'll see and/or discover nice new features that appeared since the last year.
Slides
Video
By Sarah Khalil
@saro0h
@Saro0h
Slides
Video
By Fabien Potencier
@fabpot
@fabpot
And Lukas Kahwe Smith
@lsmith77
@lsmith
Slides
Video
By Nils Adermann
@naderman
@naderman
Slides
Video
By Caliman Alin Adrian
@adrcal
Slides
Video
By Romaric Drigon
@romaricdrigon
Slides
Video
By Pascal Münst
@timesplinter
@PascalMySelf
Slides
Video
By Wachter Johannes
@wachterjohannes
@WachterJohannes
Slides
Video
By Lukas Kahwe Smith
@lsmith77
@lsmith
Slides
Video
By Dominik Zogg
@dominikzogg
@dominikzogg
Slides
Video
By Gabriel Udrescu
@gabiudrescu
@gabiudrescu
Slides
Video