Job postings for the past week:Job Posting: Broadcast Interactive Media Seeks PHP Developer (Madison, WI)
Job Posting: Return Path, Inc. Seeks PHP Web Developer (Broomfield, CO)
I was writing about new features in the upcoming PHP version (5.4, 6.0?) before. Today's topic reads like this in the NEWS file:
- Added array dereferencing support. (Felipe)
Now you might wonder what this typical short entry means. when doing OO-style PHP you might make use of a sntax feature which one might call "object dereferencing" which looks like this:
So one can chain method calls or property access. Now for a long time people requested the same thing for array offset...
This may be premature, but it looks like I'm live with the new site design and new blog engine. The design is html5 (i.e., it looks great to me in Chrome, not sure what it'll be like elsewhere) and the new engine is jekyll.
What does this mean for you, my loyal reader? Not much, really. I believe my port is transparent.Actually, the only problem I'm seeing right now is related to disqus-some of my comments that I know are imported are not showing up yet. I just dumped nearly 2,000 comments into their...
On NETTUTS.com today there's a new detailed tutorial on how to use the access control list functionality that comes with the CakePHP framework.If you're building a CMS, you'll probably need different user roles'"superusers, admins, users - with different permission levels. Too complicated to code? Enter CakePHP's ACL (Access Control Lists). With the right setup, you'll be checking user permissions with just one line.They talk about what "access control lists" are but shows you an example of one including...
On Developer.com today there's a new post listing ten experimental projects that are "pushing the envelope" in the PHP languages:As the saying goes, "Just because you can do something doesn't mean you should." But in the world of programming, stretching boundaries is just part of the fun. The PHP community has never been one to shy away from bending their favorite language more ways than a shopping mall pretzel, and as the ten wild projects introduced in this article indicate, the fervor for...
The Zend Framework team announces the immediate availability of Zend
Framework 1.10.7, our sevent maintenance release in the 1.10 series. This
release includes around 60 bug fixes.
For those uses of Zend_Service_Twitter, please ensure you
upgrade to 1.10.6 or 1.10.7 ASAP. These releases introduce a change in the
Zend_Service_TWitter API that enforces the use of OAuth by
default when using methods that require authentication. The change was
introduced to help prepare Zend Framework users for the...
In the latest post to his blog Chris Hartjes talks about how he got python and PHP working together as a part of his testing with Hudson.These days, it's becoming increasingly harder to find web applications that are homogenous in terms of the tools they use to Get Things Done. [...] Loosely coupled components, passing messages to each other, is great architecture to try and build if you have both the skills and patience to make it work.His technique combines the testing of PHPUnit for PHP with the...
Have a flair for translation and want to help out an open source project in need? Consider helping the Symfony Project with their translation efforts for their manual.The Symfony2 documentation is written in English and many people are involved in the translation process. First, become familiar with the markup language used by the documentation. Then, subscribe to the Symfony docs mailing-list, as collaboration happens there. Finally, find the master repository for the language you want to contribute...
Today we know about the benefits of Test Driven Development and normally also
start new projects using TDD. Most projects from the last couple of years
integrated this method in their daily development process, which often results
in in good code coverage results of 90% and above. But what about all the
other old projects, you still manage in your daily work?
On PHPBuilder.com there's a recent article detailing some of the updates in the latest version of the ExpressionEngine product (CMS) from EllisLab.This popular Web development solution recently took another major step forward with the July 12 release of ExpressionEngine 2.1, the product's first major upgrade in several years. Version 2 sports a number of new features and significant improvements over its predecessor, many of which I'll highlight in this article.He touches on a few of the updates in this...
Popular posts from PHPDeveloper.org for the past week:I Am Learning PHP Blog: Do Web-Scripting Languages Really Need OOP?
PHPClasses.org Blog: Lately in PHP podcast - PHP for Android, PHP 6 canceled, APC in PHP 5.4
JoomlaBlogger.net: How to understand Joomla templates in five easy steps
WordPress Blog: PHP 4 and MySQL 4 End of Life Announcement
Zend Developer Zone: Twice the Amount of Bugs and Twice the Amount of Winners!
John Hamelink's Blog: Top codeigniter libraries I can't live without.
I finally sat down and started work on a sandboxed DOM API. Originally I was just going to develop a new framework because the DOM is messy but instead I decided it would be cool to have a safe simulated DOM instead and build a framework on top of that.
It isn't complete yet and there's still a lot of work to do but it's working pretty good. I still need to run some tests on it and try to break it but I don't have time at the moment as I need to do other stuff.
One of the problems making a...
We are currently working on an app that uses a number of technologies, including PHP, Python, and MongoDB. Recently, a need arose to use sequential identifiers for users, similar to an auto_increment column in MySQL.
If you've used MongoDB, you might be familiar with the default behavior of using a UUID as the primary key. This is convenient, especially if you partition your database across servers, because you don't have to coordinate the primary key in any way. If you use sequential identifiers (as I...
In a new post to his blog today Sean Coates talks about some of his work with Iterators in PHP and how, despite a bad example in the manual, he solved his issue (and updated the PHP manual too).In the back end, we have models that connect to CouchDB. These models implement the Iterator pattern to allow easy traversal of a record's keys. [...] Little did I realize that this implementation is very broken. [...] Over the past few years, I've implemented many iterators in this way, using PHP's implicit array...
On the TigerFish Interactive blog today there's a new post for Drupal-ers out there about using the SimpleTest plugin for Drupal 6 to run automated tests against Ajax callbacks.In Drupal 6's excellent SimpleTest module, a method called drupalPost() allows you to simulate a button press on a form by taking the form's data and using HTTP POST to submit it. But what if you want to POST data to an AJAX callback URL? By default, SimpleTest checks which submit button you have pressed, but of course, when...
On DevShed.com today there's a new tutorial about implementing the Asirra CAPTCHA system (from Microsoft) into your application for spam prevention.Unlike other types of captcha that utilize difficult text obfuscation techniques (such as Google reCaptcha), this system utilizes images of dogs and cats, such as those shown in this screenshot.They describe some of the reasons to use the system (hard to break, doesn't use sessions, easy to integrate) and how it works. They show how to implement the system on...
Earlier this week, I spent most of a day tracing through code in search of
the source of a bug that was causing part of our application to fail in
In the back end, we have models that connect to CouchDB. These models implement the Iterator pattern to allow easy traversal of a record's keys.
When I wrote the code to implement Iterator several months
ago, I dutifully checked the PHP
Manual and adapted the reference example that I found there:
public function current()
Jani Hartikainen has a suggestion for all PHP developers out there - stop using die() for handling errors!What's the most common pattern for error handling you see in beginner's PHP code? - That's right, do_X() or die('do_X failed);. That's nice and all, as at least you have some sort of error handling, but I think this way of handling errors must go. There is no place for it in modern PHP code - it's the worst way to handle errors, not much better than not handling them at all.He talks about why die()...
As tweeted by Fabien Potencier, symfony2 now has a aotranslationsa page on their site. If you read and write English and another language, they want you!