PHP Introduction
What is PHP?
PHP is a recursive acronym for "PHP: Hypertext Preprocessor".
PHP is a server side scripting language that is embedded in HTML.
PHP scripts are executed on the server
PHP Syntax is C-Like.
PHP supports a large number of major protocols such as POP3, IMAP, and LDAP.
Example:
"Hello World" Script in PHP
<html>
<head>
<title>Hello World</title>
</head>
<body>
<?php echo "Hello, World!";?>
</body>
</html>
A brief history of PHP
PHP as it's known today is actually the successor to a product named PHP/FI. Created in 1994 by Rasmus Lerdorf, the very first incarnation of PHP was a simple set of Common Gateway Interface (CGI) binaries written in the C programming language.
Originally used for tracking visits to his online resume, he named the suite of scripts "Personal Home Page Tools," more frequently referenced as "PHP Tools." Over time, more functionality was desired, and Rasmus rewrote PHP Tools, producing a much larger and richer implementation.
Version | Release date | Supported until | Notes |
---|---|---|---|
1.0 | 8 June 1995 | Officially called "Personal Home Page Tools (PHP Tools)". This is the first use of the name "PHP" | |
2.0 | 1 November 1997 | Officially called "PHP/FI 2.0". This is the first release that could actually be characterised as PHP, being a standalone language with many features that have endured to the present day. | |
3.0 | 6 June 1998 | 20 October 2000 | Development moves from one person to multiple developers. Zeev Suraski and Andi Gutmans rewrite the base for this version. |
4.0 | 22 May 2000 | 23 June 2001 | Added more advanced two-stage parse/execute tag-parsing system called the Zend engine. |
4.1 | 10 December 2001 | 12 March 2002 | Introduced "superglobals" ($_GET , $_POST , $_SESSION , etc.) |
4.2 | 22 April 2002 | 6 September 2002 | Disabled register_globals by default. Data received over the network is not inserted directly into the global namespace anymore, closing possible security holes in applications. |
4.3 | 27 December 2002 | 31 March 2005 | Introduced the command-line interface (CLI), to supplement the CGI. |
4.4 | 11 July 2005 | 7 August 2008 | Fixed a memory corruption bug, which required breaking binary compatibility with extensions compiled against PHP version 4.3.x. |
5.0 | 13 July 2004 | 5 September 2005 | Zend Engine II with a new object model. |
5.1 | 24 November 2005 | 24 August 2006 | Performance improvements with introduction of compiler variables in re-engineered PHP Engine. Added PHP Data Objects (PDO) as a consistent interface for accessing databases |
5.2 | 2 November 2006 | 6 January 2011 | Enabled the filter extension by default. Native JSON support |
5.3 | 30 June 2009 | 14 August 2014 | Namespace support; late static bindings, jump label (limited goto), anonymous functions, closures, PHP archives (phar), garbage collection for circular references, improved Windows support, sqlite3, mysqlnd as a replacement for libmysql as underlying library for the extensions that work with MySQL, fileinfo as a replacement for mime_magic for better MIME support, the Internationalization extension, and deprecation of ereg extension. |
5.4 | 1 March 2012 | 3 September 2015 | Trait support, short array syntax support. Removed items: register_globals , safe_mode , allow_call_time_pass_reference , session_register() , session_unregister() and session_is_registered() . Built-in web server.Several improvements to existing features, performance and reduced memory requirements. |
5.5 | 20 June 2013 | 10 July 2016 | Support for generators, finally blocks for exceptions handling, OpCache (based on Zend Optimizer+) bundled in official distribution. |
5.6 | 28 August 2014 | 31 December 2018 | Constant scalar expressions, variadic functions, argument unpacking, new exponentiation operator, extensions of the use statement for functions and constants, new phpdbg debugger as a SAPI module, and other smaller improvements. |
6.x | Not released | — | Abandoned version of PHP that planned to include native Unicode support. |
7.0 | 3 December 2015[ | 10 January 2019 | Zend Engine 3 (performance improvements and 64-bit integer support on Windows uniform variable syntax, AST-based compilation process, added Closure::call() , bitwise shift consistency across platforms, ?? (null coalesce) operator, Unicode code point escape syntax return type declarations, scalar type (integer, float, string and boolean) declarations, <=> "spaceship" three-way comparison operator, generator delegation, anonymous classes, simpler and more consistently available CSPRNG API, replacement of many remaining internal PHP "errors" with the more modern exceptions,and shorthand syntax for importing multiple items from a namespace. |
7.1 | 1 December 2016 | 1 December 2019 | void return type, class constant visibility modifiers |
7.2 | 30 November 2017 | 30 November 2020 | Object parameter and return type declaration, Libsodium extension, abstract method overriding, parameter type widening |
7.3 | 6 December 2018 | 6 December 2021 | Flexible Heredoc and Nowdoc syntax,support for reference assignment and array deconstruction with list(), PCRE2 support, hrtime() function |
7.4 | 28 November 2019 | 28 November 2022 | Typed properties 2.0, preloading,null-coalescing assignment operator, improve openssl_random_pseudo_bytes, Weak References FFI – foreign function interface, always available hash extension, password hash registry,multibyte string splitting,reflection for references,unbundle ext/wddx,new custom object serialization mechanism |
8.0 | 26 November 2020 | 26 November 2023 | Just-In-Time (JIT) compilation, arrays starting with a negative index, stricter/saner language semantics (validation for abstract trait methods), saner string to number comparisons,saner numeric strings, TypeError on invalid arithmetic/bitwise operators, reclassification of various engine errors, consistent type errors for internal functions, fatal error for incompatible method signatures), locale-independent float to string conversion,variable syntax tweaks, attributes, named arguments,] match expression, constructor property promotion, union types, mixed type, static return type,nullsafe operator, non-capturing catches,throw expression, JSON extension is always available. |
8.1 | 25 November 2021 | 25 November 2024 | Explicit octal integer literal notation, enumerations, readonly properties, first-class callable syntax,new in initializers, pure intersection types, never return type, final class constraints, fibers |
8.2 | 24 November 2022 | 24 November 2025 | Readonly classes, null, false, and true as stand-alone types, locale-independent case conversion |
Related post
EknowledgePoint
Increase Your Knowledge with usEknowledgePoint is an innovative online learning platform that aims to democratize education by providing a vast array of courses and educational content to learners of all ages and backgrounds. It offers a diverse range of subjects, from academic topics to practical skills, making it a one-stop destination for anyone looking to expand their knowledge base.
5 comments
Knowledge is the fuel that powers our journey through life. It's platforms like EknowledgePoint that transform information into enlightenment, curiosity into competence, and dreams into reality. Embrace the opportunity to learn, and you'll find that the doors of possibility swing wide open. 🚀💡 #EknowledgePoint.
Thank you for your kind words! At EknowledgePoint, we are dedicated to empowering individuals on their learning journey. Your enthusiasm for knowledge and personal growth inspires us to keep providing the best educational resources and experiences. Let's continue to explore and learn together!.
Thanks For Your Support.
"I'm constantly amazed by the quality of instructors on EknowledgePoint. Learning from experts in their fields is both enlightening and empowering. 🌟👨🏫 #EknowledgePoint.
EknowledgePoint isn't just a platform; it's a community of learners. The support and camaraderie here are truly inspiring. 🤝🌍 #EknowledgePoint.