In the early stages of PHP evolution it was known as Personal Home Page but currently it is known as Recursive Acronym PHP (Hypertext Preprocessor). PHP has now become one of the popular platforms for web development.
PHP is a server side web programming language that is widely used for web development. Let us see why PHP is widely used for web development.
Most of the PHP syntax is similar to C and C++ syntax. This makes it easy for programmers to learn and implement PHP. MySQL popular online database is used as a backend with PHP and is an excellent combination for someone looking forward to create websites.
PHP internally rearranges the buffer so that header comes before content as it has powerful output buffering. PHP works in combination of HTML to display dynamic items on the webpage. It is available for different operating systems (OS), RDBMS and Web Server. PHP 5+ versions are object oriented and platform independent. Its speed on Linux server helps to create large and complex websites. Overall PHP is secure, fast, reliable and not costly for developing websites.
PHP script are used in three main area’s
- Server Side scripting: This is the main target field for PHP. We need 3 things to make this work the PHP parser (CGI or server module), a web server and a web browser. Need to run the web server e.g. Apache connected to PHP installation. PHP program output can be accessed in web browser through the server. All this can be done on the local machine using Xampp.
- Command Line scripting: In this PHP script will run without any server or browser but it needs a PHP parser. This kind of scripts can be executed using cron on Linux or Task Schedule on Windows.
- Desktop application: Probably not a very best language to create desktop application but can use advanced PHP features like PHP-GTK also can write cross platform applications.
PHP can be used on major operating systems like Linux,Unix, MacOS and Microsoft Windows. Apache and IIS web servers support PHP. We can use procedural programming or object oriented programming (OOP) or combination of both.
OS supported by PHP are
- Linux: is a family of free and open source software operating systems build around the Linux kernel. The term LAMP (Linux, Apache, MySql, PHP) is used while working on Linux. It is preferred over other operating systems because LAMP package is a open source.
- Mac OS X: is a series of graphical operating systems developed and marketed by Apple Inc. It is the second most used OS after Microsoft Windows. MAMP package is used to install Apache, MySql and PHP.
- Windows: IIS (Internet Information Services) for Windows server is a flexible, secure and manageable web server for hosting anything on the web. We can also use WAMP package.
XAMPP a free and open source cross-platform web server solution stack package is available for Linux, Mac OS X and Windows for PHP 5+ versions.
Other supported Operating Systems are Oracle Solaris (Unix OS), FreeBSD, NetBSD and OpenBSD
Most significant and strongest feature in PHP is its support for a wide range of Databases.It also has support for talking to other services using protocols such as LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM on windows and other protocols.
Databases supported by PHP are
- My SQL: is the popular DB for PHP applications. It’s an open source database but the Enterprise version of My SQL is paid one. Applications like WordPress, Magento and Drupal use MySQL. It is been used by bigger websites like Wikipedia, Google and Facebook.
- PostGreSQL: most advanced open source database. As compared to MySQL it has more features and optimization and compression feature put it in parallel with Oracle. However it is believed that PostGreSQL is fraction slower than MySQL.
- SYBASE: is popular choice for enterprise database management. It connects with PHP using sasql_connect() command similar to MySQL. Since 2010 Sybase is part of SAP.
- IBM-DB2: database is being used in many ERP and e-commerce. We need PECL extension to connect PHP. IBM designed DB2 with a common code base to run on different platforms.
- Oracle Database: servers are as popular as Windows and Linux servers. For setting up a connection with PHP OC18 extension is needed. Function oci_connect and oci_close can be used to connect and disconnect connection to the database.Windows MS-SQL is supported on PHP version 5+ only. Other supported databases are Cubrid, dBase, filePro, FireBird/InterBase, FrontBase, Informix, Ingres, MaxDB, MongoDB, mSQL, Corel Paradox, SQLite, Tokyo Tyrant.PHP code can be embedded into HTML code. It can be used with combinations of web template systems, web content management systems, web frameworks and HTML editor. Output is not limited to HTML itself but can be saved as images and PDF file.Web Template Systems: are the templates available online which can be used to automatically generate custom web pages, such as results from a search. Web template supports static content providing basic structure and appearance.Web Content Management Systems: is a CMS designed to support the management of the content of Web pages. Web content includes text and embedded graphics, photos, video, audio, maps and program codes that displays content or interacts with the user. Examples of CMS are WordPress, Drupal, Joomla etc.Web Frameworks: is a software framework designed to support the development of web applications including web services, web resources and web API’s. It provides a standard way to build and deploy web applications. Many frameworks provide libraries for database access, templating frameworks and session management also often promote code reuse. Examples of frameworks are Cake PHP, Laravel, Bootstrap, Zend Framework, Symfony, CodeIgniter etc.HTML editor: is a computer program for editing HTML, the markup of a webpage. HTML editors handle not only HTML but also related technologies such as CSS, XML, Java Script or ECMA Script. In some cases they also manage communication with remote web servers via FTP, Web DAV and version control systems. Examples of HTML editors are Sublime Text, Notepad++, Atom etc.
We can read in the sections about installing PHP on http://php.net/manual/en/install.php and function reference of extensions mentioned on http://php.net/manual/en/funcref.php