PHP 5.3 Zone virtuaalserverites
Antud blogipostitus on 176 kuud vana ning ei pruugi olla enam ajakohane.
Eesti hostingupakkujatest esimesena on võimalik Zone virtuaalserverites kasutada PHP 5.3 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 kohta, järgneb siin siiski väike väljavõte tähtsamatest lisadest:
- 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 – Võimaldab tuletatud klassi meetodeid (staatilisi meetodeid) kasutada paindlikumalt (analoogselt objekti instantsi meetoditele).
- lambda functions and closures – Kes pikemalt näiteks JavaScriptiga kokku on puutunud, teab kui mugavad on sulundid (closures) ja anonüümsed ühekordsed funktsioonid:
$a = 43;
call_user_func(function ($p1) {
$a = 55;
echo “in closure: p1=” . $p1 . ” a=” . $a . ‘<br />’;
}, 98);echo ‘outside: a=’ . $a . ‘<br />’;
- dynamic static calls – Klassi meetodi dünaamiline väljakutsumine. Kui enne pidi dünaamiliseks väljakutsumiseks kasutama kohmakaid call_user_func/call_user_func_array funktsioone, siis alates 5.3-st piisab järgmisest:
$cls = “Klass123”;
$meth = “doSomething”;
$result = $cls::$meth ($param1);
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 ja magic_quotes_gpc.
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-i/ionCube 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.
Järgneb ka illustreeriv pilt, kuidas Zone virtuaalserveri haldusliideses alamdomeeni PHP versiooni muuta:
Kommentaarid
1 kommentaarJIT. Aitäh
Kommentaarid suletud.