Just a quick note - Similar to my previous approach in JavaScript Stefan Esser from Month of PHP Security successfully tried to deobfuscate a PHP script today.
Read More
Small-scale refactoring is usually composed of small changes, which keep the system working all the time; you extract some lines into a new method, or add a few variables to substitute comments with their descriptive names.
As we move towards a larger scale, we find that sometimes little jumps are needed, such as changing an entire algorithm instead of only moving code around.
Read More
I recently had a chance to catch up via e-mail with Ben Waine, winner of the 2011 PHP on Azure contest. The announcement of his victory was actually made at the Dutch PHP Conference in May, but we’ve both been extremely busy since then, so exchanging e-mails has taken a while.
Read More
Using a PHP script or code to list all available MySQL databases in your account is extremely easy. This article will quickly show you how to get that done.
Read More
Creating a way to show how many users are currently visiting your website has become a fad amongst webmasters. It's a cool way to show off your skills has a coder and to show your visitors how many other people are looking at the same thing they are. You don't want to miss the bandwagon again do you? This script is also an excuse to brush up on some mildly advanced MySQL queries.
Read More
Amazing small little image resizing code which will resize and display images quickly.
Read More
Aah, the old programming language debate, much akin to comparing religions or political parties – bound to end up in a fist fight. Some will argue that as long as you choose the right tool for the job, it doesn’t matter, but I’ve found it’s always the little things that break the camel’s (or in this case, the programmer’s) back.
Read More
Testing becomes difficult when you consider objects at the boundary of a system: databases, web services, and other integration nightmares.
The issue with adapters is that sometimes the mechanism is so complex that you have to use a Fake instead of a simpler Test Double. For example, sqlite in-memory databases instead of the real database is a Fake, since you do not stub the calls to the adapter
Read More
This week I've been using phpMyAdmin for what feels like the first time in years. I'm happier at the command line, but needed some graphical representation of information and easy ways to export example queries for the book I'm working on.
Read More
PHPFog is one of the first Cloud Hosting solutions dedicated specifically to PHP. On the Lately in PHP podcast episode 13, Manuel Lemos and Ernani Joppert interview Lucas Carlson, founder and CEO of PHPFog, to tell us about the advantages of using a Cloud Hosting service that is optimized to address needs that are specific to PHP Web sites and applications. They also comment on the PHP 5.3.6 fo
Read More
I recently wrote a PHP script to scrape data from a .NET application. In the process of developing this script, I noticed something interesting that I thought I’d share. In this case, I was using the cURL extension, but the tip isn’t necessarily specific to that. One thing my script did was submit a POST request to simulate a form submission. The code looked something like the sample below.
Read More
The scenario of today: a variable is being reused for different assignments; the kind of data that gets stored into the variable may be related on a spectrum from number vs. the same updated number to boolean that is substituted by an object graph.
Read More
Nowadays developing web applications usually requires a flexible process due to changing business logic, shifting priorities or new insights. Besides choosing the right methodology this also requires designing the application in such a way that this flexibility can be achieved.
Read More
KDevelop is a free, open source Integrated Development Environment. After two eventful months the KDevelop team is happy to announce the immediate availability of KDevelop 4.2.3. This is a stable release which fixes dozens of bugs.
Read More