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

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

Acquia Blog:
Web Accessibility Tips for Developers
May 08, 2015 @ 10:20:14

The Acquia blog has posted a few helpful usability tips for developers to help you think about how users will be interacting with the systems they create. This post is the first in a four part series and kicks off the content with four good tips.

Creating the code that makes a website accessible to all visitors doesn’t have to be as time-consuming or resource-intensive as you might think. All you need to do is follow some simple steps that require a little extra time and effort. [...] It’s up to both the developer and the client to achieve site accessibility. Although they usually work together in the planning and later stages of website creation, a developer and client also have separate responsibilities in making a site accessible.

In this post they touch on points around the use of "read more", clear requirements for input and good error messaging practices.

tagged: web accessibility tips series part1 readmore, requirements, input, error, message

Link: https://www.acquia.com/blog/web-accessibility-tips-developers

SitePoint PHP Blog:
Interactive PHP Debugging with PsySH
Sep 30, 2014 @ 12:53:30

The SitePoint PHP blog has a new tutorial posted by i>Miguel Ibarra Romero showing how to use the PsySH tool to do some interactive debugging of your PHP applications via both the command line and a web frontend.

It’s 1:00 a.m., the deadline for your web application’s delivery is in 8 hours… and it’s not working. As you try to figure out what’s going on, you fill your code with var_dump() and die() everywhere to see where the bug is. [...] Is this situation familiar to you? PsySH to the rescue. PsySH is a Read-Eval-Print Loop (or REPL). You may have used a REPL before via your browser’s javascript console. If you have, you know that it possesses a lot of power and can be useful while debugging your JS code.

He walks you through the install via Composer and some of the basic commands and syntax for executing PHP code inside its shell. Command line testing is good, but debugging full applications is a bit more difficult. He shows how to integrate the tool into a sample application that calls PsySH via a "debug" call and output via a set of "window" objects. He also includes a bit close to the end about debugging with unit tests, executing them from inside the shell as well.

tagged: interactive debugging psysh repl unittest commandline web

Link: http://www.sitepoint.com/interactive-php-debugging-psysh/

Three Devs & A Maybe Podcast:
Designing for the Web with Kris Jeary
Jul 08, 2014 @ 09:45:45

