PHP resources

Whether you're starting out in PHP or you're an advanced developer looking to add extra functionality, chances are you'll eventually try to hunt down some pre-developed, free classes/scripts that will save on precious development time. Below is a listing of what are generally perceived to be good PHP class libraries.

ADODB - Database Abstraction Class (GNU LGPL License + BSD)
ADODB is a great class library that allows the developer to initiate connections to multiple database types using the same code. ADODB also allows the use of database sessions and performance monitoring. It's a great timesaver and allows your database applications to become more portable between different database types.

Currently, ADODB supports the following databases:
 * MySQL
 * Interbase
 * Sybase
 * PostgreSQL
 * Oracle
 * Microsoft SQL server
 * Foxpro ODBC
 * Access ODBC
 * Informix
 * DB2
 * Sybase SQL Anywhere
 * generic ODBC
 * Microsoft's ADO.

Project page:
 * http://adodb.sourceforge.net

Smarty Templates (GNU Lesser GPL License)
Smarty is a popular template system that not only assists with seperation of PHP and HTML, but also business logic with presentation logic. This means that you can create applications which visual appearance that can be radically changed by modification to template files. Smarty has a short learning curve and once mastered will allow the developer to create more advanced, portable applications.


 * Smarty - A more detailed wiki article about Smarty
 * http://www.smarty.net

Savant2 (GNU Lesser GPL License)
Savant is another template system, similar to that of Smarty. Savant, unlike Smarty, is based on the PHP language itself, meaning there's no template compiling overhead with less of a learning curve. Savant does come with a compiler, if you allow external editing to your templates, however it's not as robust as Smarty's compiler and really not needed if you and/or trusted users are the only ones editing templates. Savant can be installed independantly or as a Pear extension. Savant2 is compatible with PHP5 when error is set to ~E_ALL or less. Savant3 is compatible with PHP5 under ~E_STRICT.


 * http://www.phpsavant.com/

DOMIT - XML/DOM parser (GNU Lesser GPL License)
DOMIT makes parsing XML documents a breeze. It also includes a fantastic RSS reader that will allow the developer to easily include RSS feeds on a website.


 * http://sourceforge.net/projects/domit-xmlparser

EzPDF - PDF Creation (public domain license)
EzPDF has been around for a while and is one of the easier-to-use PDF creation tools available.


 * http://www.ros.co.nz/pdf/

Html Filter (GNU General Public License)
This isn't a class, unfortunately, but it is a great set of functions that allow very fine control over HTML content. Basically it's a filter you can customise to replace and filter suspect HTML content.


 * http://www.linux.duke.edu/projects/mini/htmlfilter/

Image Toolbox (GNU General Public License)
Image toolbox is a wrapper class that lets the developer perform common tasks related to the manipulation and creation of dynamic images. Create thumbnails, noise images or simple re-size images and save as a new format. These tools can perform nearly every type of common task.


 * http://sourceforge.net/projects/image-toolbox
 * http://www.phpclasses.org/image_toolbox

PHPMailer - Mass mailing solution (GNU Lesser GPL License)
PHP mailer is a solution that will allow the generation of emails based on php's mail function or on smtp server settings. Probably the best mass mailing solution for PHP, and easily integrated into existing code.


 * http://phpmailer.sourceforge.net/
 * A PHPmailer example is available on this wiki.

PHPSniff - Browser Detection for PHP (GNU Lesser GPL License)
PHPSniff provides a fairly comprehensive detection of browser types and settings.


 * http://sourceforge.net/projects/phpsniff/

Rc4Crypt - Encryption/Decryption (GNU General Public License)
This is a lightweight class designed to encrypt data from plain sight.


 * http://www.devhome.org

PHPSnips - PHP Snippets (license unpecified)
PhpSnips is a snippet resource for all sorts of functions snippets and classes. It is all copy and paste, for snippets that can be used for private or commercial use. You can sign up to add/edit your own snippets. Alternatively, if you do not wish to sign up, you can still use the other functions, such as vote on snippet's quality or comment on a snippet.


 * http://phpsnips.com/