PHPRO Articles

PHP SKF Framework Released To Public

Over the years, we here at PHPRO.ORG have been using a light weight framework p ut together to ease the suffering of the one-size-fits-all frameworks that pollute the PHP space. As time has passed, others have adopted the SKF Framework for thier own, and customer sites. Now, due to popular demand and threats, we are making this freely available to the public. So, what makes this framework any different? The ease of creating modules, the ability to use whatever classes you are familiar with, namespace support, and not least, it is a light weight framework. There are no dependencies, you can use whatever libs, db abstractions, mail classes, whatever. The greatest benefit of the SKF Framework is it just works out-of-the-box. No initial configuration is needed to the framework. Drop it in your web root and it just works! Check it out now

PHP 5.3 Released

Today marks the release of the much awaited 5.3.0 version of PHP. The release contains many of the features that the development community have been requesting for some time, along with a plethora of bug fixes and optimizations to boost reliablity and performance.

When Tutorials Attack

In a recent series of tutorials released by SUN Developers Community a few notable omissions glared back from the web page. Like many PHP tutorials that pollute the web, there was a little, or no error checking, or error handling in the provided code examples. These omissions are paramount to development in any language, particularly for those who's livelihood relies on the strength of perceived enterprise readiness of the technology. To the new comer, these tutorials are the source of truth, and quality code examples are required if these new comers are going to produce quality code.

Creating Secure Passwords

The greatest security risk to password protection, is the user who created the password. Most developers have at sometime needed to create a system where passwords were required. Password protection comes in various implementations, from accessing a single file, or gaining entry to a system, or administration panel. The protection provided by passwords however, is only as secure as the password itself. A password that is predictable, or easy to guess can leave your security model less than adequate. However, it is not just end users who are at fault, as there is plenty of finger pointing at developers who permit insecure passwords to be used.

Embedding PHP In CSS

Perhaps one of the most frustrating aspects of using PHP with websites, is getting variables into CSS. Having variables stored in an ini file, config file or even a database can make the updating of the look and feel of a site simple, however, CSS files, by default, do not parse PHP. Of course, the web server could be told to parse CSS as PHP in the same way it does for HTML. AddType application/x-httpd-php .css With the addition of the above line in httpd.conf or in a .htaccess, the web server will now parse PHP code that is within the CSS files. This is one solution, but a better method may be at hand.

Difference Between isset empty is-null

Quite often in code reviews I have come across code that checks for empty or null values, or if a variable is set. Many of these checks fail as the wrong function is being used to assert the correct value. While it is important to be checking values, it is equally important to understand the difference between the different methods of checking and testing values for empty, null, or if they are set.

Materialized Views And Cache Tables

The use of Materialized Views in master slave replication environments provides an excellent method of reducing load on the master database server. However, this process seems to be finding its way more and more into single database design under the new name of Cache Tables. Does it have a place or is this redundancy breaking third normal form?

Zend Framework Example Site

The Zend Framework has now attracted a small community of developers and more and more new comers are attracted to it. The Zend Documentation is plentiful, yet vague. Without any real guidance or specific examples to get a site up and running. This example site hopes to introduce the newcomers to Zend Framework in a friendly way, by providing a simple modular site layout and can have the newcomer up and running in minutes, rather than the long hard yard of sifting through docs which might as well be hieroglyphics to the those new to the framework. This is release 0.0.1 of the example site, with new additions in the planning and user feedback and requests welcomed.

Application Configuration

Application configuration values are kept in a variety of formats and accessed in a variety of was. This article presents the reader with four options, ini file, xml file, php array file, or database. Each configuration method has its strengths and weaknesses and each is presented here. This article has been extended to include some indicative scaling when the number of config options is taken in thousands. This is not for production, but to test which of the confuguration options scales best.

Namespace Changes Separator Again

