Dec 14, 2013

Developers are able to modify the behavior and possibilities of Twig (the PHP templating engine by Fabien Potencier) in many ways, ranging from very easy to very tough. It all starts with simply registering your extension, but from then on you can choose to create your own filters, functions and tests. I will quickly review your options, and show some best practices. After discussing these basic modifications, we'll take a look at creating token parsers and thinking up custom node types, which will enable you to define your own tags (the things between {% %}). I will demonstrate the inner workings of Twig: from the loader, to the lexer, to the parser, to your own token parser, to creating nodes, filtering nodes using a node visitor and finally to the compiler, which transforms all nodes to plain old PHP.

Based on concrete examples, you will learn how to build a REST API using Symfony2 and many third-party libraries in an efficient manner. We will dive into each layer including routing, controllers, serialization, versioning, testing, the security layer and even the documentation (this list is not exhaustive). Overall, this talk describes the state of REST in the Symfony2 world.

In Symfony 2 it is natural to use annotations: routers, templates, security or object converters but - like in each part of this framework – users can define their own annotations. And it may become a really powerful tool if only a programmer is able to comprehend the idea of cutting code with help of annotations. Excluding most recurrent parts of code out of the methods keeps the most important business logic better separated.

The presentation is a summary of framework’s possibilities to maintain code clear and more readable by using annotations. At the beginning the listeners will be briefed on pre-built and predefined annotations in Symfony 2, then introduced to the process of creating own annotations and finally some examples of annotations usage will be presented.

Funny Garbage is based in NYC and has built some of the most well sites and apps in the industry. Among them include sites that are many that are powered by Symfony framework; Among them are USmagazine.com, StarTrek.com, SVA.edu, among other large and small projects.

This will be a discussion on tips and guides on the art of pitching Symfony as the right technology to build your clients' platform.

The Symfony Content Management Framework provides a couple of bundles to quickly add content management to your Symfony2 projects. It provides common features like editable menus, route and content. The CMF 1.0 has been released in september, ready to be used productive. I will show you how to start using the CMF in a project and also show advanced features like the transparent multilanguage handling.

You’ve seen Kris’ open source libraries, but how does he tackle coding out an application? Walk through green fields with a Symfony expert as he takes his latest “next big thing” idea from the first line of code to a functional prototype. Learn design patterns and principles to guide your way in organizing your own code and take home some practical examples to kickstart your next project.

Bower, Grunt, and RequireJS are just a few tools that have been re-shaping the frontend development world, replacing cluttered script tags and server-side build solutions with a sophisticated, but sometimes complex approach to dependency management and module loading. In this talk, we'll put on our trendy frontend developer hat and find out how these tools work and how they differ from what we might be used to. Most important, we'll see how using tools like this might look in Symfony2 and how our application can be a friendly place for a frontend guy/gal.

Community Building with Mentoring: What makes people crazy happy to work on an open source project?

One of the more daunting things we encounter in open source development is getting enough people to regularly contribute. To be sustainable, we need to encourage new contributors to participate. To that end, we seek to engage new contributors and experienced developers alike to participate in mentoring. Mentoring provides participants with direction and encouragement to help them find their way.

This session is for anyone who would like to learn more about the Drupal mentoring program, mentoring in open source in general, how to mentor new contributors, or how to organize their own sprints. We will cover tools available to mentors, documentation, and practical techniques for mentoring newcomers. We will include strategies for how to:

The Symfony2 Form component is a critical part for many Symfony2
applications. As such, we have been constantly improving the
component to handle the many different use cases of our users and
to lower the barrier to entry for newcomers. As seasoned Symfony2
developer, all these changes can be sometimes hard to track. What
about backwards compatibility? Will your business-critical
applications break?

And the questions don't stop there. How can you get up to scratch
with the latest best practices? What can you expect from future
versions? And how can you get involved to help things move faster?
I will try to answer these and many other questions in my talk.

This session will introduce event-driven programming using the React PHP library. Combined with non-blocking IO streams, event-driven programing is ideal for tasks such as client/server applications and asynchronous libraries. Akin to Node.js or Python's Twisted, React makes this possible in PHP by providing all the necessary pieces in a well-packaged framework. This session will introduce the concept of event loops and async programming in PHP, and explore ways it can serve in your technology stack.

What is an Object Proxy? This talk explains how virtual proxies, ghost objects and generally "fake" objects can actually help improving the performance and memory impact of your applications while reducing complexity!
I will show some practical examples of usage of proxies, their advantages and disadvantages, and even suggest you how to make your PHP more awesome with bleeding-edge technologies such as ProxyManager integrated with Symfony\DependencyInjection or Zend\ServiceManager.

The Security component is hard to tackle for most Symfony developers because it introduces lots of concepts to handle all possible use cases.
Some of these use cases or concepts are not essential. The idea behind this presentation will be to focus only on authentication core concepts:
Firewall, AuthenticationListener, EntryPoint, AuthenticationProvider.

Symfony is a full-stack framework built on top of reusable components. Since those components are decoupled, they’re also successfully used with many open source projects, custom-built applications, other frameworks or even legacy applications needing an injection of up-to-date technology.

The talk is an introduction to several Symfony components. It shows how easy it is to use them alone, integrated into a custom project and how components are used with existing open source applications. The talk will be interactive, as the audience will get to choose which components they want to hear about.

If you've used Silex before, you probably know it quickly becomes the little
engine that could. You start off with one file and a handful of routes, before
you know it, your application is a success and you've got dozens of routes, just
as many services, as well as a fair few middlewares, event listeners and error
handlers.

Silex is more of a library than a framework, it simply ties together a http
abstraction and a routing system, on top of a tiny little dependency injection
container. It doesn't prescribe any particular directory structure or make any
kind of decisions for you. When your Silex app grows, maybe it's about time you
made a few decisions.

In this talk we'll run through a really quick introduction to Silex, before
discussing some organised approaches to managing the growth of your Silex
application. There is no "one true method" for organising a Silex application,
hopefully after this talk you'll have enough options to carve out your own
method.

Web applications are getting more and more complex and it is hard to keep an overview of your entire system. With the right tools we can get the relevant information out. This helps spot new problems when they occur, review application performance over time, visualize user behavior, and more.

In this session we will look at packagist.org as a case study for monitoring, and see how we can improve reporting in various places to achieve better reliability of the service.

Symfony2 applications are not immune to tight coupling, which effectivly
prevents maintainable and testable code. In this session we will take a look at
using different event patterns for decoupling Symfony applications. The domain
event pattern is introduced as a robust alternative to using the Symfony or
Doctrine Event-Dispatchers directly in your controllers and services.

In some cases you feel the need to have some specific command-line commands for deployment, testing some code or do any other specific task and you usually use shell script to do it. Why not use Symfony2 Console component? You can easily build your own commands and interact with other bundles/components.

The Symfony2 Console component is a tool that gives you to build in a simple and easy way console applications. This talk will focus on how you can simple build an Console applications and how you can interact with other bundles/components.