|
Our company has chosen PHP as a primary web developmemt language used
inhouse for fast building of flexible and scaleable web applications,
because of it's long-term track record of success with web enablement.
PHP is a widely-used general-purpose scripting language that
is especially suited for Web development and can be embedded
into HTML.
Much of its syntax/background is borrowed from C, Java and Perl
with a couple of unique PHP-specific features thrown in.
The goal of the PHP programming language is to allow web developers to write
dynamically generated pages quickly.
PHP generally runs on a web server, taking PHP code as its input and creating
web pages as output. It can also be used for command-line scripting and
client-side GUI applications. PHP can be deployed on most web servers,
many operating systems and platforms, and can be used with many relational
database management systems. It is available free of charge, and
the PHP Group provides the complete source code for users to build,
customize and extend for their own use.
PHP is installed on more than 20 million websites and 1 million web servers
While PHP was originally created by Rasmus Lerdorf in 1995,
the main implementation of PHP is now produced by The PHP Group
and serves as the de facto standard for PHP. Released under the PHP License, the Free Software Foundation considers it to be free software.
PHP allows developers to write extensions in C to add functionality to the PHP language. These can then be compiled into PHP or loaded dynamically at runtime. Extensions have been written to add support for the Windows API, process management on Unix-like operating systems, multibyte strings (Unicode), cURL, and several popular compression formats. Some more unusual features include integration with Internet relay chat, dynamic generation of images and Adobe Flash content, and even speech synthesis.
There are two projects which are bounded up with PHP and enhance its functionality and field of application:
- The PHP Extension and Application Repository, or PEAR, is a repository of PHP software code.
Stig S. Bakken founded the PEAR project in 1999
to promote the re-use of code that performs common functions. The project seeks
to provide a structured library of code, maintain a system for distributing code
and for managing code packages, and promote a standard coding style.
Though community-driven, the PEAR project has a PEAR Group which serves
as the governing body and takes care of administrative tasks.
Each PEAR code package comprises an independent project under the PEAR umbrella.
It has its own development team, versioning-control and documentation.
- The PHP Extension Community Library, or PECL
(pronounced as 'pickle') is conceptually very similar to PEAR, and indeed
PECL modules are installed with the PEAR Package Manager.
PECL contains C extensions for compiling into PHP. As C programs ,
PECL extensions run more efficiently than PEAR packages. PECL includes
modules for XML-parsing, access to additional databases, mail-parsing,
embedding Perl or Python in PHP scripts and for compiling PHP scripts.
PECL spun off from the PEAR Project in October 2003.
Originally it was called the PEAR Extension Code Library,
but it now operates independently of PEAR.
What are general PHP strengths?
- PHP is a stable, cross platform programming language
- It is used for mission critical projects in the public and private sectors
- PHP is Open Source software
- PHP can be deployed on most web servers, many operating systems and platforms
- PHP takes the best features from other languages, such as C, Pascal, Perl, BASIC, etc.
- PHP database interface supports third-party databases including such as Oracle, MS-SQL,
Sybase, Postgres, MySQL and many others
- PHP supports Unicode
- PHP is Y2K compliant
- PHP supports both procedural and object-oriented programming
- PHP is extensible. There are over 500 third party modules available from the PEAR and PECL projects
- PHP can be embedded into other systems
- PHP is one of the most popular web programming language due to its text manipulation capabilities and rapid development cycle
PHP is frequently updated and improved by its founders
The most popular PHP web site frameworks and web application engines are the following:
- CodeIgniter -
CodeIgniter is an open source web application framework for use in building
dynamic web sites with PHP. It enables developers to build applications faster
- compared to coding from scratch - by providing a rich set of libraries for
commonly needed tasks, as well as a simple interface and a logical structure
to access these libraries.
The first public version of CodeIgniter was released on February 28, 2006.
- CakePHP -
CakePHP is an open source web application framework written in PHP,
modeled after the concepts of Ruby on Rails, and distributed under the MIT License.
- Drupal -
Drupal (pronounced /?dru-pal/) is a free and open source modular framework and content management system (CMS) written in the programming language PHP. Like many modern CMSs, Drupal allows the system administrator to create and organize content, customize the presentation, automate administrative tasks, and manage site visitors and contributors.
Drupal is sometimes described as a "Content Management Framework"
as its capabilities extend from content management to enabling a wide
range of services and transactions.
Although Drupal does offer a sophisticated programming interface,
basic web site installation and administration can be accomplished with
no programming.
Joomla!-
Joomla! is a free open source content management system for publishing content on the World Wide Web and intranets. The system includes features such as page caching to improve performance, RSS feeds, printable versions of pages, news flashes, blogs, polls, website searching, and language internationalization. Joomla is licensed under the GPL, and is the result of a fork of Mambo.
The name Joomla officially ends with an exclamation mark, but this is commonly omitted.
- Mambo -
Mambo (formerly named Mambo Open Source or MOS) is a free software / open source content management system (CMS) for creating and managing websites through a simple web interface. It has attracted many users due to its ease of use. Mambo also includes more advanced features such as page caching to improve performance on busy sites, advanced templating techniques, and a fairly robust API. It can also automate many tasks such as web indexing for static pages. Mambo can provide RSS feeds, printable versions of pages, news flashes, blogs, forums, polls, calendars, website searching, language internationalization, and other possibilities.
- MediaWiki -
MediaWiki is a web-based wiki software application used by all projects of the Wikimedia Foundation, all wikis hosted by Wikia, and many other wikis, including some of the largest and most popular ones. Originally developed to serve the needs of the free content Wikipedia encyclopedia, today it has also been deployed by companies for internal knowledge management, and as a content management system. Notably, Novell uses it to operate several of its high traffic websites.
- PHPNuke -
PHP-Nuke is a web-based automated news publishing and content management system (a "nuke") based on PHP and MySQL. The system is fully controlled using a web-based user interface. PHP-Nuke was originally a fork of the Thatware news portal system.
The system is released as free software under the GNU General Public License. Until version 7.5, the latest version of the software was freely downloadable from the PHP-Nuke website; version 7.5 is the first version for which a US$10 download charge is made. This is permitted under the GNU GPL (providing the source code is included), but the purchaser of the software has the right to freely distribute the source code of the product. This charge only applies to the latest version of PHP-Nuke; previous versions are available free of charge. Version 8.1 is being distributed for US$12 as the PHP-Nuke site is no longer owned by Francisco Burzi, the original developer of the engine.
- Symfony - Symfony is a web application framework written in PHP which follows the model-view-controller (MVC) paradigm. Released under the MIT license, Symfony is free software. The symfony-project.com website launched on October 18, 2005.
- Typo3 -
TYPO3 is a free and open source content management system written in PHP.
- Wordpress -
WordPress is an open source blog publishing application. WordPress is the official successor of b2\cafelog, developed by Michel Valdrighi. The name WordPress was suggested by Christine Selleck, a friend of lead developer Matt Mullenweg.
- PostNuke -
PostNuke was a free, open source content management system (a 'nuke') forked from PHP-Nuke, released under the GNU General Public License. The PostNuke project was started because some PHP-Nuke users believed there should be a more open development environment. The users felt the only way this could be done was to develop their own fork of the PHP-Nuke code. PostNuke has grown beyond PHP-Nuke and become a project standing on its own merits. Like XOOPS, PostNuke's code is object oriented and fully modular.
- phpBB -
phpBB is a popular Internet forum package written in the PHP scripting language. The name "phpBB" is an abbreviation of PHP Bulletin Board. Available under the GNU General Public License, phpBB is free software.
- Zend Framework -
Zend Framework is an open source, object-oriented web application framework implemented in PHP 5 and licensed under the New BSD License
- osCommerce -
osCommerce ("open source Commerce") is an e-commerce and online store-management software program.
- Magento Commerce -
Magento is an Open Source ecommerce web application launched on March 31, 2008
- Xoops -
XOOPS is a free content management system, written in PHP, for websites. It uses a modular architecture allowing users to customize, update and theme their websites. XOOPS is released under the terms of the GNU General Public License (GPL) and is free to use, modify and redistribute. XOOPS is supposed to be pronounced phonetically as it would be in English, as "zoo'ps".
- Textpattern -
Textpattern is an open source content management system originally developed by Dean Allen. While it is often listed among weblogging tools, its aim is to be a high-quality general-purpose content management system suitable for deployment in many contexts
- B2evolution -
b2evolution is a multi-lingual, multi-user, multi-blog publishing system written
in PHP and backed by a MySQL database.
It is distributed under the GNU General Public License and is available without charge.
Francois Planque forked b2evolution from version 0.6.1 of b2\cafelog in 2003.
Another popular fork of b2 is WordPress.
Example of popular sites developed with PHP:
If interested, check Corifey's PHP service offerings:
|
|