---
title: "PHP 5.3 Zone virtuaalserverites"
canonical_url: "https://www.zone.ee/blogi/php-53-zone-virtuaalserverites/"
post_type: "post"
published: "2009-07-07T11:39:29+00:00"
modified: "2009-07-07T11:39:29+00:00"
author: "Jaanus Putting"
taxonomies:
  category:
    - name: "Zone.ee Blog"
      url: "https://www.zone.ee/blogi/category/zone-ee-blog/"
  post_tag:
    - name: "PHP"
      url: "https://www.zone.ee/blogi/tag/php/"
    - name: "Tehniline"
      url: "https://www.zone.ee/blogi/tag/tehniline/"
    - name: "Uuendused"
      url: "https://www.zone.ee/blogi/tag/uuendused/"
    - name: "Zone+"
      url: "https://www.zone.ee/blogi/tag/zone/"
---

# PHP 5.3 Zone virtuaalserverites

![180px-php-logosvg](https://www.zone.ee/static/sites/2/2009/07/180px-php-logosvg.png "180px-php-logosvg")Eesti hostingupakkujatest esimesena on võimalik [Zone virtuaalserverites](https://www.zone.ee) kasutada [**PHP 5.3**](http://php.net/releases/5_3_0.php) skriptimiskeelt.

Uus versioon paistab eriliselt silma PHP OOP (Object Oriented Programming) poole täiustamise osas ning kuigi pealtnäha on tegu vaid *minor* versiooni uuenemisega võib öelda, et tegu on jälle uue ajajärguga PHP keele arengus.

Hoolimata sellest, et iga huviline leiab veebist hõlpsalt [infot kõigi uute võimaluste](http://www.google.ee/search?hl=et&q=php+5.3+whats+new&btnG=Otsi&lr=) kohta, järgneb siin siiski väike väljavõte tähtsamatest lisadest:

- *[namespaces](http://ee2.php.net/namespaces)* – Kauaigatsetud võimalus klasside paremaks hierarhiliseks liigendamiseks juba alates PHP 5.0 tulekuga. Kuigi vahepeal lubati see võimalus lisada alles PHP 6-te, siis lõpuks jõudis see siiski ikka PHP 5-te*.*

- *[late static binding](http://ee.php.net/lsb)* – Võimaldab tuletatud klassi meetodeid (staatilisi meetodeid) kasutada paindlikumalt (analoogselt objekti instantsi meetoditele).

- *[lambda functions and closures](http://ee2.php.net/manual/en/functions.anonymous.php)* – Kes pikemalt näiteks JavaScriptiga kokku on puutunud, teab kui mugavad on sulundid ([*closures*](http://en.wikipedia.org/wiki/Closure_(computer_science))) ja anonüümsed ühekordsed funktsioonid:
    > $a = 43;
    >
    > call\_user\_func(function ($p1) {
    > $a = 55;
    > echo “in closure: p1=” . $p1 . ” a=” . $a . ‘&lt;br /&gt;’;
    > }, 98);
    >
    > echo ‘outside: a=’ . $a . ‘&lt;br /&gt;’;

- *[dynamic static calls](http://blog.felho.hu/what-is-new-in-php-53-part-4-__callstatic-openid-support-userini-xslt-profiling-and-more.html)* – Klassi meetodi dünaamiline väljakutsumine. Kui enne pidi dünaamiliseks väljakutsumiseks kasutama kohmakaid [call\_user\_func](http://ee.php.net/call_user_func)/[call\_user\_func\_array](http://ee.php.net/call_user_func_array) funktsioone, siis alates 5.3-st piisab järgmisest:
    > $cls = “Klass123”;
    > $meth = “doSomething”;
    > $result = $cls::$meth ($param1);

[Loe veel…](http://blog.felho.hu/whats-new-in-php-53-part-1-namespaces.html)

---

Tähelepanu väärib ka asjaolu, et käesoleva versiooniga hakatakse välja juurima mõningaid omadusi, mis PHP-le läbi ajaloo on omajagu halba kuulsust toonud.

Nendeks on [register\_globals](http://ee.php.net/manual/en/security.globals.php) ja [magic\_quotes\_gpc](http://ee.php.net/magic_quotes).

Tegemist on nn. laisa programmeerija seadistustega, mille aktiveerimisel saab koodi omajagu vähem kirjutada, kuid teisest küljest tekitavad nad aga küllaltki palju turva- ja ühilduvusprobleeme ning palju peavalu serverite administraatoritele. Aktiveerituna koormavad nad ka serverit rohkem.

Väljajuurimine seisneb esialgu selles, et juhul kui neid on php.ini failis kasutatud, siis teatab PHP alglaadimisel:

> **PHP Warning: Directive ‘register\_globals’ is deprecated in PHP 5.3 and greater in Unknown on line 0**

Alates PHP 6-st ei saa neid enam üldse kasutada, seega – mida varem oma skriptid “korda” teha, seda lihtsam tulevikus.

Et vältida probleeme ja segadust tulevikus, siis on Zone virtuaalserverites PHP 5.3 puhul mõlemad seadistused deaktiveeritud ning neid klient enam ise aktiveerida ei saa.

---

Nagu öeldud, siis Zone virtuaalserveri kliendid saavad soovi korral koheselt PHP 5.3 kasutama hakata.

**NB! Samas on tegu siiski veel pooltoore versiooniga, kus võib esineda vigu ning mida esialgu pole soovitatav missioonikriitilise rakenduse/kodulehe jaoks kasutada.**

Lisaks puudub 5.3-le hetkel veel [Zend Optimizer](http://www.zend.com/en/products/guard/?anchor=Optimizer#Optimizer)-i/[ionCube](http://www.ioncube.com/loaders.php) tugi, mistõttu krüpteeritud skriptid ka selle versiooniga ei tööta.

Küll aga on soovitatav pooleliolevaid või mitte-kriitilisi veebirakendusi julgelt 5.3 peal arendada ja testida ning uute võimalustega tutvuda.

Zone virtuaalserveris pakutavate PHP moodulite nimekirjaga saab tutvuda [siit](https://www.zone.ee/help/dz/technical/php#help_dz_topic_89).

Järgneb ka illustreeriv pilt, kuidas Zone virtuaalserveri haldusliideses alamdomeeni PHP versiooni muuta:

[![php_53](https://www.zone.ee/static/sites/2/2009/07/php_53-300x294.png "php_53")](https://www.zone.ee/static/sites/2/2009/07/php_53.png)
