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

PHP Roundtable:
042: Staying Relevant For Web Development
Mar 24, 2016 @ 10:56:29

The PHP Roundtable podcast has posted their latest episode - Episode #42: Staying Relevant For Web Development. This time host Sammy K Powers is joined by Matthew Setter, Andy Huggins, Henning Glatter-Götz and Tom Oram.

The technologies that run the web are constantly changing. We discuss strategies for staying on top of the constant flux with continuous learning throughout your career, having mentors, engaging regularly with your peers, contributing to open source projects, voracious reading, and travel to programming events.

You can watch this latest episode either through the embedded video player or directly over on YouTube. Additionally they've also included an audio-only version you can listen to via an in-page audio player. If you enjoy the episode and want to see more, be sure to subscribe to their feed and follow them on Twitter for the latest show announcements.

tagged: phproundtable podcast video ep42 staying relevant change

Link: https://www.phproundtable.com/episode/staying-relevant-in-an-ever-changing-web-development-world

Symfony Blog:
New in Symfony 3.0
Mar 16, 2016 @ 09:39:21

On the Symfony blog there's a new post briefly looking at Symfony 3 and what's different about it as compared to previous releases (and what's not).

Symfony 3.0.0 was released on November 2015 as planned by the Symfony 3 roadmap. As we do with any new Symfony version, we should publish a blog series explaining its new features.

However, Symfony 3.0 is a very special version which contains no new features comparing it with Symfony 2.8. Their only difference is that 3.0 removed any feature marked as deprecated in 2.8. That's why we won't publish any "New in Symfony 3.0" post. Instead, let's do a quick recap of the new Symfony 2.8 features which are also available on Symfony 3.0.

Among the items on their list are things like:

  • New components like Guard Authentication and LDAP
  • A MicroKernel component
  • Improvements for VarDumper, Console and the Security components

Each of the changes on their list include links to get more information about the component and the post wraps up with a quick "how-to" on upgrading to Symfony 3 from other releases.

tagged: symfony symfony3 update release component change deprecation

Link: http://symfony.com/blog/new-in-symfony-3-0

Davey Shafik:
An Exceptional Change in PHP 7.0
Jul 31, 2015 @ 09:55:37

Davey Shafik has a post today that talks about an exceptional change to PHP 7.0 and some updates that have been made to provide more of a hierarchy (a different one) that can make them easier to work with.

With PHP 7 errors and exceptions are undergoing major changes. For the first time, the PHP engine will start to emit exceptions instead of standard PHP errors for (previously) fatal, and catchable fatal errors. This means that we can now handle them much more gracefully with try... catch. But with this change, comes a whole new exception hierarchy.

He provides a tree of the error/exception relationships, what they inherit from and who their "children" are. He also talks more in detail about the "error" type exceptions: Error, AssertionError, ParseError and TypeError. He gets into more detail about catchable fatal errors and the userland handling of the Throwable type and extension.

tagged: exception change php7 throwable error exception tree parent child

Link: http://daveyshafik.com/archives/69237-an-exceptional-change-in-php-7-0.html

NetTuts.com:
How the Directory Structure Has Changed in Laravel 5
Apr 16, 2015 @ 09:47:47

On the NetTuts.com site today they have a new tutorial (screencast) posted showing what the changes are in the directory structure of Laravel 5.

The newest version of Laravel was released in February, and the most noticeable change in version 5 is the new directory structure. In this short video tutorial, I'll explain exactly what's changed and why.

The video is a part of a larger series and is one of two free videos for it. The remainder of the series covers things like middleware, contracts, events, forms and validation as well as the command bus and its use.

tagged: laravel5 screencast directory structure change tutorial series

Link: http://code.tutsplus.com/articles/how-the-directory-structure-has-changed-in-laravel-5--cms-23795

Dejan Angelov:
Experimental upgrading to Laravel 5: How I did it
Nov 24, 2014 @ 12:57:18

In a recent post Dejan Angelov shares the process he went through to upgrade an application to Laravel 5, yet to be released (at least at the time of this post).

Over the past weeks, Taylor introduced many great changes and new features that we’ll be able to use in the new version, firstly numbered 4.3 and later 5. According to the framework’s six month release cycle, it should had hit stable late this month or in early December. Because of that, I started to play with it and to apply the changes to make my application use it.

However, a couple of days ago, Taylor wrote a blog post on the Laravel’s blog saying that because of the importance of this release, the release date will be postponed to January. Considering this, everything you’ll read here MUST NOT be applied to applications that are currently in production.

He starts with some of the major differences, including changes in the dependencies required and the removal of the "start.php" file for bootstrapping the application. He talks about the changes in startup and shutdown as well as autoloading. He looks at directory structure changes and the addition of a base namespace. He then gets into how to fix these issues, one at a time, including code and configuration changes that need to be made. This includes updates to the facades, changes for middleware, environment configuration, pagination and routing. There's lots of other changes happening with Laravel 5, so be sure to check out the full post if you're interested in the steps you might need to take when this latest version is released.

tagged: upgrade laravel5 framework change configuration code fix

Link: http://angelovdejan.me/2014/11/22/experimental-upgrading-to-laravel-5-how-i-did-it.html

Cal Evans:
Learn from NO
Aug 19, 2014 @ 11:51:56

Cal Evans has posted the next in his series offering advice to companies (and recruiters) out there looking to hire good, qualified and technically competent candidates. In this new post he suggests that these organizations learn something from when they get a "no" from the candidate.

Most companies have some variation of [the same] process for interviewing developers. [...] Between each bullet point is a decision point on the part of both your company and the candidate whether to move to the next step. Don’t assume that just because you have a job, the candidate will be willing to move forward at each step. Some candidates will excuse themselves from the process for a variety of reasons.

He suggests that it's important to learn from the "no" and change things up accordingly. If you can find out the "why" behind the "no", you can make a change for the better. He reminds companies that "no" could also mean "not right now" or "not without extra information I don't have".

Set aside some time in your schedule soon after the break, but not immediately after – to contemplate why [the candidate said no]. Yes, this is largely navel gazing but it is important navel gazing. Did they see something in your team that you can correct? Is there a problem you can work on? Not every NO will be something you can fix, or even your fault, but make sure you spend a little time thinking about it.
tagged: recruiter series no learning change jobpost position

Link: http://blog.calevans.com/2014/08/18/learn-from-no

Master Zend Framework:
Change Layout in Controllers and Actions in Zend Framework 2
Jun 27, 2014 @ 10:07:20

Matthew Setter has a new post to his Master Zend Framework site today showing you how to change layouts in controllers and actions for a Zend Framework v2 based application.

In Zend Framework 2, if you want to change the layout just for one action or for every action in a controller, how do you do it? How do you do it without overriding the layout for every action throughout the entire application? In today’s post, based on an excerpt from Zend Framework 2 for Beginners, we see how to achieve both of these requirements.

He talks about the framework's use of the two-step view pattern and what the "template_map" definition usually looks like in a default ZF2 application. He shows three different ways to do the view switching from the controller or action:

  • Override the default layout in your module
  • Override the layout per/action
  • Override the layout per/controller

Each of these comes with a bit of code showing you how to make it work. They move from simplest to more complex, with the layout per controller being the most complex. It's not that it's difficult, it's just that there's more involved to make it work. You can either do it at the controller level or at the module level.

tagged: tutorial zendframework2 controller action change ayout

Link: http://www.masterzendframework.com/views/change-layout-controllers-actions-zend-framework-2

Wojciech Sznapka:
Immutable value objects in PHP
May 16, 2014 @ 09:04:27

Wojciech Sznapka has a quick post to his site today looking at a possible implementation of Value Objects (immutable objects) in PHP applications.

Value objects are one of building blocks in Domain Driven Design. They represents a value and does not have an identity. That said, two value objects are equal if their values are equal. Other important feature is that Value Objects are immutable, i.e. they can not be modified after creation. [...] This post isn't about obvious advantages of representing domain logic with support of Value Object. As well, we wouldn't elaborate here about pros and cons of immutable objects. I'd rather would like to show an attempt to change Value Object.

His change method isn't so much a "change" as a "duplicate with new values" process. In his example he creates a EmailValueObject with "host" and "mailbox" properties. This object has a "changemailbox" method that seems to update the "mailbox" property, but in actuality clones the current object with a new "mailbox" value in the constructor.

tagged: value object immutable clone change property

Link: http://blog.sznapka.pl/immutable-value-objects-in-php/

Loosely Coupled Podcast:
Episode 4: An Agile Rant
May 14, 2014 @ 10:41:37

The Loosely Coupled podcast, hosted by PHP community members Jeff Carouth and Matt Frost, has posted their latest episode. In Episode #4: An Agile Rant they talk about agile development practices and compromises.

In this episode Matt and Jeff talk about their experiences with adopting Agile as individuals and as teams. The important take aways are to not be too loose nor too rigid with the practice; to accept change as it happens but to not force change too rapidly; to honor the purposes of the components of agile practices; and, above all, to find what works for your team specifically over what you read in a book.

Topics mentioned include the Agile Manifesto and the books "Agile Project Management and Extreme Programming Explained. You can listen to this latest episode either through the in-page player or by downloading the mp3 directly. If you like what you hear, consider subscribing to their feed and following them on Twitter.

tagged: looselycoupled podcast ep4 agile rant change

Link: http://looselycoupled.info/blog/2014/05/13/episode-4-an-agile-rant/

Evert Pot:
PHP 5.5.10 timezone handling changes
Mar 31, 2014 @ 12:29:27

Evert Pot has a new post sharing some of the changes in DateTime handling that he's updated in the latest release in the PHP 5.5.x series.

PHP 5.5.10 got released a few weeks ago, and among other things, it added some new functionality related to timezone handling. In short, [subtracting from UTC] now works. Normally this would not be recommended, as you really should specify timezones based on their geographical location. This information is not always available though, so it's a welcome new feature.

Other changes include the removal of the automatic translation from "UTC" to "GMT" as well as errors being thrown when one of the "odd" timezones are used (he provides the list). Additionally, an update around timezone "guessing" has been added and the fallback that was in place has been removed.

tagged: timezone change datetime utc gmt error names

Link: http://evertpot.com/php-5-5-10-timezone-changes/