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

Tomas Votruba:
Hidden Gems of PHP Packages: SymfonyFinder and SplFileInfo
Aug 14, 2018 @ 10:55:09

Tomas Votruba has continued his series covering the "hidden gem" packages he's found in his PHP development. In this latest post he focuses on two new pieces of functionality: the Symfony/Finder package and SplFileInfo.

The series on not-so-well-known packages that might save your ass more than you think continues. Today we look on files as objects.

He starts by providing some examples of where he makes use of the Finder package and how it makes working with files easier. He then shows how to get the package installed, a simple example of how to use it and some of the functionality that's included. He also details the SplFileInfo functionality that comes with the package and what information it can provide about a file.

tagged: package hiddengem tutorial symfony finder splfileinfo

Link: https://www.tomasvotruba.cz/blog/2018/08/13/hidden-gems-of-php-packages-symfony-finder-and-spl-file-info/

Examples of Dependency Injection in PHP With Symfony Components
Aug 08, 2018 @ 11:53:33

On the TutsPlus.com site today they've posted a tutorial sharing some examples of dependency injection using the Symfony DependencyInjection component.

In this article, we'll look at some examples of using the Symfony DependencyInjection component. You'll learn the basics of dependency injection, which allows cleaner and more modular code, and you'll see how to use it in your PHP application with the Symfony component.

The tutorial starts by introducing the component and what kind of functionality it includes to help register and fetch services on demand. It then walks through the installation (via Composer) and the installation of other optional related packages. It then dives into the code, showing how to put the package to use to register a new service and pull it back out to use. The article then moves on and shows a more "real world" example with services that have dependencies and configuring it in a YAML configuration file.

tagged: dependency injection tutorial symfony component introduction dependencies

Link: https://code.tutsplus.com/tutorials/examples-of-dependency-injection-in-php-with-symfony-components--cms-31293

Tomas Votruba:
Stylish and Standard Console Output with Symfony Style
Aug 07, 2018 @ 10:28:12

Tomas Votruba has continued his series covering the use of the Symfony Console component with a new tutorial. In this latest article he shows how to get "stylish and standard console output" using the output formatting included with the package.

Even if you don't use any component from Symfony or even installed one, you can use this trick in your PHP CLI App.

It's simple, provides standard and makes your output look like a design from Apple - useful and nice at the same time.

He starts by introducing the OutputInterface that the Symfony Console package includes and shows a few screenshots of the difference between normal console output and the Console component's look. He also covers the SymfonyStyle functionality that allows for even more fine-grained control over the input and output handling of your application. He finishes the post showing a few tips on integrating these styles into your command line application and setting it up to fetch SymfonyStyle as a service.

tagged: symfony console component tutorial series style output input

Link: https://www.tomasvotruba.cz/blog/2018/08/06/stylish-and-standard-console-output-with-symfony-style/

Tomas Votruba:
5 Gotchas of the Bin File in PHP CLI Applications
Aug 02, 2018 @ 12:47:03

Tomas Votruba has a new post to his site sharing five "gotchas" in CLI applications as it relates to the "bin" file.

This post from Master PHP CLI Apps with Symfony cluster will focus on bin files. It's the smallest part of PHP CLI Application, so I usually start with it.

Yet, there are still a few blind paths you can struggle with. I'll drop a few extra tricks to make your bin file clean and easy to maintain.

He starts with a brief definition of what a "bin" file is before getting into his list of "gotchas":

  • recommendations about naming and location of the file
  • setting it up to be autoloaded by Composer
  • including the right "shebang" to have it executed by the correct program
  • changing access rights
  • symlinking in Composer

The post ends with the complete code required to build a simple Symfony CLI application that will autoload libraries correctly and be executable by the system's php binary.

tagged: gotcha top5 list cli commandline application symfony tutorial

Link: https://www.tomasvotruba.cz/blog/2018/08/02/5-gotchas-of-the-bin-file-in-php-cli-applications/

Paul Jones:
Atlas ORM Integration with Symfony
Jul 31, 2018 @ 12:16:26

Paul Jones has a quick post covering the use of his Atlas.Orm package in a Symfony application, showing how to easily integrate the two.

Are you using Symfony 4? Do you want to use Atlas with it? We now have a Symfony bundle and Flex recipe that makes installation and integration a breeze. Two commands and one .env file edit, and you’re ready to go.

He includes the commands you'll need to get it installed and generate the skeleton mapper files from your database. Symfony then automatically injects the Atlas instance from the container (code example included). He ends the post linking to other resources about defining relationships, managing transactions and handling events with the Atlas.Orm package.

tagged: atlasorm integration symfony flex bundle package tutorial

Link: http://paul-m-jones.com/archives/6916

How to Create Custom CLI Commands Using the Symfony Console Component
Jul 24, 2018 @ 10:54:37

On the TutsPlus.com site there's a new tutorial posted showing you how to use the Symfony Console component to create custom CLI commands.

In this article, we're going to explore how you could create custom command-line interface (CLI) commands in your PHP applications using the Symfony Console component. After installing the necessary libraries, we'll create a few handful of examples to demonstrate the concepts of the Console component.

In fact, this component is used by several PHP frameworks to develop CLI applications, and a few popular frameworks are already using this component as a starting point.

The tutorial starts with a brief introduction to the Console component and what kind of features it offers. Following this it includes the instructions to get the component installed, configured and shows the creation of a first "hello world" command. With some of the basics in place, the tutorial then moves on to a more real-world example showing the creation of a "clear cache" command that includes a "groups" input option.

tagged: tutorial symfony command introduction component

Link: https://code.tutsplus.com/tutorials/how-to-create-custom-cli-commands-using-the-symfony-console-component--cms-31274

Symfony Blog:
Symfony website updates #3 - Events
Jul 23, 2018 @ 11:26:38

On the Symfony blog they've posted about an additional update they've made to bring more information to the community: an Events section.

Following the new features we've added in May in the Events & Meetups section, we're pleased to introduce a brand new section within the main website menu: Symfony Events. This will enable you to find a Symfony event near you more easily.

[...] The Events section itself has also been improved, again! We've added a map where you can see at a glance where are organized all the upcoming Symfony events. You can find on the map: all the upcoming official Symfony conferences pinned in red and all the upcoming Symfony community events pinned in blue.

They also added a feature that will automatically pull in Symfony events from the Meetup.com site so there's no need to list them in both places.

tagged: symfony community blog enhancement website events list map

Link: https://symfony.com/blog/symfony-website-updates-3

Set Up Routing in PHP Applications Using the Symfony Routing Component
Jul 16, 2018 @ 13:14:04

On the TutsPlus.com site today there's a new tutorial where they spotlight one of the components in the Symfony framework: the routing component. The tutorial outlines some of the basics about the component, installing it and putting it to use.

The Symfony Routing Component is a very popular routing component which is adapted by several frameworks and provides a lot of flexibility should you wish to set up routes in your PHP application.

If you've built a custom PHP application and are looking for a feature-rich routing library, the Symfony Routing Component is more than a worth a look. It also allows you to define routes for your application in the YAML format. Starting with installation and configuration, we'll go through real-world examples to demonstrate a variety of options the component has for route configuration.

The tutorial starts with the commands to get the component installed (via Composer) and other related components for YAML parsing, HTTP handling and configuration parsing. It then provides examples of:

  • setting up the instance and defining some basic routes
  • how route matching works
  • loading routes from a YAML file

The tutorial finishes with an example of an "all in one" router that pulls in the route configuration and creates a new Router instance with them ready and waiting to handle requests.

tagged: routing symfony component tutorial yaml configuration http

Link: https://code.tutsplus.com/tutorials/set-up-routing-in-php-applications-using-the-symfony-routing-component--cms-31231

Symfony Blog:
Creating and updating Symfony projects much faster
Jul 13, 2018 @ 09:58:58

On the Symfony blog there's a post covering some of the recent improvements in the framework that can help to make creating and updating Symfony projects faster via some recent changes speeding up the Composer installation.

A few years ago, we introduced the Symfony Installer as the fastest way to create new Symfony projects. While Composer took up to several minutes to create a new project, Symfony Installer did the same in less than ten seconds.

The trick was that the installer downloaded a ZIP archive with all the dependencies required by the specific Symfony version you were installing, so it was not necessary that Composer resolved the project dependencies.

However, with the release of Symfony 4 we deprecated the Symfony Installer in favor of Composer, because we wanted to use standard development tools as much as possible. Sadly this made creating new Symfony projects slower and, in some cases, it triggered "out of memory" exceptions while Composer was resolving the dependencies.

The post talks about the changes they made to the Composer installation process, mentioning the two major changes: including a composer.lock to prevent version resolution and removal of all legacy Composer tags. They also share some benchmarks for the installation both before and after the changes showing a jump of at least ten seconds post-changes.

tagged: symfony project speed install composer lock tags framework

Link: https://symfony.com/blog/creating-and-updating-symfony-projects-much-faster

Symfony Blog:
Join us at SymfonyLive USA 2018!
Jul 06, 2018 @ 11:46:22

On the Symfony blog they've made the announcement about the latest conference in their SymfonyLive series - Symfony Live USA 2018 - happening October 9th through 12th in San Francisco.

Never been at a SymfonyLive conference before? Join us at the SymfonyLive USA: it is a 4-day event, the only one dedicated to Symfony in the USA, where you can learn all the latest news about Symfony.

[...] The Call for Papers is still open for a few days, if you have any best practices, experience, tips, use case to share with the US Symfony community, think about submitting a talk proposal for the conference.

The conference also includes workshops, not just regular sessions showing how to get up and running with Symfony, extending the framework, best practices, and mastering design patterns. You can also pick up a ticket if you'd like to attend. Early Bird pricing ends July 8th (so hurry!)

tagged: symfonyliveusa18 conference symfony sanfrancisco cfp

Link: https://symfony.com/blog/join-us-at-symfonylive-usa-2018