Hi there



Just a bit of information on this issue. We have taken the tentative step of adding a sponsor on this issue and I want to explain why we have done this. We want to keep PHP Weekly as succinct as possible, but it does take us a considerable amount of time researching, collating and writing every week. We do it because we love the community which, whilst being a bit of a cliche, is absolutely true. That being said it would be good if we could at least fund the time that we spend, or cover some of it. Thats why we have added a sponsor to this edition and will evaluate that for the future. Ultimately we probably want to have a maximum of two sponsors, subtly placed, as we feel that will be able to cover our overheads. I hope that you understand our reasoning.



As ever we are always delighted to receive emails with suggestions for posts that are often ones that you, our readers, have written. Please keep spreading the word and please also let us know when we haven't reached your expectations as well as when we have.



Until next week.



Thanks,

Katie

Articles Best PHP IDE for 2014 - Survey

The choice of editors and IDEs is vast in the PHP world – from platform specific to web based ones, from open source fully-fledged IDEs to commercial text editors, there’s more choice than one can have time to try out. In an effort to single out the best and most popular, Sitepoint have put together a survey.



Why Choose PHP Over Alternatives?

It’s a popular question. Why indeed should one pick PHP over one of the alternatives? After all, PHP has often been dismissed as a hacky, unusable and badly designed language. Why would anyone choose it, when starting a project from scratch? Instead of listing the reasons why people do choose it (mostly widespread availability), let’s instead focus on why people should choose it. We can’t talk about that, however, without first mentioning why they shouldn’t.



Composer: Downloading Random Code Is Not A Security Vulnerability?

A few days ago Padraig Brady spotted a post floating past on Twitter entitled “Composer: Replace, Conflict & Forks Explained”. There has been some recent complaining about Composer downloading the wrong packages as dependencies due to its “replace” feature misbehaving, so seeing something hit the blogs was not unexpected. The issue has been encountered previously so having it reoccur caused some consternation. Padraig believes this is a security issue, and explains why here.



On Rumours of "PHP Dropping MySQL"

Oracle's MySQL team have been asked to comment on the rumours about PHP dropping MySQL support.



HHVM: The Next Six Months

The HHVM team has just wrapped up its planning for the first half of 2014. They’d like to share their plans and provide a bit of context.



6 Debugging Tips Every PHP Coder Should Know

It’s a known fact: programmers spend more time debugging than coding. In this article, Marc-Olivier Gosselin talks us through a couple of tricks to be efficient in this not so exciting, but crucial task that is debugging code.

Our sponsor

From our sponsors:

(Sponsor this newsletter) Try New Relic at no charge Deploy New Relic and get your Data Nerd t-shirt. Get code level insights into your PHP web apps in less than 2 minutes.

Tutorials and Talks PHP Packages and Namespaces

Package is a set of PHP classes grouped in some manner. Many developers use file systems to organise their applications because PHP has no native concept of a package, until PHP 5.3. When PHP 5.3 was released, namespaces became part of PHP.



Creating a Blog Using Laravel 4 Part 2: Controllers

The first part of Creating A Blog Using Laravel covered: Laravel setup, Laravel Migrations, model creation using Eloquent ORM and Database Seeding. In this part of the tutorial we will cover the controllers for the blog application.



Pushing The Limits of Metaprogramming in PHP: Aspect Oriented Design

In this article, Yitzchak Schaffer gives us his take on Aspect Oriented Programming.



Add Schema.org Markup To Any WordPress Theme

Tyler Longren has written a more generic post on this topic, as his previous article was deemed a little too editorial. This version should apply to the majority of WordPress themes.



Data Fixtures in Symfony2

Back when Taylor Ren first started to learn Symfony (1.x) with its Jobeet project, he thought the ability to load test data into the database was very useful. In this article, he revisits this feature, which has been completely re-modeled.



Symfony2 Components Overview: Config

This part of the series talks about the Config component, which helps you to load and validate configuration values, regardless of their source.



Speedy Sites: Nginx and PHP

The previous article in this series looked at using Apache with mod_pagespeed to perform on-the-fly enhancements to decrease page load times. Getting an optimised page is only half the battle however; you need to ensure that the backend is doing as little work as possible in order to be highly scalable. This article looks at how you can achieve this while improving performance – all with nginx.



DateTimeImmutable

The first time that Derick Rethan's improved DateTime support made its way into PHP was officially in PHP 5.1, although the more advanced features such as the DateTime class only made an appearance in PHP 5.2. Since its introduction the DateTime class implementation has suffered from one design mistake — arguably not something that even an RFC would have highlighted. Find out about that here.



Debugging With Xdebug and Sublime Text 3

