Jump to Navigation

The LiquidPHP Mission

The mission of the LiquidPHP project is simple; develop the latest and greatest website management software. Traditional PHP software doesn't utilize the full potential of the ever advancing PHP and XML languages, but LiquidPHP isn't traditional software. LiquidPHP uses the full potential of object-oriented PHP with the power of XML, XSD, XSL, and XPath. All of the major components of LiquidPHP have been designed to be extensible. All calls to abstracted features like internationalization, database queries, configuration queries, user browser feature lookup, error and exception handling, templating engine, and more can be replaced with user developed handlers. Safety features like superglobal wrappers, limited database users, and filesystem permission checking ensure that the system is not compromised. Advanced users can obtain developer editions with well documented interfaces to make new features and functionality. The novel LiquidPHPGen software can be used by hosting companies to manage the new LiquidPHP installations of their users and even to create one central installation of LiquidPHP that will be used by everyone.

How Far Along is LiquidPHP?
Current Version: 2.0.1 Alpha
Current Status: Active Development
Release Date: Late 2012 to Late 2013

Using the Singleton Principle Part 2; Ignoring Part 1

I suppose it could be argued that the same problem plagues all design patterns; when they are applied incorrectly they begin to inhibit your software more than they enhance it. The Singleton pattern, even though I previously thought it was THE creational pattern to use in every case, is not the only design you should rely on when developing software. In fact, there may not really be very many cases where its usefulness outweighs its disadvantages.

This Station is Non-Operational

Well, I don't think anyone will be too surprised when I say that progress on LiquidPHP has come to a halt. I'm taking some time to reorganize and to work on some smaller projects. It is my intention to complete LiquidPHP someday; unfortunately, I just don't have the time or resources necessary to complete such a task.

If anyone is interested in helping with my side projects or if you want to continue sharing in the LiquidPHP experience, you can join us on IRC at irc.liquidphp.net channel #LiquidPHP.

I Still Remember How To Breathe

Hi humans.

The LiquidPHP website has been pretty dormant for a long time (meaning, nothing new has been posted since late 2009), so I decided to finally log in to this home page management thing and actually put something up on the website.

Tip of the Day: It doesn't matter how many alarms you set on your cell phone if it runs out of battery overnight.

More New Software in Development

One unfortunate shortcoming I have found about PHP is that it has no naitive support for TAR archives. This is especially important when creating GZipped archives because GZip doesn't support directories, so usually a tarball is created first eliminate this problem. I did, however, find a good looking PEAR package that would take care of this for me, but I didn't really want to install PEAR on my system for this one package. And, I realized that creating any software relient upon PEAR would probably lead to too many people shying away.

New Software in Development

If you've been following all of the updates on our Twitter, http://twitter.com/liquidphp, you can see that I've been hard at work for one of the secondary modules of LiquidPHP, the SiteBack module. The same reasons for creating LiquidPHP prompted me to create LiquidPHP SiteBack; there are many other scripts out there to do the job, but none do exactly what I want. A lot of these are plauged with few, if any, options, poor user interfaces, excessive resource usage, and using commonly disabled PHP functions like exec().

Using the Singleton Principal to Enhance Software

LiquidPHP's use of well-established programming patterns was discussed pretty well here, when the announcement was made LiquidPHP would be following the MVC pattern very extensively. The MVC pattern addressed one of the critical questions to how LiquidPHP would accomplish the goal of being extremely extensible and modular. Now, there is another goal to accomplish and another pattern with which to accomplish it.

 

Backwards Compatibility from PHP 5.3

LiquidPHP is aimed to be a very compatible piece of software. Support for many HTTPd servers and SQL servers is planned and is in development. But, at the same time compatibility doesn't rank as highly as overall functionality, for the most part. Forcing PHP 6 developmental snapshots is a bit extreme, but PHP 5.3 has been a stable release for months now and boasts huge upgrades and bug fixes.

 

The Model, View, Controller Programming Pattern

It is hard to differentiate what LiquidPHP will be from what every other PHP software is already, but I recently discovered a good article from Wikipedia on the Model-View-Controller programming pattern. Without realizing it, LiquidPHP has been following this design extremely closely and I think comparing LiquidPHP to such a well established system will be a useful aid in showing its true power.

Why Use Object Oriented Programming?

A while back I came across an article relating to another PHP software's loose interpretation of object oriented programming, that is, there was no use of the PHP "class" type nor any of the benefits thereof. The only argument I saw in favor of this system was that it reduced execution time because PHP did not have to create the class and just had to execute the code.

 

I'm not 100% sure if this is true nor how much it would affect a large application like LiquidPHP. But, there are a significant number of benefits as well to PHP's OOP that I think cannot be neglected.

Subscribe to LiquidPHP RSS


by Dr. Radut.