"PHP (recursive acronym for 'PHP: Hypertext Preprocessor') is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML."
- the php website

  • Platform agnostic
  • Interpreted at runtime (biggest drawback)
  • Can't beat the price (ColdFusion Enterprise Edition is $6000 and Microsoft products are cheap for limited functionality but get very expensive very quckly as the application grows)
  • You can also use php as a (very powerful) shell scripting language
  • php is not only good for web programming, but any situation where a flexible, simple, and powerful programming environment is needed:
    • rapid prototyping
    • dynamic websites
    • very complex shell scripting (database manipulation, etc)
    • Also some less suitable things, like a tcp stack as we will see...
  • Syntactically and semantically straightforward: none of the dirtiness of perl or the complex memory manipulation of C
  • Supports a wide variety of databases, including: Adabas D, InterBase, PostgreSQL, dBase, FrontBase, SQLite, Empress, mSQL, Solid, FilePro (read-only), Direct MS-SQL, Sybase, Hyperwave, MySQL, Velocis, IBM DB2, ODBC, Unix dbm, Informix, Oracle (OCI7 and OCI8), Ingres, and Ovrimos
  • Can be used procedurally, object oriented (php 5+), or a mixture of the two.
  • Has libraries for a variety of network protocols, including: LDAP, IMAP, SNMP, NNTP, POP3, HTTP and many others.
  • Features POSIX Extended and perl type regular expressions.
  • Open source and well documented; you can easily write your own extansions to the language
  • Excellent online documentation
  • It does have its drawbacks though: loose typing is a double edged sword, it can be slow in a high stress environment, and it is easy to write a nonsecure webapp if you do not know what you are doing (or are careless).

Next