Writing code perfectly the first time around is hard and only a few (if any) succeed at it. This article looks at how to debug using Xdebug in combination with Sublime Text. Package is a set of PHP classes grouped in some manner. Many developers use file systems to organise their applications because PHP has no native concept of a package, until PHP 5.3. When PHP 5.3 was released, namespaces became part of PHP.The first part of Creating A Blog Using Laravel covered: Laravel setup, Laravel Migrations, model creation using Eloquent ORM and Database Seeding. In this part of the tutorial we will cover the controllers for the blog application.In this article, Yitzchak Schaffer gives us his take on Aspect Oriented Programming.Tyler Longren has written a more generic post on this topic, as his previous article was deemed a little too editorial. This version should apply to the majority of WordPress themes.Back when Taylor Ren first started to learn Symfony (1.x) with its Jobeet project, he thought the ability to load test data into the database was very useful. In this article, he revisits this feature, which has been completely re-modeled.This part of the series talks about the Config component, which helps you to load and validate configuration values, regardless of their source.The previous article in this series looked at using Apache with mod_pagespeed to perform on-the-fly enhancements to decrease page load times. Getting an optimised page is only half the battle however; you need to ensure that the backend is doing as little work as possible in order to be highly scalable. This article looks at how you can achieve this while improving performance – all with nginx.The first time that Derick Rethan's improved DateTime support made its way into PHP was officially in PHP 5.1, although the more advanced features such as the DateTime class only made an appearance in PHP 5.2. Since its introduction the DateTime class implementation has suffered from one design mistake — arguably not something that even an RFC would have highlighted. Find out about that here.Writing code perfectly the first time around is hard and only a few (if any) succeed at it. This article looks at how to debug using Xdebug in combination with Sublime Text.

News and Announcements



Master Zend Framework Is Live!

After much, much, work, Master Zend Framework is live. It’s been quite an effort to get it there, with a number of unexpected issues along the way. Nonetheless, it’s ready. Looking at the traffic and mailing list signup stats, it’s been very well received.



PHP Unconference Europe - May 17-18th 2014, Majorca

The 3rd PHPucEU takes place on May 17th and 18th on the island of Majorca. With no defined speaker list, the attendees decide upon the topics in which they are interested. On the morning of each unconference day, a suitable speaker is then chosen. Tickets are on sale now.



Nomad PHP European Chapter - March 20th 2014 20:00 CET

Understanding PHP Streams by Elizabeth Smith. PHP has an incredibly powerful mechanism for treating just about anything as a stream. It’s the feature that everyone uses, but no one knows about. Learn about PHP streams from the very beginning – from the basics and built in streams, to stream filters, user streams, user filters, even using streams with sockets.



Nomad PHP US East Coast Chapter - March 20th 2014 20:00 CST (March 21st 02:00 CET)

Laravel 4: Deep Dive Queue by Taylor Otwell. Laravel 4, a popular PHP web framework, includes built-in support for background job queueing with a variety of different drivers, including Beanstalkd, Redis, AWS, and Iron.io. In this session, we’ll take an in-depth look at job queueing, and explore all of Laravel’s queue features, including basic job handling using both IoC and Closures, failed job handling and Iron.io “push queues”.

Interesting Projects, Tools and Libraries The feedly Cloud API

An API Wrapper around Feedly's REST API.



Bitbucket

Bitbucket is a code hosting site with unlimited public and private repositories. Sign up for free.



rych-otp

PHP implementation of the OATH one-time password standards.



installers

A Multi-Framework Composer Library Installer. This is for PHP package authors to require in their composer.json.



idefend-api

PHP API wrapper for iDefend API.



sinergi

Sinergi Framework is a PHP framework built for developers who want control on which package they use in their application.



phinx

Phinx makes it ridiculously easy to manage the database migrations for your PHP app.



recurr

Recurr is a PHP library for working with recurrence rules (RRULE) and converting them into DateTime objects.



phastlight

Phastlight is an asynchronous, event-driven command line tool and web server written in PHP 5.3+ inspired by Node.js.



render

Really simple view renderer for PHP templates.



imagecow

PHP library to manipulate and generate responsive images.



yogurt

Yogurt is a template language for PHP.



mellt-php

This is a composer enabled package for the php library Mellt.



soap-plus

Simple wrapper class around PHP's SoapClient class.



curl-plus

A simple OO wrapper around PHP's cURL implementation.



loggy

This is a simple logger in php to log applications.



gssimpleocr

GSSimpleOcr is a simple OCR Service written in PHP.

So, how did you like this issue?

We are still trying to grow our list. If you find PHP Weekly useful please tweet about us! Thanks



unsubscribe from this list | update subscription preferences

We are still trying to grow our list. If you find PHP Weekly useful please tweet about us! Thanks