Jau vairākas reizes esmu lasījis dažādus aprakstus par to, kas jauns gaidāms PHP6 un PHP5.3. Pēc katras šādas reizes bija radusies vēlme uzskaitīt jaunievedumus un pastāstīt tos tiem, kas neko par jaunievedumiem nav dzirdējuši vai dzirdējuši pavirši. Beidzot saņēmos.

IBM.com ir nopublicēts raksts “The future of PHP“, kurā smuki uzskaitītas lietas, kuras parādīsies jaunajās PHP versijās, kā arī kuras pazudīs. Es viņas uzskaitīšu, bet ja gribat palasīt sīkāk, kā arī redzēt dažus īsus koda piemērus, tad dodieties uz augstāk pieminēto rakstu.

Jaunievedumi PHP6

Uzlabots Unicode atbalsts. Vairākās kodola funkcijās būs nodrošināta iespēja darboties ar Unicode stringiem (virknēm).

Namespace atbalsts. Šī ir lieta, kuru gaida daudzi, kas aktīvi izmanto OOP principus savos skriptos. Namespace atbalsts nodrošina to, ka turpmāk vairs nebūs nepieciešams domāt par to, ka jāizmanto unikāli klašu nosaukumi. T.i. ja agrāk kāds bija uzrakstījis klasi PDF_generator un šo klasi jūs jau savos kodos izmantojāt, bet gribējāt izveidot savu implementāciju ar tādu pašu nosaukumu, tad jūs to nevarējāt izdarīt. Bija jātaisa klasi liekot tās nosaukumam kādu prefiksu vai pavisam citādu nosaukumu. Savukārt, ja ir Namespace atbalsts, tad nav problēmu izmanto kāda cita rakstītu klasi PDF_generator un jūsu paša rakstītu klasi PDF_generator. Iespējams, ka izteicos neskaidri, tāpēc, ja nav skaidrības kas ir Namespaces iesaku izlasīt šo rakstu. Nav gan labākais raksts, bet man kaut kur pazudusi saite uz vienu citu rakstu. Ja atradīšu – piemetīšu vēlāk klāt.

SOAP atbalsts būs iespējots pēc noklusējuma (PHP5 jau ir SOAP paplašinājums, bet tas pēc noklusējuma nav aktivizēts). SOAP ir protokols ar kura palīdzību savā starpā var sarunāties dažādas programmēšanas valodas.

XMLReader un XMLWriter atbalsts kodolā pēc noklusējuma. Kaut gan PHP manuālī teikts, ka XMLWriter atbalst kodolā ir jau tagad un nav speciāli jāpieinstalē, pretstatā XMLReader. Tā, ka šis mani nedaudz mulsina.

Lietas kuras no PHP pazudīs
magic_quotes
register_globals
register_long_arrays
safe_mode

Sīkāk šīs četras lietas neaprakstīšu, jo ja programmējat PHP, tad zināsiet par ko iet runa.

Pazudīs ASP tipa PHP tagu atbalsts. Tātad ja izmantojāt savos skriptos <% %>, tad pienācis laiks aizstāt tos ar <?php ?>.

Pazudīs FreeType1 un GD1 bibliotēku atbalsts.

Arī ereg vairs netiks atbalstīts, tā vietā jāizmanto preg funkcijas. Tātad ereg() un eregi() vietā preg_match(), bet ereg_replace() un ereg_replacei() vietā jāizmanto preg_replace().

Daļa no PHP6 jaunievedumiem tiks ieviesti arī PHP5.3.

Piemēram, Namespace atbalsts un XMLReader un XMLWriter būs kodolā pēc noklusējuma.

Bez jaunām funkcijām PHP5.3 būs arī ievērojams ātrdarbības pieaugums salīdzinājumā ar PHP 5.2 (līdz pat 30%).

Ja es kaut ko aizmirsu vai kaut kur saputrojos – labojiet komentāros.

flattr this!


6 Comments

  1. bubu
    Posted 10.05.2008 at 01:18 | Permalink

    “Pazudīs ASP tipa PHP tagu atbalsts. Tātad ja izmantojāt savos skriptos , tad pienācis laiks aizstāt tos ar .”

    Aizstāt ar punktu? :)

    Neimspeisu sintakse gan sūkā. Kas nevarēja to pašu C++ sintaksi paņemt, kura ļoti labi strādā… nē, jāizgudro kautkas tizlāks. Pēc dokumentācijas izlasīšanas īsti nesapratu, kas notiek ar include/require iekļautajiem failiem – kuros neimspeisos nokļūst to saturs. Cerams, ka tādā pašā stilā kā C/C++’ā, citādi būs juceklis.

  2. Posted 10.05.2008 at 07:05 | Permalink

    bubu paldies – labots. Nepiefiksēju kurā momentā WordPress nolikvidēja daļu no teksta.

  3. Posted 10.05.2008 at 10:06 | Permalink

    “SOAP ir protokols ar kura palīdzību savā starpā var sarunāties dažādas programmēšanas valodas.”

    Nav aplams, bet tomēr diezgan nekorekts skaidrojums :) Bet, ja nepiesienās, tad esmu vīlies par to, ka vēl aizvien SOAP implementācijas ne pārāk aizraujās ar SOAP attačmentiem. T.i. – tas ir jāveido pašam parasti.

    Pieņemu, ka ar unikodi būs jautrības. Neba nu visi paplašinājumi to tā uz sitiena sāks atbalstīt. Un neba bez kļūdām.

    Būtiski ir minēt, ka lielākā daļa funkciju pēc noklusējuma mēģinās būt locale-aware.

    Man šķiet, ka microtime() izmaiņas (defaultā atgriezīs float’u) var radīt daudz problēmas visneparedzamākajās vietās.

    Šķiet, ka viņi plāno patīrīt kori, lielu daļu paplašinājumu aizstumjot uz PECL. APC būšot korē, lai arī diseiblots (paldies dievam).

    Esi piemirsis par goto :) Taiphintigs (OOP). Nepilnīgs, bet tomēr. Ir šādas tādas adopcijas no projekta Hardened PHP. Animēto GIFu atbalsts. Diemžēl, nekas nav teikts par citiem sekvenciālajiem formātiem. Šai sakarā – GD būs nevis PHP adaptētais, bet gan pilna oriģinālā bibliotēkas versija (ja pareizi sapratu).

    Nu, un kā tad Tu aizmirsi mysqlnd? :)

  4. Posted 10.05.2008 at 10:51 | Permalink

    Tāpēc Kaspar esi tu, lai pierakstītu to, ko es aizmirsu pierakstīt. :)

  5. Posted 10.05.2008 at 13:51 | Permalink

    Nē, Endij. Man nešķiet, ka esmu tieši tāpēc :P Un, vispār, ir PHP-TODO (ne tikai PHP6), Zendā ir atsevišķs tags, bet tālāk jau gūgle. No PHP kōres developeriem aktīvākais un interesantākais blogeris, šķiet, ir Ilia Alshanetsky. Un, protams, var sekot līdzi oldskūlam – Planet PHP.

    Protams, ja kaut kas pārklājās ar Tevis zināmo, sorry. Moš citiem noderēs.

  6. Posted 10.05.2008 at 13:59 | Permalink

    Paldies! Interesantas saites. Šajā sakarā izdomāju, ka vajadzēs izlasīt no Google Readera to blogeru sarakstiņu, kas par PHP raksta un nopublicēt kā atsevišķu ierakstu. Iespējams, ka kādam noderēs, jo liela daļa no viņiem ir uzieta caur GReader sadaļu “Discover”, tāpēc iespējams, ka kāds būs arī nezināms.

Leave a Reply