Site News: Job Postings for the week of 07.25.2010
NETTUTS.com: How to Use CakePHP's Access Control Lists
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 the database tables and the full scripts for the Users controller, a model to hook into the database and the view for output to the user. They include methods for denying access, checking permissions, and modifying a user's permissions.
Developer.com: 10 Experimental PHP Projects Pushing the Envelope
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 experimentation is as strong as ever!Here's their list of the ten projects they see as trying to stretch the language to its limits:
Ask About PHP: Codeigniter: Creating dynamic graphs using JQuery and FusionCharts
On the Ask About PHP blog today there's a new tutorial about integrating the OpenFlashCharts tool into a CodeIgniter application to display data.
I recently upgraded some of my Codeigniter applications that used OpenFlashCharts to using FusionCharts Free, and at the same time incorporated some javascript to allow me to change the graphs dynamically at the client-side. This has greatly improved the usability of my charts and graphs that I pump out. As such, I thought I would share how I did this and hopefully someone will find it useful as well.He walks you through the steps needed to install - putting all of the files in the right places, creating a controller to use the scripts and a view to output the finished chart. A demo of the end result is also included.
Chris Hartjes' Blog: Snakes and Elephants Playing Nice Together: PHPUnit and py.test with Hudson
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 Py.test functionality for Python with the continuous integration tool Hudson to run them both as a part of the same build process.
Symfony Project Blog: Translations (Documentation)
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 for.Full details on what they need help on and where/how to get involved are on the documentation page of the new Symfony 2 website.
PHPBuilder.com: The PHP Content Management/Framework Upgrades in ExpressionEngine 2
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 latest revision:
- CodeIgniter Integration
- Redesigned Control Panel
- Improved Template Management
- Integrated File Manager and Image Editor
- Accessories (a sort of add-on feature)
You can find out more about ExpressionEngine on its site.
Site News: Popular Posts for the Week of 07.30.2010
- 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.
- Sebastian Bergmann's Blog: Using HipHop for Static Analysis
- NETTUTS.com: 20 Steps to a Flexible and Secure WordPress Installation
- Site News: Job Postings for the week of 07.18.2010
- Nick Belhomme's Blog: PHP 5.3.3 Namespaces
Gonzalo Ayuso's Blog: Clustering PHP applications. Tips and hints
In a new post to his blog today Gonzalo Ayuso offers some tips for those out there wanting to cluster their PHP applications effectively.
Sometimes a web server and a database is fair enough to meet our project requirements. But if the project scales we probably need to think in a clustered solution. This post is an attempt at being an unsorted list of ideas working with clustered PHP applications. Maybe more than a list of ideas is a list of problems that you will face when swapping from a standalone server to a clustered server.He touches on a few different topics you might need to consider:
- consistency in source code
- writing to the file systems
- deployment problems
- authentication/authorization issues
- handling sessions/logs/cache files
IBM developerWorks: Build a web-based notification tool with XMPP
On the IBM developerWorks site there's a recent tutorial about using PHP and Javascript with the XMPP to create a small web-based notification tool (called Pingstream).
Real-time web applications are networked applications, with web-based user interfaces, that display Internet information as soon as it's published. Examples include social news aggregators and monitoring tools that continually update themselves with data from an external source. In this tutorial, you will create Pingstream, a small notification tool that uses PHP and JavaScript to communicate over the Extensible Messaging and Presence Protocol (XMPP), a set of XML technologies designed to support presence and real-time-communications functionality.You'll need to already have the usual software installed - PHP, Apache and MySQL - as well as a few others: Openfire, jQuery, Strophe, XMPPHP and LastRSS. They introduce some of the concepts behind real-time messaging, the XAMPP protocol and, of course the code to show how to create their service.
WebHostingHero Blog: A Look at the Original PHP Developers
On the WebHostingHero blog today there's a new post going back to the roots of the PHP language and some of the original contributors like Rasmus Lerdorf, Zeev Suraski and Andi Gutmans.
When PHP began in 1995, it represented a fork on common object oriented programming languages. Designed to help provide scripting for the web, the language took on a life of its own as it became one of the primary web development standards. Today, PHP is used by millions worldwide and powers a majority of sites.They talk about how some of the original developers are active in helping to better the languages (directly and indirectly) and how the advocacy of the community has helped it grow even stronger over the years. There's also mini-spotlights on each of the three mentioned above.
Hokuten.net: A WordPress User's Guide to Drupal
If you're a WordPress user and have been wanting to get into Drupal, you should check out this guide on hokuten.net. It gives you information on two main points - installation and theming.
Anyone who has worked with both knows that anything you can do in WordPress, you can do in Drupal, and vice versa. It just takes some elbow grease. [Drupal] is a great thing to learn because of its broad market, but WordPress developers might find some difficulty getting acclimated'"Drupal has a much higher learning curve.They mention some of the differences between the installation of the two (creating settings files, making additional directories) and a table showing the correlating theme files between the two.
NETTUTS.com: 20 Steps to a Flexible and Secure WordPress Installation
On NETTUTS.com today there's a new tutorial about installing and configuring a secure WordPress installation for your site.
A comprehensive WordPress installation, albeit simple to produce, often requires multiple steps '" many of which can easily be omitted accidentally. How many times have you forgotten to customize your permalink structure? How about adding in a sitemap plugin? What about changing your timezone? If you've installed WordPress more than once, chances are you've missed something. Take the following steps and you'll never miss anything again.Some of the steps are larger - "Get WordPress from SVN", "Add .htaccess Rules", "Apply the 4G Blacklist" - and some are smaller changes like setting up profiles, changing read/write/discussion settings and generating a sitemap. This is a great guide even if you already have WordPress installed.
Nick Belhomme's Blog: PHP 5.3.3 Namespaces
In a new post to his blog Nick Belhomme takes a look at namespaces in PHP 5.3 - what they are and how to use them (complete with code snippets of a small sample project).
With PHP5.3.3 recently released I really feel it is time that php developers are taking namespaces seriously. If you don't I guarantee you will be out of a job within five years. Namespaces are a fundamental part of the future of PHP.He also makes his sample project available for download so you can follow along a bit better. He shows how to create a namespace, how to use them in both simple and more complex examples.
Marco Tabini's Blog: PHP 5.2 support ends just as its adoption begins
In a new post to his blog Marco Tabini has voiced his opinion on the decision made by the PHP development group to set the end of life of the PHP 5.2.x series with the latest release (5.2.14).
n case you missed it, the PHP team has just released 5.2.14, which effectively ends active support for the 5.2 branch. [...] The logic behind this decision is...puzzling.He mentions the recent announcements of a few large PHP-based projects to officially support PHP 5.2 and how, because of the large jump in functionality from pre-5.2, it might be a good idea to reconsider this (preemptive?) retirement. He adds that making a move like this without consideration to these larger products could reflect negatively on the language itself. Be sure to check out the comments for more views from other members of the community.
Sebastian Bergmann's Blog: Using HipHop for Static Analysis
In a new blog entry today Sebastian Bergmann quickly shows a method of performing some code analysis on code transformed by HipHop for PHP.
HipHop for PHP, the source code transformer that turns PHP code into C++ code that can then be compiled with g++, can also be used for static code analysis to find problems in PHP source code.He includes a script that creates an XML document that both Checkstyle and PHP_CodeSniffer can use to check for a valid format on his sample "CodeErrors.js" file. He includes the script to create this XML file.
ZendCasts.com: Autocomplete Control with ZendX_JQuery
New from ZendCasts.com today there's a new screencast taking their integration of jQuery with the Zend Framework to the next level - creating an autocomplete control.
In the last video, I discussed ZendX_JQuery integration. Now we're going to take it a step further by developing our own jQuery autocomplete control, using a country list, PHP 5.3 and anonymous functions.You can watch the video via the in-page player and you can download either a copy of just the project or browse the whole repository for this and other projects.
WordPress Blog: PHP 4 and MySQL 4 End of Life Announcement
There's some huge news from the WordPress blog today - an end of life announcement that the popular blogging platform will no longer be supporting PHP4 and MySQL 4.
Our approach with WordPress has always been to make it run on common server configurations. We want users to have flexibility when choosing a host for their precious content. Because of this strategy, WordPress runs pretty much anywhere. Web hosting platforms, however, change over time, and we occasionally are able to reevaluate some of the requirements for running WordPress. Now is one of those times. You probably guessed it from the title '" we're finally ready to announce the end of support for PHP 4 and MySQL 4!The last version that will fully support PHP4 will be v3.1 and will be released in late 2010. The next version (v3.2) will jump the requirement up to PHP 5.2. According to their statistics, only around 10% of the installs are on PHP4. They also found that less than 6% of users were on MySQL 4. See the full post for complete details.