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

SitePoint PHP Blog:
9 Development Workflow Upgrades You Should Know About
Feb 04, 2016 @ 11:39:10

On the SitePoint PHP blog editor Bruno Skvorc shares 9 development workflow upgrades that can help to make you a more efficient (and informed) developer. This is a list of handy tools and changes you can make to current software to help make you more productive.

Every once in a while I run into a tool or plugin so useful I can’t not add it to my arsenal. I usually shout out tweets and try to spread the word that way, but this time I believe I’ve got such a neat (and somewhat random) collection of productivity boosting entries, they deserve a collective article.

Included in his list of helpful tools and tips are things like:

  • git-fresh
  • [Composer changelogs](Composer changelogs)
  • Changing PhpStorm's configuration for faster rendering
  • Parallel downloads [with Composer](Composer parallel downloads)

There's also something he's called the "comfort collection" that can help you and your body feel less of the pains usually associated with long hours in front of the keyboard.

tagged: workflow upgrades development tools configuration tips comfort

Link: http://www.sitepoint.com/9-development-workflow-upgrades-you-should-know-about/

Mark Scherer:
Developing CakePHP 3+ Plugins, it’s fun!
Feb 01, 2016 @ 12:08:04

Mark Scherer has a post to his site looking at developing CakePHP 3+ plugins, showing how it's much easier than it used to be with previous versions of the framework.

he days of CakePHP 2 plugins and how difficult it was to actually develop plugins are over. Back in the days (OK, I still have to do it once in a while), there was even an app required to test a plugin. Since you didn’t want to have a boilerplate app for each plugin, you usually worked in your actual app. So you had cross contamination from that messing up your tests and stuff. Really annoying.

[...] While most of the concrete examples are about plugin development for CakePHP 3, the main ideas apply to all library code you write. And if you are a developer for other frameworks, the same principles apply, only the concrete implementation might differ.

He starts with the "real story" behind his development of a plugin - a need to integrate hashid support into a CakePHP v3-based application. He uses his own library as an example (here on GitHub) and shares his thought and development process in its creation. He then shares a few helpful tips for the would-be plugin authors out there:

  • Thinking about what should be in core vs a plugin.
  • Try to follow coding and package principles.
  • Following the six package principles including common reuse, common closure and package coupling practices.
tagged: cakephp3 framework plugin example principles tips hashid

Link: http://www.dereuromark.de/2016/01/29/developing-cakephp-3-plugins-its-fun/

Michael Cullum:
CFP Tips Roundup (#12DaysOfCfpTips)
Jan 28, 2016 @ 09:02:42

At the end of 2015 (and beginning of 2016) Michael Cullum put together a series of tweets with suggestions to help potential conference/event speakers out there in submitting to Call for Papers. He's gathered them together and posted them to his site to make them easier to find all in one place.

On the 25th December I started a series of tweets under the hashtag #12DaysOfCfpTips. For those who are unaware, I’m one of the organisers for the PHP South Coast Conference (P.S. Blind bird tickets are up wink), and within the organising team I’m responsible for the Call for Papers and everything speaker-related in general and getting better submissions are both in the best interest of a conference organiser and the submitter.

A few people had asked me to post them up somewhere more permanent and perhaps expand on them beyond 140 characters a little so here we are with a roundup. The tweets are in chronological order.

His list includes suggestions about providing "extra" information on your submissions, looking at the suggested talk topics and mentioning any previous speaking experience. There's also links to each tweet so you can see any conversation that might have happened around them (often including some additional advice as well).

tagged: callforpapers cfp tips 12daysofcfptips michaelcullum

Link: http://www.michaelcullum.com/cfp-tips-roundup/

SitePoint PHP Blog:
More Tips for Defensive Programming in PHP
Jan 25, 2016 @ 12:07:48

The SitePoint PHP blog has posted a tutorial continuing on from some previous advice with even more defensive programming practices you can use in your PHP applications.

Many people argue against defensive programming, but this is often because of the types of methods they have seen espoused by some as defensive programming. Defensive programming should not be viewed as a way to avoid test driven development or as a way to simply compensate for failures and move on. [...] What are these methods, if not ways to anticipate that your program may fail, and either prevent those, or else ways in which to handle those failures appropriately?

They go on to talk about the ideas of "failing fast" when errors happen in your application with an extra suggestion added on - "fail loud" too. The tutorial then looks at four different places where more defensive programming techniques can be applied (and how):

  • Input validation
  • Preventing Accidental Assignment in Comparisons
  • Dealing with Try/Catch and Exceptions
  • Transactions

They end with a recommendation that, while you should fail fast and loud when issues come up, be sure it's not to the determent of the overall user experience or sharing messages with users that may just confuse them.

tagged: tutorial series defensive programming tips failfast input validation assignment trycatch transaction

Link: http://www.sitepoint.com/more-tips-for-defensive-programming-in-php/

Freek Van der Herten:
Some Laravel Homestead tips
Jan 18, 2016 @ 12:27:30

Freek Van der Herten has a post to his site sharing some Laravel Homestead tips you can use to optimize and customize your current Homestead installation.

Homestead is a pre-packaged Vagrant box that includes a good development environment. It was made and is maintained by Taylor Otwell, the creator of Laravel. In this post I’d like to share some tips regarding this box.

His list of tips includes:

  • Map all sites at once
  • Use a bash function to work with a globally installed homestead
  • Map your dotfiles directory

Each tip comes with a bit of code/configuration changes to make to be able to use the functionality and configure the instance correctly.

tagged: laravel homestead tips configuration command example

Link: https://murze.be/2016/01/some-laravel-homestead-tips/

Michael Cullum:
#12DaysOfCfpTips - Call for Papers Tips in Tweets
Dec 30, 2015 @ 10:29:06

If you're ending this year and thinking about making "speak at a conference" one of your New Year's resolutions, you should check out the series of Tweets from Michael Cullum with some helpful tips on submitting your talk ideas to Calls for Papers. His #12DaysofCfpTips can help guide you in the right direction and make it more likely you could be accepted.

So far (as of the time of this post) there's only two in the list:

  • "Mention previous speaking experience in your speaker 'extra information' box (including UGs and Conferences)"
  • Always get someone to read over your abstracts. helpmeabstract.com is a great place to get feedback

Keep an eye on the hashtag with more great tips and hints to help you optimize your submissions and profile for that next open Call for Papers!

tagged: callforpapers cfp tips tweets michaelcullum

Link: https://twitter.com/hashtag/12DaysOfCfpTips

Matt Stauffer:
How to Apply for a Web Developer Job at Tighten (and How Not To)
Oct 01, 2015 @ 09:39:03

While the advice that Matt Stauffer gives in this new post to his site is more targeted towards people applying at his company, it's full of great tips for just about any job seeker looking to land a role in web development.

I just finished reading over 200 applications for our latest job posting, a Web Developer job at Tighten Co.. We still hire infrequently enough and are small enough that the two founders (Dan and me) and our operations manager (Dave) read every single application, which is hours upon hours for work before we even get to our initial phone screen.

Some applicants, and some tendencies among applicants, have stood out as best practices, but many more things have stood out as consistent turnoffs. So, I figured I'd share some with you here.

He includes helpful hints on topics like:

  • actually reading the job description
  • writing custom cover letters
  • updating your site and resume to the latest information
  • provide up to date code samples
  • check spelling and grammar

He offers one other piece of advice that I think a lot of job seekers don't bother with: set yourself apart somehow. This may mean extra work on the application but it can yield very positive results. He ends the post with some extra tips he received as feedback on Twitter, asking hiring managers what they really want to hear from applicants.

tagged: webdeveloper job application tips useful suggestion hiringmanager

Link: https://mattstauffer.co/blog/how-to-apply-for-a-web-developer-job-at-tighten-and-how-not-to

UserSnap Blog:
A Practical Guide to Building Fast Web Applications in the Cloud
Aug 14, 2015 @ 10:44:58

On the UserSnap blog Luciano Mammino has provided a guide to building fast applications in the cloud using PHP and several tools and techniques. He offers a list of six rules to follow to make building the applications fast (and fast applications).

In this post Luciano highlighted some of the most common principles you should consider while building high performing web applications (specifically on the backend part). The following concepts discussed here can be applied to any language and framework. Though this post will cover some concrete examples, design patterns and tools that are mostly used in the PHP ecosystem.

His list of rules includes tips like:

  • Avoid premature optimization
  • Defer the work you don’t need to do immediately
  • Use cache when you can
  • Prepare your app for horizontal scalability when possible

Each point comes with a paragraph or two of explanation as to why it's an issue to watch out for and some tips to help prevent it as well as tools that can help.

tagged: guide practical fast application top6 tips tools

Link: http://usersnap.com/blog/building-web-applications-cloud/

Dylan Bridgman:
Writing highly readable code
Jul 30, 2015 @ 12:29:55

Dylan Bridgman has posted a few helpful tips on writing code that's "highly readable" and easier for both developers inside and outside the project to understand.

We are always told that commenting our code is important. Without comments other developers will not be able to understand what we did and our future selves will recoil in horror when doing maintenance. Readable code, however, is not only about comment text. More importantly it is about the style, structure and naming. If you get into the habit of writing easily readable code, you will actually find yourself writing less comments.

He breaks it up into a few different categories to keep in mind as you're writing your code:

  • the overall style of the code
  • the structure of the application (directories, libraries used, etc)
  • naming conventions for variables, methods and classes

Finally, he talks about comments and how they should fit into the ideas of readable code. He suggests that they should stay as high level as possible and explain the intent of the code, not what the code is doing (yes, there's a difference).

tagged: write readable code tips style structure naming convention comments

Link: https://medium.com/@dylanbr/writing-highly-readable-code-94da94d5d636

Luciano Mammino:
6 Rules of thumb to build blazing fast web server applications
Jul 28, 2015 @ 09:48:33

Luciano Mammino has posted six tips for blazing fast web applications to his site. These tips aren't as much specific to the code (though they're related) as they are general good practices around architecture, development work and common issues.

In this post I will try to highlight some of the most common principles that you have to take under consideration when you want to achieve a great level of performance while building a web application (specifically on the backend part). I believe the concepts discussed here can be applied to any language and framework even if, due to my specific experience, I will mention some examples, design patterns, conventions and tools that are mostly used in the PHP world.

His post lists out six main rules along with some description and links to other tools for each:

  • Avoid premature optimization
  • Do the minimum amount of work to solve the problem
  • Defer the work you don't need to do immediately
  • Use cache when you can
  • Understand and avoid the N+1 query problem with relational databases
  • Prepare your app for horizontal scalability when possible

There's lots of good tools mentioned here so find one that fits your needs and helps solve the issue. There's also some good articles mentioned, giving more information about a particular topic or other perspectives on how to solve it a different way.

tagged: tips rulesofthumb fast web application optimize work cache nplusone scale horizontal

Link: http://loige.co/6-rules-of-thumb-to-build-blazing-fast-web-applications