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

Jordi Boggiano:
Composer goes Gold
Apr 05, 2016 @ 13:08:39

Jordi Boggiano has posted some excellent news for all of the Composer users out there - the widely popular dependency management tool has officially "gone gold" and has tagged the stable v1.0.0 version of the tool.

Five years ago today, Composer was born. In some ways it feels like yesterday, at least it doesn't feel like five years went by. In other ways it seems like a lifetime ago, and I can barely remember what it was like to write PHP code without having a whole ecosystem at my fingertips.

Jordi talks about one big change that happened recently around the "self-update" feature of the tool. He hopes that more people will use the preview or snapshot channels in their deploys/development so he can get more information about these other options before they get to stable. Finally, to mark the occasion Jordi has put a "gold" copy (on floppy disk none the less) up for sale on eBay to commemorate the release.

tagged: composer v1 stable release gold commemorate gold disk ebay

Link: https://seld.be/notes/composer-goes-gold

Matthew Weier O'Phinney:
Expressive 1.0 in the Wild!
Jan 29, 2016 @ 09:33:08

In a new post to his site Matthew Weier O'Phinney has announced the release of Expressive v1.0 from Zend. The Expressive framework is PSR-7 based with a heavy emphasis on middleware and the reuse of other components to make a basic framework structure.

A few hours ago, we pushed Expressive 1.0.

This is a huge milestone for the ZF3 initiative; I've even called it the cornerstone. It signals a huge shift in direction for the project, returning to its roots as a component library. Expressive itself, however, also signals the future of PHP applications we envision: composed of layered, single-purpose PSR-7 middleware.

He also links to this post on the Zend Framework blog with more information about the release including what's new in 1.0.0 (hint: not much) and what you can look forward to in the future from the framework. He mentions some of the other PSR-7 frameworks out in the PHP ecosystem right now and some of the reasoning behind the project being created in the first place. He also talks some about how it was started and some of the feedback/contributions they've received since then.

tagged: expressive zend release stable framework psr7 middleware component

Link: https://mwop.net/blog/2016-01-28-expressive-stable.html

Lorna Mitchell:
Relying on A Dev-Master Dependency in Composer
Dec 23, 2015 @ 10:52:51

In this post to her site Lorna Mitchell makes an interesting point about relying on libraries/packages that recommend using dev-master as the target of choice when installing via Composer. It started from a Tweet and lead to more discussion. She share some of that and more about her own thinking in this post.

If your project installation instructions recommend requiring dev-master in composer, I may need to reconsider my choice of package. [...] I got a few responses asking me to expand so I thought I would take the opportunity to write more than 140 characters on this topic.

She talks about the types of dependencies she prefers to add to her systems and how, usually, the code that lives in dev-master is not actually what's desired. It could be in any state after all - broken or correct. She points out three places where she'd see this kind of dependency as "okay" but points out that they are rarely seen in a mature project. She ends with a recommendation to users to look for dev-master entries in their own composer.json files and replace them with a release to prevent issues in the future.

tagged: devmaster composer dependency reliance version stable

Link: http://www.lornajane.net/posts/2015/relying-on-a-dev-master-dependency-in-composer

Brian Moon:
Using socket_connect with a timeout
Mar 12, 2015 @ 09:38:00

In a new post to his site Brian Moon has shared a problem he had with sockets and timeouts and having them perform the same way every time. He walks through the symptoms he was seeing and provides his own solution in the end.

So, it seems that when you try and connect to an IP that is routable on the network, but not answering, the TCP stack has some built in timeouts that are not obvious. This differs from trying to connect to an IP address that is up, but not listening on a given port. [...] After a lot of messing around, a coworker pointed out that in production, the failures were happening for an IP that was routable on the network, but that had no host listening on the IP.

After some testing, Brian figured out that his problem was using localhost for testing and not an actual non-host server. He made the switch and figured out how to set the timeouts low and work with error state checking to make things more stable. He explains a bit more about how the code in his solution works. You can find his solution in this gist on GitHub.

tagged: socket connect timeout issue stable consistent failure localhost

Link: http://brian.moonspot.net/socket-connect-timeout

Fabien Potencier:
PHP CS Fixer finally reaches version 1.0
Nov 13, 2014 @ 09:34:34

Fabien Potencier has a new post to his site talking about a milestone for the PHP-CS Fixer tool (used to fix code to be compliant to the PSR-1 & PSR-2 standards) - a full, stable 1.0 release.

A few years ago, I wrote a small script to automatically fix some common coding standard mistakes people made in Symfony pull requests. It was after I got bored about all the comments people made on pull requests to ask contributors to fix their coding standards. [...] After a while, I decided to Open-Source the tool, like I do with almost all the code I write. [...] To my surprise, people started to use it on their own code, found bugs, found edge cases, added more fixers, and soon enough, we all realise that using regular expressions for such things is doomed to fail.

