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

Jani Hartikainen:
5 step method to make test-driven development and unit testing easy
Oct 11, 2016 @ 10:23:08

While his examples may be in Javascript, Jani Hartikainen has posted a guide that can help any developer get started with TDD - Test Driven Development - in their new or legacy applications.

What’s the hardest thing in test-driven development or unit testing in general? Writing tests! The syntax or the tools aren’t the problem – you can learn those enough to get started in 15 minutes. The problem is how to take some vague idea in your head about what you want to do, and turn it into something that verifies some function works… before you even wrote the damn thing!

People tell you to use TDD. But how can you possibly write a test for something that doesn’t exist? I don’t even know what the function is going to do yet – or if I actually want two functions instead of one – and instead you want me to think of a test for it? Are you crazy?

How do all those people who tell you to use TDD do it? That’s the thing – test-driven development requires thinking of your code in a different way. And nobody ever tells you how to do that. Until now.

He then breaks down the process of how to turn a "vague idea" into something that can be effectively tested, noting that this change in thought process can sometimes be difficult. He then breaks it down into a set of five steps:

  • Step 1: Decide the inputs and outputs
  • Step 2: Choose function signature
  • Step 3: Decide on one tiny aspect of the functionality
  • Step 4: Implement test
  • Step 5: Implement code

While the above may seem familiar to anyone that's read about TDD before, it's interesting to see how he explains each item with an emphasis on behavior not just the code required. He ends the post with a few more smaller suggestions to help you get on the road to TDD with the same emphasis on behavior rather than functionality.

tagged: tdd testdriven development steps easy unittest behavior

Link: http://codeutopia.net/blog/2016/10/10/5-step-method-to-make-test-driven-development-and-unit-testing-easy/

Paragon Initiative:
Solve All Your Cryptography Problems in 3 Easy Steps
May 12, 2016 @ 11:55:55

On the Paragon Initiative site there's a new post that promises a way to solve all of your cryptography problems in PHP with three simple steps.

Last year, we began developing Halite, a FOSS high-level wrapper for the PHP bindings to libsodium. We use Halite extensively in our own projects (including our upcoming CMS which has quite a few of its own innovative cryptography features baked-in).

As of version 2.1.0, we are confident that Halite solves all of the application-layer cryptography problems that most PHP developers face; and it does so in three easy steps. (For transport-layer cryptography, you should still use TLS, of course.)

Their three steps to effectively using Halite and libsodium in your application are:

  • Step One: Managing Cryptography Keys
  • Step Two: Encrypting or Authenticating with Halite
  • Step Three: Decrypt or Verify

Each step comes with example code showing how to use the tool to accomplish it. There's also a few other problems that are solved by using the library including generating encrypted password hashes and whole file cryptography.

tagged: cryptography problem halite libsodium steps keys authentication encrypt decrypt

Link: https://paragonie.com/blog/2016/05/solve-all-your-cryptography-problems-in-three-easy-steps-with-halite

Knp University:
How we Upgraded to Symfony 2.7 (+ deprecation notices)
Jun 01, 2015 @ 11:17:24

The Knp University site has a new post to their blog sharing how they migrated to Symfony 2.7, the latest release of the popular PHP framework.

Symfony 2.7 - the next LTS release - came out on Saturday, with bells and whistles like 100+ new features/enhancements and a surprise new bridge component to PSR-7. So, we decided to upgrade immediately and report back. Let's go!

They walk through each stage of the process, sharing code and summaries about what changed along the way (including the update to the composer.json):

  • You need to upgrade sensio/distribution-bundle
  • You Need -with-dependencies
  • Upgrading FOSUserBundle
  • Fixing Behat 2.5

It's a pretty short list and obviously your milage may vary depending on what version you're updating from, but most recent versions shouldn't have too much trouble.

tagged: knpuniversity upgrade symfony27 guide steps fixes

Link: http://knpuniversity.com/blog/upgrading-symfony-2.7

When You're Hacked in WordPress: Dealing With a Hacked WordPress Site
Feb 19, 2015 @ 10:50:30

On the NetTuts.com site today there's a new tutorial showing you what you can do when your WordPress site is hacked.

One of the worst things that can happen to your website just happened: It's been hacked. Somebody broke into your computer and got passwords, or your passwords were weak, or somebody exploited a security vulnerability caused by WordPress or your hosting provider, or something else happened that let a hacker hack your website...What do we do now? It's not the time to feel sorry for yourself, it's time to take action and bring back your website.

They start with a brief look at how a WordPress site might be hacked, not specific exploits, but topics and types of vulnerabilities. Following this they talk about thier recommended steps to do when the hack is discovered including:

  • Shut It Down NOW!
  • Contact Your Hosting Provider for Details
  • Find Out What Caused It and Take Action
  • Fix and Double-Check Everything and Go Live Again

Each step comes with a summary of the steps inside and even a "checklist" of things to verify before bringing the site back up.

tagged: wordpress hack remediation plan steps recommendation

Link: http://code.tutsplus.com/tutorials/when-youre-hacked-in-wordpress-dealing-with-a-hacked-wordpress-site--cms-22747

Matt Stauffer:
Upgrading from Laravel 4 to Laravel 5
Jan 19, 2015 @ 10:37:19

Matt Stauffer has posted a guide to his site to help you migrate from Laravel 4 to Laravel 5 as painlessly as possible. This is part fourteen in his overall introduction to Laravel 5 series of posts.

It's very simple to get started in a new Laravel 5 app [...] but what if you have a Laravel 4 app you want to upgrade? You might think the answer is to upgrade the Composer dependencies and then manually make the changes. Quite a few folks have created walkthroughs for that process, and it's possible—but there are a lot of little pieces you need to catch, and Taylor has said publicly that he thinks the better process is actually to start from scratch and copy your code in. So, that's what we're going to be doing.

He walks you through cloning a new Laravel 5 instance and setting up the various pieces of the application including the app itself, the domain folder and Composer dependencies. He then gets into the migration of things in the "app/" folder like controllers, database migrations and models. He also includes steps to update namespacing, handling the configuration updates, moving over user handling and any forms you may have created.

tagged: laravel4 laravel5 upgrade guide tips steps

Link: http://mattstauffer.co/blog/upgrading-from-laravel-4-to-laravel-5

How to Install LAMP with Samba File Sharing
Jul 03, 2013 @ 12:52:43

On PHPClasses.org there's a tutorial posted from Michael Fuhrman about getting a LAMP environment set up with Samba. This setup will allow a single server to serve up sites stored on remote machines and accessed over a Samba share.

Web sites can be served using PHP scripts stored in a different machine than the actual Web server machine. Read this article to learn how to setup a Fedora based Web server machine (without a desktop GUI) using Linux, Apache, MySQL, PHP and using Samba to serve sites using files shared by separate machines.

He steps you through the installation of everything you'll need - a VM to set up the server on in VirtualBox, configure the network interface and the packages/configuration updates you'll need to make. It's a pretty lengthy tutorial as it includes every single step you need (and sometimes its output). One note on this method - because it would be accessing the files over the network for each Apache request (possibly multiple) it will cause much more latency than if they were on the local machine.

tagged: install lamp samba fileshare tutorial steps

Link: http://www.phpclasses.org/blog/post/212-How-to-Install-LAMP-with-Samba-File-Sharing.html

Greg Freeman:
Steps to Take When you Know your PHP Site has been Hacked
Mar 07, 2013 @ 09:53:02

Greg Freeman has posted the second part of his "hacked PHP application" series (part one is here). In this new post he looks at the aftermath - what to do and check to do cleanup and fixes so it doesn't happen again.

This is a follow up post from my previous post “How to Tell if Your PHP Site has been Hacked or Compromised“. This post will discuss some the first steps you should take when you have identified that your site has been compromised. The first sections discuss a few points that are not relevant to everyone, the later sections will discuss how to fix the exploits.

He includes a list of things to think about including:

  • What kind of hosting you use (and if that contributed)
  • The option to redirect all requests for your site to one page
  • Get a list of all PHP files to locate something malicious
  • Locating "non-PHP PHP files"
  • Finding files with possible malicious content

He also includes a few suggestions to help prevent issues in the future - update to the latest versions, patch your code, rethinking your permissions and monitoring for potential repeat attacks.

tagged: hack compromise steps correction fix upgrade exploit


Preventing Code Rot 101: Unit Testing
Feb 28, 2013 @ 13:41:32

On PHPMaster.com today they've published a new article from Remi Woler about preventing "code rot" in your applications through the use of unit testing. He advocates that tests, when applied correctly, can help make refactoring easier and safer, allowing you to change your code and know things stlll work.

Unless you’re working on a fresh project right now, the codebase you work with most likely has such code you take for granted. And the more challenging your current assignment (or fresh project) is, the more likely it will become a legacy part as well on short notice. Since it’s infeasible to fully comprehend all problems that your codebases solve, as well as all their solutions, something else needs to be done to prevent code rot. One way or the other: the code needs to be refactorable to live happily ever after.

The breaks down the steps that a unit test should follow on its most base level - assemble the environment to test inside, act on the code and assert that the output was as expected. He walks you through each of these steps, detailing what's involved and including some sample code to illustrate. He also includes a few tips on the successful application of tests like:

  • Don’t forget to write integration/acceptance tests as well.
  • Name your unit tests verbosely.
  • Write unit tests for bug fixes.
  • Never change the code under test.
tagged: unittest coderot refactor application steps tutorial


Zend Developer Zone:
Get involved in the PHP community: 5 easy steps that take less than 5 min. each
Aug 19, 2010 @ 09:14:47

On the Zend Developer Zone there's a new post from Cal Evans about five ways to get involved in the PHP community that take about five minutes each (and can both help you and the community).

ome developers develop because it pays the bills. They don't want to be part of the community, they have other passions. I am ok with that, I don't want anyone involved who doesn't want to be. Other developers however tell me they didn't know the community existed, they don't know how to get involved or they are just too shy to step up. It is to this second group (and anyone who is already involved but wants more) that I want to talk to. If you want to get involved in the PHP community here are 5 quick ideas to get you going.

His five things are simple and cover a lot of different media, from blogs to twitter:

  • Email your local PHP User Group and offer to speak.
  • Setup a PHP tag on your blog.
  • Submit something to DevZone!
  • Re-tweet something about PHP.
  • Find at least one other PHP developer that is not involved in the PHP community and convince them to read this list and take action.

He equates this last one to a "chain letter" but it's key to helping th community grow. It's all about people getting together around a language they love and sharing that with more and more people.

tagged: community involvement suggestion steps


How to understand Joomla templates in five easy steps
Jul 23, 2010 @ 12:48:49

On JoomlaBlogger.net there's a recent post that wants to help you understand the Joomla templating system in "five easy steps".

There are very few tutorials on how to build templates. There are two books and a handful of other resources scattered around the web. So, we set out to build the very best template class we could. Here are first five sessions of the class: Joomla templates are not rocket science. You can learn how to build and modify them. We can show you how. Interested?

They break it up into the basic parts:

  • Template setup and templateDetails.xml
  • Index.php
  • CSS/Cascading Style Sheets
  • Images
  • Security
tagged: joomla template easy steps tutorial