Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

SitePoint PHP Blog:
Single-File Symfony Apps? Yes, with MicroKernelTrait!
Sep 28, 2016 @ 12:19:44

The SitePoint PHP blog has an interesting tutorial posted from author Deji Akala showing you how to create a "single file Symfony application" using the MicroKernelTrait, a recently added piece of functionality that, while added for other uses, can be easily adapted to make a "Single File Application".

A Single Page Application (SPA) offers a desktop experience to users of a web application by loading a single HTML page, and dynamically updating it as required without reloading. However, a Symfony application may have hundreds of classes, and in a basic application we end up with lots of files we don’t really need.

The latest versions of Symfony (2.8 and 3.0) introduce us to the concept of a Single File Application (SFA) – a super-slim application or micro-framework implemented in one file.

The tutorial is then broken down into three steps towards creating this application:

  • Step 1: Install Barebones Symfony
  • Step 2: The Front Controller
  • Step 3: The Kernel Class

The last step in that process is where most of the code is created and the work is done. It helps you build out the "SfaKernel" class (using MicroKernelTrait), add a few basic routes and the handlers to match them. There's also a bit about container configuration and adding in other bundles you might need. The tutorial finishes out with a look at potential use cases for a single file application like this such as microservices.

tagged: tutorial symfony microkerneltrait singlefile application

Link: https://www.sitepoint.com/single-file-symfony-apps-yes-with-microkerneltrait/

Fabien Potencier:
Packing a Symfony full-stack Framework Application in one File - Bootstrapping
Jun 18, 2013 @ 09:06:46

Fabien Potencier has posted the second part of his "packing a Symfony app in one file" series with this look at the bootstrapping of the application. You can find the start of the series (including his intentions) in part one.

The most common way to create a Symfony project is to start with the Symfony Standard Edition: it defines a sensible directory structure for your project and it make things a lot easier when someone want to take over an existing project as he knows where the templates, the controllers, or the configuration are stored.

This part of the series looks at some of the configurations and settings you'll need to get the application up and working in a minimal way. This includes moving everything into one YAML configuration file including routing information. He shows how some bundles, bootstrap code and things to remove from the composer config.

tagged: symfony2 fullstack singlefile application bootstrap process configuration

Link: http://fabien.potencier.org/article/70/packing-a-symfony-full-stack-framework-application-in-one-file-bootstrapping

Fabien Potencier:
Packing a Symfony full-stack Framework Application in one File - Introduction
Jun 17, 2013 @ 10:49:06

Fabien Potencier has a new post to his site showing how you can package a Symfony application into one file, the first part of a series. It's not "packing" like you'd think with a phar, but more of an all-in-one file setup.

Sometimes, I'm wondering if I'm not just completely crazy. [...] his is yet another step toward my Quest of the PHP Holy Grail. But besides being a though challenge, there are many other reasons that makes it interesting for everyone. First, that's a good way to learn more about the Symfony internals and especially about the Kernel class. [...] Then, I want to showcase once more the flexibility of the Symfony core framework and the decoupling between all aspects of the framework.

He does talk about one more practical use - making bug reporting easier by having just one file that can reproduce the behavior you're seeing and is easy to drop in, self-contained. He issues a challenge to himself for the course of the series - is it possible to make a full-stack application in one file and in under 200 lines of code.

tagged: symfony2 framework singlefile fullstack series allinone

Link: http://fabien.potencier.org/article/69/packing-a-symfony-full-stack-framework-application-in-one-file-introduction