The introduction of namespaces into PHP has been a long and complex task that has taken many twists and turns. Sometimes issues with PHP namespaces simply run into a brick wall and new solutions need to be found. With the push to get PHP 5.3 out the door, the PHP developers have been working long and hard to get namespaces functional and usable in time for release.

Web Accessability

How often have you heard developers spouting cliches such as "best practices" and "accessibility" and "web standards" in a bid bolster their position. Certainly many developer, myself included, do indeed try to create web sites that are both compliant and accessible. A recent task I undertook to develop a web site for the blind and visually impaired, left me humbled at how difficult it can be to put into practice those cliched paradigms.

The Future Of PDO

A recent surge in the number of developers willing to work on PHP database extension and PDO means great changes ahead for the database extensions and for the future of PDO. Leading the push with the PDO-MySQLnd driver is SUN/MySQL who have provide much code and testing to get the PHP extension up to speed.

SUN MySQL PostGreSQL Adoption

In January of 2008 SUN Microsystems announced its intention to purchase MySQL. This announcement was met with mixed reactions with some seeing this as a positive move and reason to migrate to MySQL while others saw it as a threat to the Open Source movement and migrated to other databases. With a little number crunching some anecdotal evidence can be gained to see how adoption levels have changed since that time.

SUN MySQL Clears The FUD

The recent aquisition of MySQL by SUN Microsystems set the open source community buzzing and jumping for alternatives and more often, to incorrect conclusions regarding the future of the open source giant, MySQL. Have we all been enveloped by the Fear Uncertainty and Doubt that has been part of the hysteria regarding this issue? In response to a recent PHPRO article on the matter, the MySQL/SUN camp has replied to clear the FUD and give an insight into what the future has in store for MySQL/SUN

Zend Framework Lead New MVC

Former lead developer of Zend Framework, Mike Naberezny has now headed up a new maintainable framework that is gaining in popularity among developers who insist on a small footpring for their code base. Named the Maintainable Framework in comes ready to build any application where MVC is a requirement.

Companies Using PHP

Often times the question is raised, what major companies are using PHP. The PHP language is used by many companies, large and small, to various degrees. In some it is a major component of their structure while others use a multiplicity of languages, including PHP, as part of their total IT solution. Here are some major companies known to be using PHP.

Whats Hot And Whats Not

An article here tells whats not hot. Whats hot will follow but it is time to clear the air of some old net buzzwords that have fallen into disuse, yet some persist in thinking they are cool. Dont get caught using these terms or risk being labelled as something equally outdated.

Google App Engine

Google has recently opened up their API for a selective ten thousand developers with many tens of thousands more lined up to get access to what is the hotest access in town. But many are not so sure that the Google offering is all it seems to be, and comparisons to a wolf in sheeps clothing abound with concerns that this may be just another bid by Google to access cheap applications without the added cost of in house development.


It is no secret that SUN have recently purchased the MySQL database and have plans which include closing source on code they develop for it. This is well within their rights, however, should the open source community continue to support MySQL in its new Enterprise incarnation?

Pro PHP Book Review

First time author Kevin McArthur has launched his first book directly at advanced PHP users. In the face of many other PHP books circulating now, what does this new venture have that others do not? Named Pro PHP it is not immodest and promises much but what does it deliver? See what the all the hype is about.

Fixing The Internet

In a recent article, internet developer Noel Forbes outlines what the problems with internet is and how a new path forward may be found within already existing technologies. Not content with simply whining about incosistencies with various among Internet developers, Forbes shows a model for a new Internet. Could we be seeing the first murmurings of Web 3.0.

MySQL Error Codes

When developing sites or applications with PHP and MySQL you have probably recieved at some time an error message or error code that is seemingly meaningless. Here is a table of MySQL Server error codes and thier error messages. Client codes and messages

Tainted Love

A proposal from Wietse Venema from IBM Research has set the PHP internals tongues wagging. Wietse is the man responsible for such legendary applcations as Postfix and is co-author of the Coroner's toolkit, SATAN, and is also the original author of TCP Wra