PHP History और Features
In this page:
PHP का History
Rasmus Lerdorf ने 1994 में पहला version अपने personal homepage के visits track करने के लिए छोटे tools के एक set के रूप में लिखा, इसीलिए original name 'Personal Home Page' पड़ा। जैसे-जैसे यह एक personal script collection से एक general-purpose web language में बढ़ा, इसे फिर से लिखा और recursive नाम 'PHP: Hypertext Preprocessor' दिया गया।
उदाहरण: History of PHP
<?php
// Rasmus Lerdorf's 1994 "Personal Home Page" tools grew into PHP: Hypertext Preprocessor
echo "PHP has been evolving since 1994.";
?>
Login to try C/C++/Java/PHP code in the editor
Open Source
PHP का source code और interpreter इस्तेमाल और modify करने के लिए free हैं, और एक बड़े open community के दशकों के contributions ने इसकी standard library, इसकी performance, और PHP 7 की speed improvements तथा PHP 8 के JIT compiler जैसे major language shifts को आकार दिया है।
उदाहरण: Open Source
<?php
// Anyone can inspect or modify the PHP interpreter itself -- it's open source
echo "PHP version running here: " . phpversion();
?>
Login to try C/C++/Java/PHP code in the editor
Platform Independence
वही PHP script आमतौर पर बिना बदले Windows, Linux, या macOS पर चलती है, क्योंकि PHP खुद platform के अंतर (file paths, line endings, वगैरह) को handle करता है बजाय इस बोझ को आपके code पर डालने के — यही एक बड़ी वजह है कि यह portable web hosting के लिए एक default choice बन गया।
उदाहरण: Platform Independence
<?php
// The same script runs unmodified on Windows, Linux, or macOS
echo "Directory separator on this OS: " . DIRECTORY_SEPARATOR;
?>
Login to try C/C++/Java/PHP code in the editor
Speed और Efficiency
Modern PHP (खासकर PHP 7 और 8) optimized bytecode में compile होता है और, PHP 8 से, hot code paths को JIT-compile कर सकता है, जिसने typical request/response web workloads के लिए PHP और lower-level languages के बीच कभी मौजूद performance gap को काफ़ी हद तक बंद कर दिया।
उदाहरण: Speed and Efficiency
<?php
// Declare `$start`, set to `microtime(true)`
$start = microtime(true);
// Classic for-loop: `$i = 0; $i < 100000; $i++`
for ($i = 0; $i < 100000; $i++) {
// Declare `$total`, set to `$i * 2`
$total = $i * 2;
}
// Print "Compiled bytecode ran in " . round(microtime(true) - $start, 4) . "s" to the output
echo "Compiled bytecode ran in " . round(microtime(true) - $start, 4) . "s";
?>
Login to try C/C++/Java/PHP code in the editor
Loose Type Language
PHP loosely typed है: आप पहले से किसी variable का type declare नहीं करते, और जब किसी operation को ज़रूरत हो तो PHP automatically types के बीच convert कर देता है (जैसे एक string और एक number को combine करना)।
यह आपकी पहली काम करने वाली script लिखने की barrier कम करता है, हालाँकि यही वजह है कि PHP ने बड़े codebases के लिए बाद के versions में optional strict typing और type declarations भी add किए।
उदाहरण: Loose Type Language
<?php
$value = "5" + 3;
echo $value;
// PHP converted the string "5" to a number automatically
?>
Login to try C/C++/Java/PHP code in the editor
- पुराने benchmarks देखकर यह मान लेना कि PHP धीमा है, जबकि PHP 7 और 8 optimized bytecode में compile होते हैं (opcache के साथ) और PHP 5 से कहीं ज़्यादा तेज़ हैं।
- PHP 5 के लिए लिखे गए tutorials follow करना और
mysql_*functions जैसी हटाई गई features इस्तेमाल करना, जो modern PHP में अब exist नहीं करतीं। - यह मान लेना कि एक PHP version के लिए लिखी गई script किसी भी दूसरे version पर बिना बदले चलेगी, PHP 8 में introduce हुए जैसे version-specific changes check किए बिना।
Chapter Quiz — Complete all 13 topics to unlock
0/13 topics done
Complete these topics first: