PHP

From Just Solve the File Format Problem
Jump to: navigation, search
File Format
Name PHP
Ontology
Extension(s) .php, .phps
PRONOM x-fmt/169
Released 1995

PHP is a widely-used general-purpose open source scripting language that is especially suited for Web development and can be embedded into HTML. While PHP originally stood for Personal Home Page, it is now said to stand for PHP: Hypertext Preprocessor, a recursive acronym.

PHP files are often found as text files with the extension .php. The syntax rules allow HTML code to be intermixed with the PHP code; some PHP files are mostly static HTML with a few PHP commands embedded, while others are mostly PHP program code with a little bit of HTML. There might be bits of JavaScript or SQL too; you might have to understand several different programming and markup languages to fully understand a piece of code.

Sometimes the nonstandard extension .phps is used when the developer wants the PHP file to be served as source code rather than code executed on the server, for example to share a PHP script.

It is one of the possibilities for the P in LAMP (a set of technologies used in many web back-ends, including Linux, Apache, and MySQL, notable for being free, open-source software in contrast to proprietary technologies such as those from Microsoft) along with Perl and Python.

Contents

Usage and reception

As of 2017, PHP sees continued use in highly popular websites including Facebook and Wikipedia, but new projects are using it less and less in favor of Web environments based on Python, Ruby, and Node.js.

PHP may be the most widely hated programming language in proportion to its popularity. Critics point out in particular its development origins without any kind of master plan, with a mass of features grafted on over the years with many quirks and "gotcha"s for developers using it. It was also designed to be accessible to nonprogrammers (its original function was for the development of personal home pages, after all), meaning that syntax elements were chosen to be understandable to people who don't understand programming languages, rather than to facilitate more complex uses by power users who do know how to program. This results in all sorts of oddball cases and exceptions where constructs behave as the language developer thought naive users might expect them to rather than with the overall consistency expected by professional programmers.

Specs

Manuals

Criticism

Software projects

Other links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox