PHP ClassesPHP 7 Scalar Type Hinting Finally Approved (23.3.2015, 04:35 UTC)
By Joseluis Laso (aka Patrick)
After a long debate, a proposal to implement type hinting for scalar function parameters and return values was just approved with the highest vote count so far.

Read this article to understand what scalar type hinting is and how you can benefit from it when you will run your code with PHP 7.
Nomad PHPAll About the New NEW Facebook PHP SDK v4.1 (21.3.2015, 14:57 UTC)

Speaker: Sammy Powers @SammyK When developing on Facebook, things change all the time. And things are about to change once again with the release of the Facebook PHP SDK v4.1. It’s got tons of new powerful features that have never existed in a Facebook PHP SDK before. This lightning talk is focused on giving a …

The post All About the New NEW Facebook PHP SDK v4.1 appeared first on Nomad PHP.

Nomad PHPConvert a Laravel Application from 4 to 5 (21.3.2015, 14:54 UTC)

Speaker: Matt Stauffer @stauffermatt Changing major versions of a framework can be a daunting task, and the Laravel 4 to Laravel 5 upgrade path has had a lot of people talking lately. We’ll take an open-source Laravel 4 project and walk through the steps to convert a Laravel application from 4 to 5.

The post Convert a Laravel Application from 4 to 5 appeared first on Nomad PHP.

SitePoint PHPFirst Look at – a Development and Deployment SaaS (20.3.2015, 16:00 UTC)

Not so long ago, many of us were satisfied handling deployment of our projects by uploading files via FTP to a web server. I was doing it myself until relatively recently and still do on occasion (don’t tell anyone!). At some point in the past few years, demand for the services and features offered by web applications rose, team sizes grew and rapid iteration became the norm. The old methods for deploying became unstable, unreliable and (generally) untrusted.

So was born a new wave of tools, services and workflows designed to simplify the process of deploying complex web applications, along with a plethora of accompanying commercial services. Generally, they offer an integrated toolset for version control, hosting, performance and security at a competitive price. is a newer player on the market, built by the team at Commerce Guys, who are better known for their Drupal eCommerce solutions. Initially, the service only supported Drupal based hosting and deployment, but it has rapidly added support for Symfony, Wordpress, Zend and ‘pure’ PHP, with node.js, Python and Ruby coming soon.

It follows the microservice architecture concept and offers an increasing amount of server, performance and profiling options to add and remove from your application stack with ease.

I tend to find these services make far more sense with a simple example. I will use a Drupal platform as it’s what I’m most familiar with. has a couple of requirements that vary for each platform. In Drupal’s case they are:

  • An id_rsa public/private key pair
  • Git
  • Composer
  • The CLI
  • Drush

I won’t cover installing these here; more details can be found in the documentation section.

I had a couple of test platforms created for me by the team, and for the sake of this example, we can treat these as my workplace adding me to some new projects I need to work on. I can see these listed by issuing the platform project:list command inside my preferred working directory.

Continue reading %First Look at – a Development and Deployment SaaS%

Paul M. JonesMLAPHP and N+1 Books: Half-Price Sale Starts Early! (20.3.2015, 14:02 UTC)

I said a couple of days ago that the “Modernizing” and “N+1″ half-price bundle would go on sale Monday, but I finished sooner than I expected, so I’m starting the sale today. Go get the bundle here:

I also said that the price would be $23.99 ($39.99), but I did my math wrong. It’s actually $22.99 (suggested $28.99).

I love it when a project is early and under-budget!

Bernhard SchussekManaging Web Resources with Puli (20.3.2015, 09:05 UTC)

Yesterday marked the release of the last beta version of Puli 1.0. Puli is now feature-complete and ready for you to try. The documentation has been updated and contains all the information that you need to get started. My current plan is to publish a Release Candidate by the end of the month and a first stable release at the end of April.

The most important addition since the last beta release is Puli’s new Web Resource Plugin. Today, I’d like to show you how this plugin helps to manage the web assets of your project and your installed Composer packages independent of any specific PHP framework.

What is Puli?

You never heard of Puli before? In a nutshell, Puli is a resource manager built on top of Composer. Just like Composer generates an autoloader for the classes in your Composer packages, Puli generates a resource repository that contains all files that are not PHP classes (images, CSS, XML, YAML, HTML, you name it). You can access these resources by simple paths prefixed with the name of the package:

echo $twig->render('/acme/blog/views/footer.html.twig');

The only exceptions are end-user applications, which have the prefix /app by convention:

echo $twig->render('/app/views/index.html.twig');

Read Puli at a Glance to get a better high-level view of Puli’s features.

Web Resources

Some resources – such as templates or configuration files – are needed by the web server only. Others – like CSS files and images – need to be placed in a public directory, where browsers can download them. I’ll call these files web resources or assets here.

Puli’s Web Resource Plugin takes care of two things:

  • installing web resources in their public location;
  • generating the URLs for these resources.

The public location for installing resources is called an install target in Puli’s language. Puli supports virtually any kind of install target, such as:

  • the document root of your own web server
  • the document root of another web server
  • a Content Delivery Network (CDN)

Install targets store three pieces of information:

  • their location (a directory path, a URL, …)
  • the used installer (symlink, copy, ftp, rsync, …)
  • their URL format

The URL format is used to generate URLs for the resources installed in the target. The default format is /%s, but you could set it to more elaborate values such as

Creating an Install Target

Let me walk you through a simple example of using the plugin for a typical project. We will work with the following setup:

  • the application’s assets are stored in the Puli path /app/public
  • the assets of the “acme/blog” package are stored in /acme/blog/public
  • all assets should be installed in the directory public_html

Before we can start, we need to install the plugin with Composer:

$ composer require puli/web-resource-plugin:~1.0
Make sure “minimum-stability” is set to “beta” in your composer.json file:

Truncated by Planet PHP, read more at the original (another 9014 bytes)

PHP ClassesImproving the use of a MongoDB database with the help of Symfony Listeners (20.3.2015, 07:10 UTC)
By Joseluis Laso (aka Patrick)
Sometimes applications need to filter large amounts of information to show to the user a small subset of relevant data.

However, when the amount data to filter is too large, it may not be feasible to filter the information retrieving the whole data into memory.

Read this article to learn about an alternative approach using a MongoDB document and Symfony listeners to limit the amount of data that needs to be traversed in memory.
Nomad PHPGetting Started with Aura (20.3.2015, 05:00 UTC)

June 2015 - EU
Presented By

Chris Tankersley
June 18, 2015
20:00 CEST

The post Getting Started with Aura appeared first on Nomad PHP.

Nomad PHPBuilding PHP Daemons and Long Running Processes (20.3.2015, 05:00 UTC)

June 2015 - US
Presented By

Tim Lytle
June 18, 2015
20:00 CDT

The post Building PHP Daemons and
Long Running Processes
appeared first on Nomad PHP.

Symfony CMFCMF News March 2015 (20.3.2015, 04:00 UTC)

Main efforts last months focus on TreeBrowserBundle 2.0 and the related Sonata refactoring, and the ResourceBundle.

Jackalope should see release 1.2 very soon, currently we are aware of only one issue that needs to be fixed first.

If you use Twitter, you might want to follow - we will tweet important news about the Symfony CMF on that account.


May Hackday

Come to Dornbirn, Austria for a joint Symfony CMF / Sulu hackday on 1/2 of May! More details will be announced soon. Follow on twitter or subscribe to the!forum/symfony-cmf-users google group to not miss the announcement.

Conference Presence

Manuel Baldassarri does a CMF tutorial in Italian language at PHPDay Italy in Italy, on 14th of May.

David Buchmann gives a CMF tutorial at the Dutch PHP Conference in Amsterdam, end of June.

David will also be present at Symfony Live Paris on the 9. of April. There is no talk about the CMF scheduled but of course David is always happy to discuss the CMF if you approach him.

Development updates

Decoupling Sonata Admin

We are discussing about moving the Sonata PHPCR-ODM admin classes into its own bundle.

This will decouple the the CMF Bundles from the Sonata Admin and clear the way for integrating other admin systems such as ng-admin, EasyAdmin etc.

Routing Auto

The RoutingAuto component now supports DI container parameters to be used as tokens and a PR will soon be merged allowing users to register their own adapters.

Also the URI generator now does some basic validation on generated routes.


PHPCR-ODM now supports a new "depth" mapping which allows you to map the depth of the underlying PHPCR node to a property in the document.

It is also now possible to specify a custom locale chooser and configure the namespace alias used for translations.

Support was also added to the bundle for configuring Memcache.


Another Beta version of PHPCR-Shell will shortly be released, most notably it now supports updating fields with expressions in queries, enabling you to update fields based on other fields within the node for example.

LinksRSS 0.92   RDF 1.
Atom Feed   100% Popoon
PHP5 powered   PEAR
ButtonsPlanet PHP   Planet PHP
Planet PHP