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

Martin Hujer:
PHP 7.2 is due in November. What's new?
Sep 12, 2017 @ 10:15:58

In a new post to his site Martin Hujer looks ahead at the next major release for the PHP language - PHP 7.2 - and what new features and changes are coming with it.

PHP 7.2 is planned to be released on 30th November 2017 (see the timetable). And it comes with two new security features in the core, several smaller improvements and some language legacy clean-ups. In the article, I will describe what the improvements and changes are. I read the RFCs, discussions on internals and PRs on Github, so you don't have to.

Among the changes he lists are updates like:

  • Argon2 Password Hashing
  • Make Libsodium a Core Extension
  • Object typehint
  • Counting of non-countable objects

He also lists out some of the things that will be deprecated in 7.2 including parse_str without a second argument, create_function, mbstring.func_overload and asset with a string argument. You can check out these and other other changes coming (along with code examples) in the full post.

tagged: php72 language release upcoming feature deprecation overview

Link: https://blog.martinhujer.cz/php-7-2-is-due-in-november-whats-new/

Laravel News:
BotMan 2.0 PHP Chatbot Framework
Sep 01, 2017 @ 09:20:20

On the Laravel News site today there's a new post covering the release of BotMan v2.0, one of the more popular chatbot libraries for PHP.

BotMan is a framework agnostic PHP Chatbot framework designed to simplify the task of developing innovative bots for multiple messaging platforms, including Slack, Telegram, Microsoft Bot Framework, Nexmo, HipChat, Facebook Messenger, WeChat and many more.

BotMan 2.0 was released earlier this week with a bunch of improvements and exciting changes.

As a part of this new release, functionality was abstracted out into separate repositories making it easier to maintain those features without having to change core code. They then include an example of using the the library to create a simple chatbot that replies to a simple "hello" message. They also cover some of the more advanced features including middleware handling and natural language processing support. There's also a tool, BotMan Studio, that's included with the package to help make testing your chatbot script easier. The post wraps up with an example of using this to test the chatbot and a list of some of the other new features in v2.0.

tagged: botman chatbot framework release v2 overview example

Link: https://laravel-news.com/botman-php-chatbot

Delicious Brains Blog:
Grav CMS | Self-Hosted WordPress Alternatives Part 2
Aug 30, 2017 @ 11:52:33

On the Delicious Brains blog they've posted the second part of their series sharing some self-hosted alternatives to WordPress for your CMS needs. In this new article they focus on Grav.

When I started the Self-Hosted WordPress Alternatives series in July with a review of Craft CMS, there were several comments asking what I thought of Grav – an open source flat-file CMS that also has a really cool looking website.

I had never heard of Grav before, but was immediately drawn to it for a few reasons. It’s open source, which is one of the things that I really love about WordPress since it enables a much larger community to work on the project. And since it’s a file-only CMS, there is no database to mess around with which in theory could make development and migrations easier in the long run.

The tutorial then walks you through the installation process and some examples of it in use (including screenshots of the UI). He also covers the core architecture of the tool, theme usage, SEO integration and eCommerce solutions that play well with Grav. He finishes the post looking at the quality of the current documentation and what kind of pricing and licensing Grav comes with.

tagged: series part2 wordpress alternative grav flatfile overview

Link: https://deliciousbrains.com/grav-cms-self-hosted-wordpress-alternatives-part-2/

Fabien Potencier:
Symfony 4: Directory Structure
Apr 11, 2017 @ 11:53:59

Fabien Potencier continues his look at what's coming in the next major release of the Symfony framework (v4) in this new post to his site. In it he talks about changes to the default directory structure that Symfony 4-based applications will use.

Symfony 3 came with a slightly different directory structure than Symfony 2. Symfony 4 will also come with a reworked directory structure. Mostly incremental adjustments to support new features and best practices.

The Symfony 3 directory structure introduced a more standard Unix-like directory structure, with less sub-directories. Symfony 4 keeps going in that direction.

There's six changes he mentions specifically, each with a brief summary of what they'll contain:

  • Tests under tests/
  • Templates under templates/
  • Configuration under etc/
  • Source Code under src/
  • Temporary files under var/
  • Web files under web/

He ends the post with a quick note that, while these will be defaults, all of it is optional and these directories will be created automatically if they don't exist.

tagged: src etc template test structure directory symfony4 var web overview

Link: http://fabien.potencier.org/symfony4-directory-structure.html

Pascal MARTIN:
Series - Introduction to PHP 7.1 (Update)
Sep 15, 2016 @ 09:42:57

Pascal Martin has made the tenth post in his series covering PHP 7.1 and how it differs from previous versions. While this series was previously mentioned there have been significant updates to the series warranting a new post.

Here is the full list of the current ten articles he's written up so far:

There's lots of good information about this upcoming minor release in each of these articles as well as an interesting view into the release process for a new PHP version.

tagged: types enhancements testing overview preview articles series php71 update

Link: https://blog.pascal-martin.fr/post/php71-en-introduction-and-release-cycle.html

Pascal MARTIN:
Series - Introduction to PHP 7.1
Sep 08, 2016 @ 10:51:15

Pascal MARTIN has been in the process of posting a series of articles to his site covering the upcoming PHP 7.1 release including coverage of both new and deprecated features. So far there's four articles post with the latest coming out today:

A new minor version of PHP is just around the corner: PHP 7.1! Its release date is not really set yet, as it depends on the amount of bugs that will be reported and fixed on Releases Candidates, but it should happen before the end of this year. One year after PHP 7.0, this first minor release will bring its fair share of new enhancements!

Let’s take a look at those, going with about ten posts spread over the next few days.

So far he's covered:

Keep an eye on his site in the upcoming days for more pots in this series, helping you to prepare for the 7.1 release before it happens.

tagged: php71 series articles preview overview testing enhancements types

Link: https://blog.pascal-martin.fr/post/php71-en-introduction-and-release-cycle.html

Matt Stauffer:
Introducing Mailables in Laravel 5.3
Aug 05, 2016 @ 10:57:32

Matt Stauffer has posted the next in his "what's coming in Laravel 5.3" series today with this look at "mailables" to help make sending mail simpler in Laravel-based applications.

For the longest time, sending mail in Laravel has felt clumsy compared to the relatively light APIs of most other Laravel features. I'm not saying it's awful—it's still so much cleaner than its competitors--but it's often confusing to figure out what goes in the closure and what doesn't, what the parameter order is, etc.

Mailables are PHP classes in Laravel 5.3 that represent a single email: "NewUserWelcome", or "PaymentReceipt". Now, similar to event and job dispatching, there's a simple "send" syntax, to which you'll pass an instance of the class that represents what you're "dispatching"; in this context, it's an email.

He gives an example of the updated syntax for calling these "mailables", how to create them with the artisan command and their structure/usage. He also shows how to pass data into the object and some other included features (like customizing the delivery list, queuing and working with attachments).

tagged: mail sending laravel mailable class interface overview

Link: https://mattstauffer.co/blog/introducing-mailables-in-laravel-5-3

Robert Basic:
Events in a Zend Expressive application
Aug 05, 2016 @ 09:40:47

Robert Basic has written up a new post sharing a method he came up with for event handling in a Zend Expressive application. He makes use of Zend's own EventManager component to integrate it with some of his work from a previous post.

Three weeks ago I wrote a post on how to utilize Tactician in a Zend Expressive application. Today I want to expand on that post a little by adding the possibility to trigger and listen to events using the Zend EventManager component.

Using events allows our application to respond to different events that occur during a request.[...] This allows for a better separation of concerns in some cases, because if we take this approach, our code that deals with [the current functionality] doesn’t care any more what happens after that

He then gets into the code, showing how to install the EventManager component and how to create/inject an event manager into a current object (a Command). He then shows how to attach en event to the handler and perform an action when the event is hit. He points out one issue with this kind of setup, however: the need for all dependencies to be created prior to the event being attached. Fortunately the Zend EventManager comes with DI container support making it simpler to access dependencies needed during the firing of the event.

tagged: zendexpressive framework application event eventmanager tutorial overview introduction

Link: https://robertbasic.com/blog/events-in-a-zend-expressive-application/

Laravel News:
Laracon US 2016 Recap
Aug 02, 2016 @ 09:40:03

For those that weren't able to make it to this year's Laracon US conference (just wrapped up in Louisville, Kentucky) the Laravel News site has you covered. They've posted a wrapup of the event today with a bit of coverage for each day of the event and some overall thoughts and feelings.

Hundreds of developers fought the airline industry to arrive in downtown Louisville for the annual Laravel conference. This year’s event was a sell-out with around 550 developers and had people attending from all over the world. At last count, twenty-four different countries were represented.

The conference location was a mirror of last year and held at the Kentucky Center for the Performing Arts. Even though it was the same location every part of the event was bigger than ever.

The post talks about the variety of speakers at this year's event and the inclusion of a live stream of the sessions being presented. Each session was recorded so getting into the details of each wouldn't be as useful. Instead he goes through each day and talks briefly about what happened, announcements and highlights from certain speakers. The post ends with some links to a few of the slide decks of presentations given at the event (with more to follow I assume).

tagged: laravel laraconus16 recap overview sessions slides

Link: https://laravel-news.com/2016/08/laracon-us-2016-recap/

TutsPlus.com:
New Features in Laravel 5.2
Jul 25, 2016 @ 11:14:31

On the TutsPlus.com site they've posted a guide sharing some of the new features that have come with the 5.2 version of the Laravel framework. With v5.3 on the horizon, it's good to get a solid base with 5.2 first.

In this article, I will take a look at the new features of Laravel 5.2 and describe them one by one. The new features are [...]: implicit route model binding, form array validation, API rate-limiting middleware, middleware groups, authentication scaffold and multiple authentication guard drivers

The post then goes through each of these topics providing a bit of explanation of what they're about and how they can be useful. There's also snippets of code included where helpful to show off the feature and provide a more useful example.

tagged: laravel features v52 overview code example description

Link: http://code.tutsplus.com/tutorials/new-features-in-laravel-52--cms-26229