Using non-breakable spaces in test method names is a great example of how something can start as a joke and quickly turn into something very practical and useful.
if we decide to not follow PSR-2 naming for test methods because of readability, we might as well use non-breakable spaces since it’s even more readable…
These are some really good news – Phinx joins CakePHP family! If you are from a different technology stack and not familiar with these, Phinx is an excellent database migrations tool, which has been used by CakePHP framework for a while now. The two worked great together. Now that they are under the same roof, I’m expecting even more goodies!
We are very excited to announce that Phinx has joined the CakePHP team. The Github project has already been moved to the CakePHP organisation. The project itself will stay MIT-licensed but be gradually transformed into a Cake Software Foundation project. Other great news is that the current way to install and update Phinx remains unchanged.
As you are aware, CakePHP has been using Phinx since 3.0.0 for database migrations. The CakePHP Core team welcomes the opportunity to look after and maintain the project and will now start making changes to bring the code in line with the CakePHP (our) coding standards. As well as cleaning up issues and PR’s soon. We will be following up with our plans for the code and setting roadmaps in the coming weeks.
We welcome Phinx to the CakePHP family and hope to see Rob Morgan, Richard Quadling, Woody Gilk around!
Omnipay is yet another multi-gateway payment processing library for PHP 5+. Have a look at documentation and examples here:
Omnipay is a payment processing library for PHP. It has been designed based on ideas from Active Merchant, plus experience implementing dozens of gateways for CI Merchant. It has a clear and consistent API, is fully unit tested, and even comes with an example application to get you started.
Coming from The League of Extraordinary Packages, it seems to be a more popular solution than Payum and the others. It also looks like Omnipay supports way more gateways than any other payment processing library that I’ve seen. Here’s the list of the officially supported gateways. Here’s the list of the third-party contributed gateways. And, of course, you can build your own.
formapro/pvm is a PHP library for building workflows and business processes. This is a nice addition to alternatives that I’ve looked at in “Getting started with workflows in PHP“. The library is brought to you by Forma Pro, the same guys who are behind the php-enqueue enterprise queuing solution in PHP.
PHP Internals Book provides some insight into how PHP works internally. It currently covers PHP 5, with PHP 7 update coming soon. If you are eager to help, the book is available under Creative Commons on GitHub.
“Async PHP Requests & Reactive Responses with PHP-FPM” is talk by Holger Woltersdorf, in which he shares the approaches he tried for implementing asynchronous requests in PHP, and how he arrived at hollodotme/fast-cgi-client, which is a PHP fast CGI client for sending requests (a)synchronously to PHP-FPM.
PHP Smart Analyzer (or PHPSA for short) is yet another item in a growing list of tools for PHP code static analysis. It’s in an early alpha state, but looking at the list of goals, it’s quite promising.
If that’s up your valley, have a look also at PHPQA and PHPStan, which I wrote about earlier.
Jon Cairns wrote “Using Vim as a PHP IDE” blog post a good five years ago, but a lot of it still relevant and useful. It covers all the usual – syntax highlighting, syntax checking/linting, tags and auto-completion, coding style and mess detecting, unit testing and debugging. As many other similar guides, he links to a variety of plugins and provides configuration tips.
“Moving from array to class” is yet another thought-provoking take on the difference between arrays and classes in the modern versions of PHP. The benefits of moving from arrays to classes seem to be not only in the code readability and maintainability, but quite clearly in performance and resource utilization (CPU and memory in particular).