{"id":2457,"date":"2024-09-05T04:57:47","date_gmt":"2024-09-05T02:57:47","guid":{"rendered":"https:\/\/asgru.com\/?p=2457"},"modified":"2026-09-15T13:55:41","modified_gmt":"2026-09-15T11:55:41","slug":"php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3","status":"publish","type":"post","link":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/","title":{"rendered":"PHP ajalugu: loomisest kuni praeguse versioonini 8.3"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">PHP on \u00fcks populaarsemaid programmeerimiskeeli veebiarenduses. Alates loomisest 1994. aastal on see l\u00e4binud pika tee, arenedes lihtsast d\u00fcnaamiliste veebilehtede t\u00f6\u00f6riistast v\u00f5imsaks, suure j\u00f5udlusega ja universaalseks programmeerimiskeeleks. Vaatleme selle arengu peamisi etappe ning k\u00e4sitleme \u00fcksikasjalikult versioonide 8.0, 8.1, 8.2 ja 8.3 olulisemaid muudatusi.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">PHP arengu etapid<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1995: PHP\/FI 1.0 s\u00fcnd<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">PHP l\u00f5i Taani programmeerija Rasmus Lerdorf 1994. aastal Perl-skriptide kogumina, et j\u00e4lgida tema veebisaidil oleva CV k\u00fclastusi. 1995. aastal avaldas ta PHP\/FI (Personal Home Page\/Forms Interpreter) esimese versiooni, mis toetas HTML-vorme ja suhtlust andmebaasidega.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1998: PHP 3.0 ja revolutsioon keeles<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Zeev Suraski ja Andi Gutmansi abiga kirjutati PHP t\u00e4ielikult \u00fcmber, mille tulemusena ilmus 1998. aastal PHP 3.0. Selles v\u00f5eti kasutusele uus Zend Engine, mis suurendas m\u00e4rkimisv\u00e4\u00e4rselt keele j\u00f5udlust ja paindlikkust. PHP 3 oli keele esimene laialdaselt kasutatud versioon, mis toetas objektorienteeritud programmeerimist.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2000: PHP 4.0 ja Zend Engine&#8217;i tulek<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">PHP 4 koos Zend Engine 1.0-ga ilmus 2000. aastal, pakkudes paremat j\u00f5udlust ja seansside tuge, mis muutis PHP sobivamaks keerukate d\u00fcnaamiliste veebirakenduste loomiseks.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2004: PHP 5.0 ja OOP uus ajastu<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">2004. aastal v\u00e4lja antud PHP 5 t\u00f5i kaasa t\u00e4ieliku objektorienteeritud programmeerimise toe, parema suhtluse andmebaasidega PDO (PHP Data Objects) kaudu ning uue erindite k\u00e4sitlemise mudeli.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2015: PHP 7.0 ja m\u00e4rkimisv\u00e4\u00e4rne j\u00f5udluse paranemine<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">2015. aastal pakkus PHP 7.0 Zend Engine 3.0 uut p\u00f5lvkonda, mis kahekordistas koodi t\u00e4itmiskiiruse ning lisas funktsioonide argumentide ja tagastusv\u00e4\u00e4rtuste t\u00fc\u00fcpimise toe.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">PHP 8: peamised uuendused<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">2020. aasta novembris v\u00e4lja antud PHP 8.0 oli oluline samm edasi t\u00e4nu paljudele uutele funktsioonidele ja t\u00e4iustustele, mis muutsid keele mugavamaks, j\u00f5udlusv\u00f5imelisemaks ja v\u00e4ljendusrikkamaks. Peamised uuendused on j\u00e4rgmised:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.&nbsp;<strong>JIT-kompileerimine (Just-in-time)<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">JIT-kompilaator v\u00f5imaldab k\u00e4itamise ajal d\u00fcnaamiliselt kompileerida osa baitkoodist masinkoodiks. See on eriti kasulik arvutusmahukate \u00fclesannete puhul, nagu teaduslikud arvutused v\u00f5i masin\u00f5pe. Tavap\u00e4rastele veebirakendustele on JIT-i m\u00f5ju siiski v\u00e4iksem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\nfunction fibonacci($n) {\n    if ($n == 0) return 0;\n    if ($n == 1) return 1;\n    return fibonacci($n-1) + fibonacci($n-2);\n}\n\necho fibonacci(30);\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">2.&nbsp;<strong>Match Expression (mustrite sobitamine)<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>match<\/code>&nbsp;on operaatori&nbsp;<code>switch<\/code>&nbsp;t\u00e4iustatud versioon, mis kasutab ranget t\u00fc\u00fcpimist, ei n\u00f5ua&nbsp;<code>break<\/code>&nbsp;operaatoreid ja v\u00f5ib tulemuse otse tagastada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>match<\/code>&#8217;i kasutamise n\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\n$status = 404;\n\n$message = match ($status) {\n    200 =&gt; 'OK',\n    404 =&gt; 'Not Found',\n    500 =&gt; 'Internal Server Error',\n    default =&gt; 'Unknown Status',\n};\n\necho $message;  \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442: Not Found\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">3.&nbsp;<strong>Nimega argumendid<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Nimega argumendid v\u00f5imaldavad funktsioonide parameetreid edastada nime j\u00e4rgi, muutes funktsioonikutseid selgemaks ja mugavamaks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\nfunction greet(string $name, string $greeting = 'Hello') {\n    echo \"$greeting, $name!\";\n}\n\ngreet(name: 'John', greeting: 'Welcome');  \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442: Welcome, John!\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">4.&nbsp;<strong>Union Types (\u00fchendt\u00fc\u00fcbid)<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u00dchendt\u00fc\u00fcbid v\u00f5imaldavad m\u00e4\u00e4rata argumentidele ja tagastusv\u00e4\u00e4rtustele mitu t\u00fc\u00fcpi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\nfunction processInput(int|string $input) {\n    if (is_int($input)) {\n        return $input * 2;\n    } else {\n        return strtoupper($input);\n    }\n}\n\necho processInput(10);  \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442: 20\necho processInput('hello');  \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442: HELLO\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">5.&nbsp;<strong>Constructor Property Promotion<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">See uuendus v\u00f5imaldab objektile omadusi automaatselt konstruktori argumentidest m\u00e4\u00e4rata, v\u00e4hendades koodi hulka.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\nclass Point {\n    public function __construct(\n        public int $x,\n        public int $y\n    ) {}\n}\n\n$point = new Point(3, 5);\necho $point-&gt;x;  \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442: 3\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">6.&nbsp;<strong>Vead valede viidete korral<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">PHP 8 genereerib vead olematutele massiiviv\u00f5tmetele v\u00f5i objekti omadustele juurdep\u00e4\u00e4sul, mis suurendab koodi t\u00f6\u00f6kindlust.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\n$data = &#091;];\necho $data&#091;'key'];  \/\/ Fatal Error: Uncaught Error: Undefined array key \"key\"\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">PHP 8.1: olulised uuendused<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">2021. aasta novembris v\u00e4lja antud PHP 8.1 lisas palju olulisi funktsioone ja t\u00e4iustusi, n\u00e4iteks loendid, fiibrid ja readonly-omadused.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.&nbsp;<strong>Enums (loendid)<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Loendid (<code>enum<\/code>) v\u00f5imaldavad m\u00e4\u00e4ratleda fikseeritud v\u00e4\u00e4rtuste kogumi, mida koodis kasutatakse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\nenum Status {\n    case Pending;\n    case Completed;\n    case Failed;\n}\n\nfunction handleStatus(Status $status) {\n    return match ($status) {\n        Status::Pending =&gt; 'Pending',\n        Status::Completed =&gt; 'Completed',\n        Status::Failed =&gt; 'Failed',\n    };\n}\n\necho handleStatus(Status::Pending);  \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442: Pending\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">2.&nbsp;<strong>Fiibrid (Fibers)<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Fiibrid lisavad PHP-sse v\u00f5imaluse luua kooperatiivseid l\u00f5ime, mis lihtsustab as\u00fcnkroonset programmeerimist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\n$fiber = new Fiber(function() {\n    $value = Fiber::suspend('fiber suspended');\n    echo \"Resumed: $value\\n\";\n});\n\necho $fiber-&gt;start();  \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442: fiber suspended\n$fiber-&gt;resume('resume value');  \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442: Resumed: resume value\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">3.&nbsp;<strong>Readonly Properties<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>readonly<\/code>-omadusi saab l\u00e4htestada ainult objekti loomisel, p\u00e4rast mida muutuvad need muutumatuks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\nclass User {\n    public readonly string $name;\n\n    public function __construct(string $name) {\n        $this-&gt;name = $name;\n    }\n}\n\n$user = new User('Alice');\n\/\/ $user-&gt;name = 'Bob';  \/\/ \u041e\u0448\u0438\u0431\u043a\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e readonly\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">PHP 8.2: t\u00e4iustuste j\u00e4tkumine<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">2022. aasta detsembris v\u00e4lja antud PHP 8.2 t\u00f5i kaasa t\u00e4iendavaid s\u00fcntaksi t\u00e4iustusi ja uusi v\u00f5imalusi.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.&nbsp;<strong>Readonly-klassid<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">PHP 8.2 v\u00f5imaldab deklareerida klasse kui&nbsp;<code>readonly<\/code>, mis muudab automaatselt k\u00f5ik nende omadused muutumatuks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\nreadonly class Product {\n    public function __construct(\n        public string $name,\n        public float $price\n    ) {}\n}\n\n$product = new Product('Laptop', 1200.00);\n\/\/ $product-&gt;price = 1300.00;  \/\/ \u041e\u0448\u0438\u0431\u043a\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u043a\u043b\u0430\u0441\u0441 readonly\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">2.&nbsp;<strong>D\u00fcnaamiliste omaduste deprekeerimine<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">D\u00fcnaamilised omadused, mis luuakse v\u00e4ljaspool klassi deklaratsiooni, on n\u00fc\u00fcd m\u00e4rgitud aegunuks, mis aitab vigu v\u00e4ltida.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\nclass User {}\n\n$user = new User();\n$user-&gt;name = 'John';  \/\/ Deprecated: dynamic properties are deprecated\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">3.&nbsp;<strong>Nulli, false&#8217;i ja true&#8217;i tugi \u00fchendt\u00fc\u00fcpides<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00fc\u00fcd saab \u00fchendt\u00fc\u00fcpides t\u00fc\u00fcpidena m\u00e4\u00e4rata&nbsp;<code>null<\/code>,&nbsp;<code>false<\/code>&nbsp;ja&nbsp;<code>true<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\nfunction test(null|false|string $value): string {\n    return $value === null ? 'null' : ($value === false ? 'false' : $value);\n}\n\necho test(null);    \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442: null\necho test(false);   \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442: false\necho test('test');  \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442: test\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">PHP 8.3: uusimad t\u00e4iustused<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">2023. aasta novembris v\u00e4lja antud PHP 8.3 j\u00e4tkas keele t\u00e4iustamist, keskendudes turvalisuse suurendamisele ja uute kasulike funktsioonide lisamisele.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.&nbsp;<strong>json_validate<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Lisati uus funktsioon&nbsp;<code>json_validate<\/code>, mis v\u00f5imaldab kontrollida JSON-stringi korrektsust ilma seda dekodeerimata.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\n$json = '{\"name\": \"John\", \"age\": 30}';\n$is_valid = json_validate($json);\necho $is_valid ? 'Valid JSON' : 'Invalid JSON';\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">2.&nbsp;<strong>Typed Class Constants<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00fc\u00fcd saab klassides olevatele konstantidele t\u00fc\u00fcpe deklareerida, mis tugevdab t\u00fc\u00fcpimist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4ide:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>&lt;?php\nclass Config {\n    public const string NAME = 'Application';\n}\n\necho Config::NAME;  \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u0442: Application\n?&gt;<\/code><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Kokkuv\u00f5te<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">PHP 8.0 ja hilisemad versioonid t\u00f5id kaasa palju t\u00e4iustusi, mis suurendasid m\u00e4rkimisv\u00e4\u00e4rselt keele j\u00f5udlust ja v\u00e4ljendusrikkust. Alates JIT-kompileerimisest ja uuendustest nagu&nbsp;<code>match<\/code>, \u00fchendt\u00fc\u00fcbid ja fiibrid kuni PHP 8.3 uusimate t\u00e4iustusteni areneb keel edasi ning kohandub t\u00e4nap\u00e4evaste veebirakenduste n\u00f5uetega, j\u00e4\u00e4des miljonite arendajate jaoks \u00fcle maailma v\u00f5tmet\u00f6\u00f6riistaks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>K\u00f5igile minu tellijatele on mul suurep\u00e4rane uudis! \ud83c\udf89 <\/strong>JetBrains<strong>i toodete eest tasumisel saate kasutada spetsiaalset sooduskoodi <\/strong>&#8220;Asgru24&#8221;<strong> ja saada <\/strong>25%<strong> allahindlust mis tahes tootele! \u00c4rge j\u00e4tke kasutamata v\u00f5imalust s\u00e4\u00e4sta parimatelt arendust\u00f6\u00f6riistadelt.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>PHP on \u00fcks populaarsemaid programmeerimiskeeli veebiarenduses. Alates loomisest 1994. aastal on see l\u00e4binud pika tee, arenedes lihtsast d\u00fcnaamiliste veebilehtede t\u00f6\u00f6riistast v\u00f5imsaks, suure j\u00f5udlusega ja universaalseks programmeerimiskeeleks. Vaatleme selle arengu peamisi etappe ning k\u00e4sitleme \u00fcksikasjalikult versioonide 8.0, 8.1, 8.2 ja 8.3 olulisemaid muudatusi. PHP arengu etapid 1995: PHP\/FI 1.0 s\u00fcnd PHP l\u00f5i Taani programmeerija Rasmus Lerdorf [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2458,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2457","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PHP ajalugu: loomisest kuni praeguse versioonini 8.3<\/title>\n<meta name=\"description\" content=\"Alates loomisest 1994. aastal on PHP l\u00e4binud pika tee, arenedes lihtsast d\u00fcnaamiliste veebilehtede t\u00f6\u00f6riistast v\u00f5imsaks, suure j\u00f5udlusega ja universaalseks programmeerimiskeeleks.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/\" \/>\n<meta property=\"og:locale\" content=\"et_EE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP ajalugu: loomisest kuni praeguse versioonini 8.3\" \/>\n<meta property=\"og:description\" content=\"Alates loomisest 1994. aastal on PHP l\u00e4binud pika tee, arenedes lihtsast d\u00fcnaamiliste veebilehtede t\u00f6\u00f6riistast v\u00f5imsaks, suure j\u00f5udlusega ja universaalseks programmeerimiskeeleks.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/\" \/>\n<meta property=\"og:site_name\" content=\"asgru\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/asgru.wp\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-05T02:57:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-15T11:55:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/asgru.com\/wp-content\/uploads\/2024\/09\/php-logo.svg_-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1381\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"asgru\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ArtemKondranin\" \/>\n<meta name=\"twitter:site\" content=\"@ArtemKondranin\" \/>\n<meta name=\"twitter:label1\" content=\"Kirjutanud\" \/>\n\t<meta name=\"twitter:data1\" content=\"asgru\" \/>\n\t<meta name=\"twitter:label2\" content=\"Eeldatav lugemisaeg\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\\\/\"},\"author\":{\"name\":\"asgru\",\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/#\\\/schema\\\/person\\\/8f6cca385f5ae3eb7802b1e40b721576\"},\"headline\":\"PHP ajalugu: loomisest kuni praeguse versioonini 8.3\",\"datePublished\":\"2024-09-05T02:57:47+00:00\",\"dateModified\":\"2026-09-15T11:55:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\\\/\"},\"wordCount\":755,\"publisher\":{\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/asgru.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/php-logo.svg_-scaled.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"et\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\\\/\",\"url\":\"https:\\\/\\\/asgru.com\\\/et\\\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\\\/\",\"name\":\"PHP ajalugu: loomisest kuni praeguse versioonini 8.3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/asgru.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/php-logo.svg_-scaled.png\",\"datePublished\":\"2024-09-05T02:57:47+00:00\",\"dateModified\":\"2026-09-15T11:55:41+00:00\",\"description\":\"Alates loomisest 1994. aastal on PHP l\u00e4binud pika tee, arenedes lihtsast d\u00fcnaamiliste veebilehtede t\u00f6\u00f6riistast v\u00f5imsaks, suure j\u00f5udlusega ja universaalseks programmeerimiskeeleks.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\\\/#breadcrumb\"},\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/asgru.com\\\/et\\\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\\\/#primaryimage\",\"url\":\"https:\\\/\\\/asgru.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/php-logo.svg_-scaled.png\",\"contentUrl\":\"https:\\\/\\\/asgru.com\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/php-logo.svg_-scaled.png\",\"width\":2560,\"height\":1381},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/asgru.com\\\/et\\\/avaleht\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP ajalugu: loomisest kuni praeguse versioonini 8.3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/#website\",\"url\":\"https:\\\/\\\/asgru.com\\\/et\\\/\",\"name\":\"asgru\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/asgru.com\\\/et\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"et\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/#organization\",\"name\":\"asgru\",\"url\":\"https:\\\/\\\/asgru.com\\\/et\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/asgru.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/logo-black.svg\",\"contentUrl\":\"https:\\\/\\\/asgru.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/logo-black.svg\",\"caption\":\"asgru\"},\"image\":{\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/asgru.wp\\\/\",\"https:\\\/\\\/x.com\\\/ArtemKondranin\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/asgru\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/asgru.com\\\/et\\\/#\\\/schema\\\/person\\\/8f6cca385f5ae3eb7802b1e40b721576\",\"name\":\"asgru\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8226b63c28c55f65ad493c4aacf00e751309b5d3005e6aef331fd48ac864080d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8226b63c28c55f65ad493c4aacf00e751309b5d3005e6aef331fd48ac864080d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8226b63c28c55f65ad493c4aacf00e751309b5d3005e6aef331fd48ac864080d?s=96&d=mm&r=g\",\"caption\":\"asgru\"},\"sameAs\":[\"http:\\\/\\\/asgru.loc\"],\"url\":\"https:\\\/\\\/asgru.com\\\/et\\\/author\\\/asgru\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PHP ajalugu: loomisest kuni praeguse versioonini 8.3","description":"Alates loomisest 1994. aastal on PHP l\u00e4binud pika tee, arenedes lihtsast d\u00fcnaamiliste veebilehtede t\u00f6\u00f6riistast v\u00f5imsaks, suure j\u00f5udlusega ja universaalseks programmeerimiskeeleks.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/","og_locale":"et_EE","og_type":"article","og_title":"PHP ajalugu: loomisest kuni praeguse versioonini 8.3","og_description":"Alates loomisest 1994. aastal on PHP l\u00e4binud pika tee, arenedes lihtsast d\u00fcnaamiliste veebilehtede t\u00f6\u00f6riistast v\u00f5imsaks, suure j\u00f5udlusega ja universaalseks programmeerimiskeeleks.","og_url":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/","og_site_name":"asgru","article_publisher":"https:\/\/www.facebook.com\/asgru.wp\/","article_published_time":"2024-09-05T02:57:47+00:00","article_modified_time":"2026-09-15T11:55:41+00:00","og_image":[{"width":2560,"height":1381,"url":"https:\/\/asgru.com\/wp-content\/uploads\/2024\/09\/php-logo.svg_-scaled.png","type":"image\/png"}],"author":"asgru","twitter_card":"summary_large_image","twitter_creator":"@ArtemKondranin","twitter_site":"@ArtemKondranin","twitter_misc":{"Kirjutanud":"asgru","Eeldatav lugemisaeg":"5 minutit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/#article","isPartOf":{"@id":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/"},"author":{"name":"asgru","@id":"https:\/\/asgru.com\/et\/#\/schema\/person\/8f6cca385f5ae3eb7802b1e40b721576"},"headline":"PHP ajalugu: loomisest kuni praeguse versioonini 8.3","datePublished":"2024-09-05T02:57:47+00:00","dateModified":"2026-09-15T11:55:41+00:00","mainEntityOfPage":{"@id":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/"},"wordCount":755,"publisher":{"@id":"https:\/\/asgru.com\/et\/#organization"},"image":{"@id":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/#primaryimage"},"thumbnailUrl":"https:\/\/asgru.com\/wp-content\/uploads\/2024\/09\/php-logo.svg_-scaled.png","articleSection":["Uncategorized"],"inLanguage":"et"},{"@type":"WebPage","@id":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/","url":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/","name":"PHP ajalugu: loomisest kuni praeguse versioonini 8.3","isPartOf":{"@id":"https:\/\/asgru.com\/et\/#website"},"primaryImageOfPage":{"@id":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/#primaryimage"},"image":{"@id":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/#primaryimage"},"thumbnailUrl":"https:\/\/asgru.com\/wp-content\/uploads\/2024\/09\/php-logo.svg_-scaled.png","datePublished":"2024-09-05T02:57:47+00:00","dateModified":"2026-09-15T11:55:41+00:00","description":"Alates loomisest 1994. aastal on PHP l\u00e4binud pika tee, arenedes lihtsast d\u00fcnaamiliste veebilehtede t\u00f6\u00f6riistast v\u00f5imsaks, suure j\u00f5udlusega ja universaalseks programmeerimiskeeleks.","breadcrumb":{"@id":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/#breadcrumb"},"inLanguage":"et","potentialAction":[{"@type":"ReadAction","target":["https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/"]}]},{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/#primaryimage","url":"https:\/\/asgru.com\/wp-content\/uploads\/2024\/09\/php-logo.svg_-scaled.png","contentUrl":"https:\/\/asgru.com\/wp-content\/uploads\/2024\/09\/php-logo.svg_-scaled.png","width":2560,"height":1381},{"@type":"BreadcrumbList","@id":"https:\/\/asgru.com\/et\/php-ajalugu-loomisest-kuni-praeguse-versioonini-8-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/asgru.com\/et\/avaleht\/"},{"@type":"ListItem","position":2,"name":"PHP ajalugu: loomisest kuni praeguse versioonini 8.3"}]},{"@type":"WebSite","@id":"https:\/\/asgru.com\/et\/#website","url":"https:\/\/asgru.com\/et\/","name":"asgru","description":"","publisher":{"@id":"https:\/\/asgru.com\/et\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/asgru.com\/et\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"et"},{"@type":"Organization","@id":"https:\/\/asgru.com\/et\/#organization","name":"asgru","url":"https:\/\/asgru.com\/et\/","logo":{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/asgru.com\/et\/#\/schema\/logo\/image\/","url":"https:\/\/asgru.com\/wp-content\/uploads\/2025\/06\/logo-black.svg","contentUrl":"https:\/\/asgru.com\/wp-content\/uploads\/2025\/06\/logo-black.svg","caption":"asgru"},"image":{"@id":"https:\/\/asgru.com\/et\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/asgru.wp\/","https:\/\/x.com\/ArtemKondranin","https:\/\/www.linkedin.com\/in\/asgru\/"]},{"@type":"Person","@id":"https:\/\/asgru.com\/et\/#\/schema\/person\/8f6cca385f5ae3eb7802b1e40b721576","name":"asgru","image":{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/secure.gravatar.com\/avatar\/8226b63c28c55f65ad493c4aacf00e751309b5d3005e6aef331fd48ac864080d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8226b63c28c55f65ad493c4aacf00e751309b5d3005e6aef331fd48ac864080d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8226b63c28c55f65ad493c4aacf00e751309b5d3005e6aef331fd48ac864080d?s=96&d=mm&r=g","caption":"asgru"},"sameAs":["http:\/\/asgru.loc"],"url":"https:\/\/asgru.com\/et\/author\/asgru\/"}]}},"_links":{"self":[{"href":"https:\/\/asgru.com\/et\/wp-json\/wp\/v2\/posts\/2457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/asgru.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/asgru.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/asgru.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/asgru.com\/et\/wp-json\/wp\/v2\/comments?post=2457"}],"version-history":[{"count":1,"href":"https:\/\/asgru.com\/et\/wp-json\/wp\/v2\/posts\/2457\/revisions"}],"predecessor-version":[{"id":2459,"href":"https:\/\/asgru.com\/et\/wp-json\/wp\/v2\/posts\/2457\/revisions\/2459"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/asgru.com\/et\/wp-json\/wp\/v2\/media\/2458"}],"wp:attachment":[{"href":"https:\/\/asgru.com\/et\/wp-json\/wp\/v2\/media?parent=2457"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/asgru.com\/et\/wp-json\/wp\/v2\/categories?post=2457"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/asgru.com\/et\/wp-json\/wp\/v2\/tags?post=2457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}