|Welcome to the 91st edition of your most popular PHP weekly newsletter ;)
Do you need an API? On the SitePoint blog this week is an article that talks about what they are, who has them, the positives and negatives of having an API, and how to implement one.
Also this week, Brandon Savage asks the question do your objects talk to strangers?
The Lone Star PHP Conference is in its 5th year, and has been scheduled to take place in April, in Dallas. Tickets are on sale now.
Plus the PHP UK Conference is in its 10th year, taking place in London next month. Tickets are still available.
Last, but by no means least, we bring you the much anticipated "podcast mash up" between the teams at PHP Town Hall and dev/hell.
Remember we love to hear from you - your comments, your criticisms, or just to tell us that you care, its great to hear from the awesome PHP community.
We need your clicks :)
Please help us to keep doing this each week by visiting our sponsor:
From our sponsors:
PHP vs. Node.js: An Epic Battle for Developer Mind Share
Here's how the old guard and upstart darling of the server-side Web stack up against each other.
Do You Need An API?
API stands for ‘Application Programming Interface’ and, as the name implies, creating one is a technical process. This article will talk very little about how to create an API as there are a myriad of methods to undertake that. This article aims to focus on the business side of APIs and supply advice for non-technical folk.
Lies, Damned Lies and Code Coverage: Towards Mutation Testing
Humbug is a Mutation Testing framework for PHP. Essentially, it injects deliberate defects into your source code, designed to emulate programmer errors, and then checks whether your unit tests notice. This article is mostly reserved to explain why Padraic Brady wrote Humbug, and why Mutation Testing is so badly needed in PHP. There’s a few closing words on Mutation Testing performance which has traditionally been a concern impeding its adoption.
Do Your Objects Talk To Strangers?
In object-oriented programming we want to teach our objects not to “talk to strangers”. What is talking to strangers for objects? Talking to strangers is relying on objects that we weren’t given, or APIs we haven’t been taught.
Tutorials and Talks
Constructing Your WordPress Widget
If you've been following this series, you will now have the beginnings of a plugin for your widget. You'll have created the class to code your widget and added the function to register it. In this tutorial I'll show you how to create the constructor function, which is one of the functions inside your class.
Configuring Your Store’s Settings with the eBay Trading API
In part 1, we explained the different parts of eBay’s developer dashboard and configured our test application. We also created our database. Now we’re ready to create a project. In this part, we’ll focus on store settings.
Building With the Twitter API: Tweet Storms
In a continuation of the series of Twitter API tutorials, this article walks you through building a tweet storm feature of your own using the Twitter API.
Implement A "Sounds Like" Search in PHP
In this tutorial I will show you how to use two of the lesser known PHP functions (metaphone($str) and levenshtein($str1, $str2)) to implement a "sounds like" search using PHP. By putting these two functions to good use, you will get exceptional results when matching phrases that contain spelling mistakes or simply 'sound similar'.
Using OpenUI5 table and Angularjs
OpenUI5 is a web toolkit released by SAP as an open source project, that came with a very complete set of controls. In this small example I want to use the “table” control.
Create a Custom Payment Method in OpenCart: Part 2
In this tutorial, we'll see the back-end part of the custom method. We'll see how to list your custom payment method along with the other payment methods. Further, we'll check how you can create the configuration form for your custom payment method.
PHPUnit: Migration from PEAR to PHAR
This article shows you how to make the transition from using PHPUnit from a PEAR package to using PHPUnit from a PHP Archive or using Composer as easy and conveniently as possible.
|News and Announcements
Lone Star PHP Conference - April 16-18th 2015, Dallas
Welcome back to Lone Star PHP for another great year! We're in our fifth year and we're making things better all the time. This year's event will provide all of the great PHP speakers and content you've come to expect from Lone Star PHP. This year we are introducing the Training Day, which will provide a more hands-on experience for all that attend. There'll be plenty of time to spend with the local PHP community too through after-parties and other events. Tickets are available now.
PHP UK Conference - February 19-20th 2015, London
We are pleased to announce our 10th Annual PHP UK Conference. Two days of amazing talks, plentiful networking opportunities and great socials. PHP UK offers the most up-to-date PHP information and training. Tickets are available now.
PHP Australia Conference: 12-13th March 2015, Sydney
PHP Australia is the country's first ever PHP conference, aimed at proficient developers, new developers and people who care about developers. Among the amazing international and local speakers sharing their knowledge at this event is none other than Rasmus Lerdorf.
Nomad PHP US - January 22nd 2015 20:00 CST
/Regex Makes me want to weep/give up, presented by Brett Florio. REGEX! Love it or hate it, sometimes you actually need it. And when that time comes, there’s no reason to be afraid or to ask for help from that one weirdo on your team who actually loves regular expressions (I’m that weirdo, fwiw). This session is geared towards beginner and intermediate regex users, and will cover various topics using practical examples that you might encounter in your own projects.
Nomad PHP EU - January 22nd 2015 20:00 CET
Encryption, It’s For More Than Just Passwords, presented by John Congdon. As developers, most of us are familiar with password hashing and encryption, but are you doing it in the most secure way? A simple md5() isn’t going to cut it. Then there are times you want other data encrypted in a way that you can decrypt it as well. Think Social Security Numbers, Credit Card Numbers, and any other sensitive data that you still need to work with. We will discuss best practices for protecting your data.
Laravel IO Podcast: Episode 20 - The War on CRUD
We talk about configuration and queue updates, architecture and CRUD apps, choosing the right persistence solution, and a lot more.
Three Devs and a Maybe Podcast: Three Devs and a Aimee
It is the first show of the new year! In this weeks episode we first reflect on how our holiday breaks went, and what happened to Edd's face?! Fraser's move up to Greenwich is next discussed, including how useful the taxi app 'Uber' is. We then move on to talk about Mick's experiences compiling Apache and PHP from source, along with CodeIgniter's decision to maintain 5.2 support. This leads on to a conversation about the upcoming PHP UK Conference, along with tuning queries for the database query planner. Finally, we highlight the differences between Apache and nginx, along with their use of PHP-FPM.
Voices of the ElePHPant - Interview with Liz Smith
This week Cal Evans chats to Open Source advocate Liz Smith.
MageTalk Magento Podcast #18
I Got Plight For Days.
Acquia Podcast: Explaining Drupal, The Pragmatic Choice – Meet David Aponovich
David Aponovich knows the web content management business far beyond just the "Drupalsphere". I was thrilled when he joined Acquia from Forrester Research in 2014, since I believe his voice, experience, and insight can help convince more businesses of the benefits of using Drupal, especially given the upcoming release of Drupal 8. He and I sat down at DrupalCon Amsterdam – David's first Drupal community event – and talked about digital transformation from the "information superhighway" to today, corporations and open source software as a pragmatic choice, and how the definitions of cooperation and competition are changing in business today.
PHP Town Hall #34: dev/hell Mashup
This is a big one. We’ve had Chris “The Grumpy Programmer” Hartjes and Ed “The Grumpy Podcaster” Finkler on our show before, but this time they both join us for a mashup! We talk about the perils of being opinionated people speaking in public. Chris basically just says fuck Reddit and all of its minions of evil, and Phil gives a bit of insight into why he gets stuck in so many arguments. We move on to chatting about PHP, and how people feel about a strong new demand for more async features. Is it better to leave that to other tools, or should we try and fit some into the language itself, and the ecosystem around it? The last chunk of this podcast ends with a discussion around CodeIgniter 3.0 supporting PHP 5.2 and up. Should it be higher? Is it feckless to release like this? Should this be a documentation change to warn users away or a hard change to make it not even work there?
This is the third edition of David Powers' highly-respected PHP Solutions: Dynamic Web Design Made Easy. This new edition has been updated by David to incorporate changes to PHP since the second edition and to offer the latest techniques - a classic guide modernised for 21st century PHP techniques, innovations, and best practices.
To post a job advert please contact [email protected]
Fuzzy Matching Project Work
We are looking for someone to help on a specific project which will involve matching products on one website with products on another website. Someone with skills and demonstrable experience of matching algorithms is a necessity. If you can’t prove that you can do this kind of work please do not contact us. For the right person there is ongoing exciting work. In the first instance please contact us at [email protected] with “Fuzzy matching project” as the subject and we will then create a shortlist, providing the shortlist with information about our company.
Toptal PHP Developer
Freelance with Companies like Airbnb, IDEO & JPMorgan. Work on special projects with great companies through Toptal. Set your weekly/hourly rate, and work from anywhere in the world as an elite PHP developer. See if you have what it takes!
Interesting Projects, Tools and Libraries
LabbyBundle is a Symfony2 bundle for retrieving database and assets from one stage to another.
PHP library for working with recurrence rules (RRULE); meant to help with recurring calendar events.
Read and write INI configurations.
WebDAV Framework for PHP.
PHP Wrapper for Lob API.
A micro PHP framework.
PHP HTML Markup generator.
Event based, MVC, lightweight and fast PHP framework.
PHP ODM for MongoDB.
A package to manage Head Meta Tags.
A library to read tags from DocBlocks in PHP class files.
Framework designed to allow you to quickly and easily develop WP themes based on configuration and data structures.
Provides an error handler for PHP that can execute a stack of handlers for various purposes.
X.IO integration library for PHP.
Utility belt for improving the way you build Wordpress plugins and themes.
Surikat is a full stack framework for web development.
API ORM toolset for PHP.
Excellent template engine for PHP.
Please help us to keep doing this each week by visiting our sponsor:
Get Instant Confidence
A powerful online course to help you to be a more confident person. Purely online and completed in 45 minutes.
So, how did you like this issue?