The Three Devs & A Maybe podcast has posted their latest episode (#32) with guest Kris Jeary to discuss "all things design" in web development.

This week we are lucky to have Kris Jeary on the show to discuss all things design. Starting off with how he got introduced to the world of web design, we move on to discuss the process he uses to create websites. We then touch upon where he gets inspiration from, and how the emergence of responsive and SPA ideologies has changed the way we think about the web. Finally, we wrap up the show with some good advice to anyone looking into getting into web design.

The show includes mentions of cron expressions in PHP, Modern.IE and CodeKit. You can listen to this latest episode either by downloading the mp3 directly or using the in-page player. If you like what you hear, consider subscribing to their feed too.

tagged: threedevsandamaybe podcast ep32 krisjeary design web

Link: http://threedevsandamaybe.com/posts/designing-for-the-web-with-kris-jeary/

Three Devs & A Maybe Podcast:
Delving into CodeIgniter
Apr 10, 2014 @ 09:22:55

The Three Devs and a Maybe podcast has released their latest episode today - Episode #19, "Delving into CodeIgniter. The show, hosted by Michael Budd, Fraser Hart, Lewis Cains and Edd Mann continues their look into web application frameworks.

In this weeks show we continue our discussion on web application frameworks by delving into CodeIgniter. Though it has had its fair share of bad press over the past couple of years, its mature code-base and ease of getting started can not be denied. Initially exploring what the framework is from a high-level we move on to discuss it's strengths and weaknesses along with personal experiences. We finally wrap up the show with a CodeIgniter influenced quiz.

Other technology mentioned includes jQuery Unveil, D3.js, the Hearbleed bug and Guzzle. You can listen to this latest episode either by downloading the mp3, using the in-page player or by subscribing to their feed.

tagged: threedevsandamaybe podcast ep19 codeigniter web framework

Link: http://threedevsandamaybe.com/posts/delving-into-codeigniter/

SitePoint PHP Blog:
Web Performance Tricks - Beyond the Basics
Jan 23, 2014 @ 11:55:28

The SitePoint PHP blog has a new post sharing some general web performance tricks that could be done to any application to speed things up a bit. Note that this is a sponsored article but it does not promote the sponsor's product.

We've had a lot of performance talk over the years here at SitePoint, and we believe it's time to revisit the topic with some more advanced aspects. The approaches mentioned in this article won't be strictly PHP related, but you can be sure they'll bring your application to a whole new level if used properly. Note that we won't be covering the usual stuff - fewer requests for CSS, JS and images meaning faster websites and similar hints are common knowledge. Instead, we'll be focusing on some less known/used upgrades.

Their list of suggestions include things like:

  • Removing unnecessary HTML tags
  • Prefetching and caching content
  • Using tools like CSS Lint and CSS Explain
  • Using Google's Page Speed tool to find bottlenecks
  • Use things like SPDY, WebP and Zopfil
tagged: web performance tips advanced list

Link: http://www.sitepoint.com/web-performance-tricks-beyond-basics/

Aura Framework Blog:
A Peek At Aura v2 -- Aura.Web
Nov 12, 2013 @ 10:34:58

Continuing their series of "sneak peeks" at the coming functionality and features of the next generation of components from the Aura framework, their blog looks at the version 2 of Aura.Web. This component has been refactored because of the creation of the Aura.Dispatcher as well.

Aura.Web v1 took the parts of Solar related to web controllers and combined them into a single independent package. [...] In the Aura.Web case, it turns out extracting Aura.Dispatcher was the key to reducing the Aura.Web package contents. With Aura.Dispatcher, any object can be a controller, since it can dispatch to any method on any object (as well as dispatching to closures). In turn, there is no more need for the Aura.Web package to provide a base controller with interfaces for various implementations.

The rest of the post explains the two halves of the new Aura.Web version - the Request and Response - and what kinds of things are included in each. It also links each to the parts of the READMEs that deal with them, providing a bit more information.

tagged: aura framework component spotlight web version auraweb

Link: http://auraphp.com/blog/2013/11/11/aura-v2-web/

DZone.com:
Deploying PHP Projects with Webistrano
Nov 02, 2012 @ 09:46:51

On DZone.com there's a recent article posted by Kasia Gogolek that walks you through the deployment of a web application with the Webistrano tool, a web UI for working with Capistrano. This follows the first article where they talk about the Webistrano installation.

Most of the applications I write, are PHP based, so all of my examples will be based on that assumption, but you can re-use the ideas mentioned for software written in any other programming language. The setup [in the example] discusses just the deployment to the test project. Deployment to the production will be similar, and by the end of the article, you should understand what differences it will require.

She walks you through the creation of a new project, an example of the contents of the "base.rb" configuration file and how to create the stages (environments) to deploy to. Next up is the "recipes" themselves - the configuration steps for the deployment process. In their examples they show how to set permissions, update a database, manage asset files and a bit more to get Plesk installed on a server.

tagged: webistrano capistrano deployment tutorial web ui recipe

Link:

Michael Kimsal:
Things a web developer might need to know
Oct 29, 2012 @ 09:39:46

Michael Kimsal has a new post to his site with some recommendations for web developers as to the things they should know to do their job well.

The original question from was a 16 year old who’s been doing some basic CRUD apps, but is getting bored and wanted to move on to ‘real’ development. There were some good replies, but few went in to the depth of detail that I think beginners are even aware of. Granted, this might scare off some, but for others it might give them some ideas about what’s possible and what’s involved in professional web development. I know I’m going to leave off some topics, so feel free to add on!

He touches on topics ranging from version control to performance and even a mention of mobile development. Each section includes a brief summary of the topic and some have specific topics to check out to help narrow things down to the important parts.

tagged: web developer suggested knowledge learn

Link:

PHPMaster.com:
Installing GitList for Local Repos
Aug 23, 2012 @ 09:29:59

If you're a git user and have thought about bringing things a bit more "in-house" than GitHub but still want some of the perks of the web-based interface, this quick tutorial from PHPMaster about installing Gitlist might interest you.

aking your repositories available in a local intranet is pretty easy, but having a nice interface to interact with those repositories, making collaboration between teams easier, is not that simple. [...] There are other solutions available, but some are too hard to install or, again, hard on the eyes. I recently discovered GitList, a free and open source Git repository viewer. It’s interface resembles GitHub a lot but aims to keep everything simple and clear.

He includes the basic installation steps you'll need to get it up and running - setting up the environment, downloading and configuring Gitlist to look at your repositories and pointing out that, since the LESS source is included in the download, you can customize it how you see fit.

tagged: gitlist git local web interface tutorial install configure

Link: