|
PHP 4 Reviewed by |
![]() |
| |
| Overall scores | ||
| Installation | Easy (binary distribution) | |
| Learning curve (beginner who can Web surf and word process) | Shallow, for a programming language | |
| Technical support | Excellent (online community) | |
| Features | Very good | |
| Customizability | Excellent, but not trivial | |
| Utility to biologists | Very good | |
| Value for money | Excellent | |
Overview
PHP, a "hypertext preprocessor," is a programming language designed to assist users in creating dynamic Web content. Most traditional programming languages tend to provide commands with very basic and nonoverlapping functionality and require the programmer to assemble more complex constructs. This tends to make traditional languages unapproachable to the novice or nonprogrammer who wants additional functionality from a Web page. Unlike such languages, PHP contains many commands with relatively complex functionality, some of which can be used productively as single-command programs. It provides enough complexity and power that a programmer needing to create sophisticated functions can do so, but also combines solutions to many common and simple Web needs into single commands for the beginner.
Available platforms | Unix (including Mac OS X and Linux), Windows 9x, ME, NT, 2000, XP. |
System requirements | PHP code can be run on any machine if the PHP module is installed on the Web server. The minimum acceptable hardware is defined by the acceptable performance of the code. Administrative privileges are required for installation, and the PHP module must be installed onto an existing Web-server installation. Final installation requires 5 Mb of free disk space or 60 Mb of free space if PHP is built from source. |
Test platform | Pentium II, 233 MHz with 128 Mb RAM running Red Hat Linux 6.2 and Apache Web server 1.3.20 |
Price | Free |
How Long Did It Take to Learn to Use It Productively?
For a complete novice who needs a function built into PHP, the process of finding the correct function in the documentation will take longer than the process of adding it to a Web page. By following the examples in the online documentation, a novice can add many functions to pages without really needing to learn how to program and without spending much more time than is required to read the documentation.
An experienced programmer may find it somewhat disconcerting at first that many of the commands have overlapping functionality and, as a result, may actually take somewhat longer to learn this language compared with more traditional languages.
Product Quality
| Ease of installation | Good (binary distribution) Fair (source distribution) |
| User friendliness | Fair |
| Interface | Text editor (user's choice) |
| Intuitiveness of design | Likely more intuitive for beginners than for advanced users of other languages |
Customizability
PHP is highly customizable. A user can add functionality found lacking by creating external modules written in traditional programming languages such as C, although the process is not for the novice programmer and the documentation is minimal. Addition of functionality in this fashion requires administrator privileges for the machine, or at least for the Web server, and PHP installation.
Ability to Program in Scripts, Add Extension Modules, etc.
Since PHP itself is a scripting language, it has virtually unlimited potential when it comes to programming script.
Ability to Import and Export in Different File Formats
PHP supports numerous file formats, and you can use it to create and manipulate any of the supported formats. The formats include several image file formats (for example, JPEG, TIFF, PNG, and XPM), many database formats (Berkeley DB, SDBM, GDBM, and NDBM), various compression types (Gzip, Bzip2, Zlib), PDF, SWF (Flash), XML, and others.
PHP also has the ability to speak to many networked data services such as database servers, news servers, FTP servers, and so forth.
PHP supports additional formats and data-access application program interfaces (APIs) through add-on modules available online.
Useful or Unusual Features
One of the nicest things about PHP is that it is a community-supported language, with features largely defined by the needs of the community. Because of this, the language tends to make things that are commonly needed on Web pages easy to do. This includes things such as support for sessions and communications with external data sources. It features full support for communications with MySQL, PgSQL, Oracle, Filemaker, and many other databases. PHP also supports low level TCP/IP communications, and you can optionally build in support for many higher level protocols, including support for the above-mentioned database servers; full IMAP, POP3, and SMTP support for sending and receiving mail messages; and support for FTP and HTTP communications. PHP even supports encryption of these protocols via Kerberos or SSL.
Limitations
PHP's greatest strength, its community-supported nature, is also one of its greatest weaknesses. PHP is an evolved language rather than a designed language. Because its users frequently are not experienced programmers, many functions cater to the needs of the nonprogrammer. This often leads to such things as the implementation of many commands with similar functionality, rather than one command with all necessary functionality, and to inconsistency in the way various commands are implemented.
For the nonprogrammer who just wants to create more powerful Web pages, this is not usually a problem. For the experienced programmer, however, the lack of a cohesive design in the implementation of the language can be a real stumbling block to making fully productive use of PHP.
Comparisons with Similar Software
The most closely related common software packages are Microsoft's ASP and the ubiquitous Unix Perl. PHP has some distinct advantages when compared with ASP. Because ASP, for the most part, is only available for use with Microsoft operating systems and, unlike PHP, it is not open source, it does not have nearly as much user-community support. As a result, bugs in ASP are not fixed as swiftly, nor are new features added as quickly.
On the other hand, compared with Perl, the main advantage of PHP is that it was specifically designed for Web pages, and, therefore, is far more integrated with the Web server itself. Whereas Perl is a programming language designed for processing text (and by extension, capable of processing the text-based HTML language), PHP is a language designed to be embedded into the HTML code (or vice versa, depending on the programmer's preference).
The major shortcoming of PHP in comparison with Perl is that PHP's usefulness diminishes outside of Web-page uses, whereas Perl is a general utility programming language that has many other uses.
Technical Support and Documentation
Complete documentation for PHP is available online and is downloadable in various formats (PDF, PostScript, HTML, Palm OS). The online documentation is also available with annotations added by the user community. Additional support is available online in the form of various mailing lists and discussion boards where users can ask questions and get answers from PHP developers and the PHP community at large. The best place to start looking for PHP support is again at PHP's main site.
Target Users
PHP's target users range from beginners wishing to spice up their Web presentation with dynamic content all the way to the most advanced users who want to develop complex Web-based information sources.
Publisher information |
PHP, the Hypertext Preprocessor, is a community-supported project of the Apache Software Foundation. Web site: www.php.net |
Pricing structure | Free |
Software class | Data analysis and presentation |
Marijan Adam is director of network operations for IwayNet Communications.


JFile 5.0
Dreamweaver 4
REALbasic Professional Edition 3.5
ACLUSTER 2.0
VMD (Visual Molecular Dynamics) 1.7
RasMol 2.7