In recent months the tool has undergone a rewrite to work with the tokens instead of regular expressions (lead by Dariusz Ruminski) and the 1.0 release of this updated version has been made:

After 13,000 additions and 5,000 deletions, I'm very proud to announce version 1.0 of PHP-CS-Fixer; it is smarter, it is more robust, and it has more fixers. Any downsides? Yes, speed; the tool is much slower, but it is worth it and enabling the new cache layer helps a lot.
tagged: phpcs fixer tool release stable v1 fabienpotencier dariuszruminski psr2 psr1

Link: http://fabien.potencier.org/article/76/php-cs-fixer-finally-reaches-version-1-0

Community News:
phpDocumentor2 Celebrates their (Stable) Version 2.0 Release
Aug 09, 2013 @ 12:04:35

As is mentioned in this new post to the project's releases, Mike van Riel and the contributors to the phpDocumentor2 project have released version 2.0 - the first stable release!

We have spent the past two months fixing bugs, adding tests and writing a brand new template. With this release it is now easier than ever to generate your documentation. And as a special party gift we bring you a brand new template, called Clean. Can't wait to see what it looks like? Then come over and see the demo.

He talks about some of the things yet to come for phpDocumentor including more features based on the PHPDoc standard, improving performance and making the existing systems (and templates) more robust and usable. You can find the full roadmap here. phpDocumentor is one of the most widely used PHP-based tools for generating automated documentation from docblocks already in your code.

tagged: phpdocumentor documentation automated stable release

Link: https://github.com/phpDocumentor/phpDocumentor2/releases/tag/v2.0.0

Symfony Blog:
Upgrading your Symfony Projects the easy Way
Jun 12, 2013 @ 10:57:49

On the Symfony blog today there's a new post from Fabien Potencier talking about the upgrade path to keep your Symfony projects up to date. He points out that in the pre-Composer days it was more difficult, but thanks to this handy tool, it's a much easier task.

In the old Symfony 2.0.x days, at a time when Composer did not exist, upgrading a project from one minor version of Symfony to the next one was not that easy. [...] Fast forward to the Composer world. Composer is used by Symfony since version 2.1, but as we were the very first adopter, and because Composer and the Symfony ecosystem were not stable yet, it was still awkward. [...] Fast forward to Symfony 2.3. As of Symfony 2.3, the minimum stability level has been raised to stable.

This stability means that all of the libraries and tools that Symfony 2.3 depends on are in their "stable" state as well. Included in the post are the commands to update your Symfony install and what it looks like when the update from 2.3.0 to 2.3.1 happens. He finishes off the post with a few recommendations about how to use Composer to keep things stable (use "stable", define version constraints and run the update without fear of breakage).

tagged: symfony upgrade composer stable component

Link: http://symfony.com/blog/upgrading-your-symfony-projects-the-easy-way

Community News:
Laravel 4 Stable Released
May 31, 2013 @ 10:51:46

The long-awaited version 4 of the Laravel Framework has finally been released (and the site has gotten a facelift as well):

Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching.

Laravel aims to make the development process a pleasing one for the developer without sacrificing application functionality. Happy developers make the best code.

You can find lots of information about the framework and its functionality on the main project site including a forums area with lots of discussion around not only v4 but still v3 for those using it. You can also find some good discussion about the release itself in this thread over on Reddit.

tagged: laravel4 framework release stable

Link: http://laravel.com/four

PHP 5.4.14 and PHP 5.3.24 released!
Apr 11, 2013 @ 09:07:21

As is mentioned on the main PHP.net site today PHP 5.4.14 and 5.3.24 have been released:

The PHP development team announces the immediate availability of PHP 5.4.14 and PHP 5.3.24. These releases fix about 10 bugs aswell as upgrading the bundled PCRE library. All users of PHP are encouraged to upgrade to PHP 5.4.14.

Users are encouraged to update to this latest release. You can find the latest version either on the downloads page (source) or the Windows site (binaries). If you're curious what all changed in this release, check out the Changelog.

tagged: language release stable bugfix pcre library update

Link: http://php.net/archive/2013.php#id2013-04-11-1

Paul Jones:
Aura: First 1.0.0 Stable Library Releases!
Nov 30, 2012 @ 10:34:11

As Paul Jones mentions in this new post to his site, the Aura Framework project has just released it's 1.0 stable version of all of its packages. The Aura project provides independent library packages for PHP 5.4+. These packages can be used alone, in concert with each other, or combined into a full-stack framework of their own.

The Aura Project for PHP 5.4 is happy to announce its first release of 1.0.0 stable library packages. [...] In addition, we have initial beta releases of four new libarary packages. [...] While the above packages are completely independent of each other, Aura also has a Framework package that binds them all together.

Packages included in the v1.0 of the framework include Aura.Cli, Aura.Http and Aura.Signal. Beta packages are things like Aura.Filter and Aura.Intl.

You can find out more about the project from its site over on github.

tagged: aura framework project release stable packages