PHP ir daudzsološs un mūsdienīgs:augstas kvalitātes sintakse un spēja padarīt semantiku ārpus atļautā. Objektorientētas programmēšanas ideju īstenošana un brīvība mainīt mainīgā veidu padara mežonīgākās fantāzijas par realitāti.
Masīvi ir sena konstrukcija, un asociatīvivairāk veltījums laikam, nevis prakse. Tomēr ir diezgan daudz uzdevumu, kas ietver tādu datu kolekciju izveidi, kuras nav iepriekš noteiktas (skaitļi, vērtības, veidi un indeksi), kuras ir pieejamas apskatei un izmantošanai PHP foreach cilpās. Masīva pēdējais elements ir pieejams ar jebkuru izveides metodi. Masīvs - parasts un asociatīvs - ļauj jums izveidot sarakstus, bet parastajā PHP sintaksē tas ir ierobežots.
Ja mēs abstrahējamies no indeksiem un izmantojam konstrukciju
$ arData [] = jauns scField (); // scNumber, scString, scPalace, ...
kur scField () ir abstraktā objekta konstruktors- "informācijas elements", kuram ir pēcnācēji: skaitļi (scNumber), virknes (scString), frāzes (scPa bekezdés), ... mēs iegūstam PHP: pēdējais elements = objektu masīvs, kas izpaužas kā faktiskais elements.
Būtībā nav svarīgi, kuru elementu jūs skaitātatbilstošs, taču šajā gadījumā jums būs jāseko rādītājam (PHP - kursors) masīva iekšpusē. Biežāk - jums ir jābūt savam elementa rādītājam. Kursoram nav nepieciešama PHP ideja "pēdējais elements = masīvs". Pēdējais elements, kas ir pieejams, izmantojot funkcijas end () un array_pop (), šķiet, deleģē tā īpašības masīvam. Izmantojot masīvu_pop (), masīvs tiek automātiski tulkots iepriekšējā elementā, un tā īpašības attiecīgi mainās. Tas ļauj pārvietoties pa elementiem.
Tādējādi kontekstā ņemot vērā sintaksiPHP, lai iegūtu masīva pēdējo elementu, faktiski jāizmanto tā īpašības. Secīgi, ievietojot un izgūstot elementus, mēs iegūstam īpašību dinamiku, jaunas datu struktūras dinamiku, kas izveidota pieejamās sintakses ietvaros.
Ir funkcijas darbam ar pirmo elementumasīvs un pārvietojiet iekšējo rādītāju. Parastā sintakse, kas īsteno klasisko programmēšanas praksi, ir piemērojama. Kas attiecas uz masīvu izveidi ar dinamiski mainīgu nozīmi, nē.
Programmēšanā vienmēr ir runa par lēmumu pieņemšanu: mainīgie iegūst vērtības, nosacītie operatori maina algoritma plūsmu, cilpas kaut ko analizē, un galu galā veidojas rezultāts.
Ja mēs pārvietojam smaguma centru uz pareizoelementu un atstāt viņam lēmumu pieņemšanu, programmas īstenošana iegūst pavisam citu, jēgpilnu formu. Visbiežāk tas ir veids, kā sasniegt mērķi, it īpaši, ja runa ir, piemēram, par daudzu * .docx dokumentu tagu izmantošanu, kas rakstīti Open XML standartā.
PHP gadījumā masīva pēdējā elementa iegūšana ir jauna nozīme un laba iespēja.
Kad vietne nodrošina lejupielādes iespējujebkuru failu, ir ērti izmantot ideju par abstraktu objektu, piemēram, scFile un tā pēcnācējiem scImage, scDocument, scTabe, kuriem būs tāda paša nosaukuma rekvizīti, bet to atšķirīgā izpausme un nozīme (saturs). PHP sintakses (pēdējais elements = masīvs) kontekstā, izmantojot funkciju end (), varat to izmantot kā pēdējo elementu. Šis risinājums ir interesants ar to, ka tas apgriež parastos attēlojumus un ļauj pārvietoties datu struktūrā tā, kā tā tika izveidota.
Šī masīvu izmantošana dod viņiem pilnīgi jaunu saturu. To nodrošina PHP sintakse, taču šī izmantošana paver daudz iespēju.
Nodrošinot vizualizācijas metodes, ietaupotdatu bāzei, atgūšanai darba kārtībā (piemēram) nebūs jādomā, ko darīt konkrētā gadījumā. Visi augšupielādētie faili tiek ievietoti masīvā secīgi, un, kad tas tiek apstrādāts, tās pašas metodes vienmēr tiek izsauktas saskaņā ar to pašu shēmu, bet attēla fails tiks parādīts tāds, kāds tas ir, izklājlapas fails - kā tabula un dokuments - kā atbilstošais teksts. Pēdējais elements, kas pieejams, izmantojot PHP sintaksi, nodrošina masīvu ar tā īpašībām un specifisko saturu.
Pēdējā gadījumā dokumentā vienmēr ir simboli,virknes, ciparus un, pats galvenais, formatējumu. Ir grūti izsekot katram elementam, taču, nodrošinot katram formāta elementam atbilstošu objektu, jūs bez vilcināšanās varat iegūt dokumentu tādu, kāds tas ir.
Strādājot tikai ar pēdējo elementu,galvenais nosacījums ir kaudze, bet, kad šis elements tiek izpildīts un tam tiek izmantota tāda pati konstrukcija, it īpaši pašai, tā ir rekursija. Par PHPOffice bibliotēkām, piemēram, PHPWord, var teikt daudz labu lietu, taču jūs nevarat apgalvot, ka tās ievieš pilnīgu mehānismu, kas sākotnējā dokumenta formatējumu pārvērš par rezultātu.
Patiešām, izmantojot PHPOfficePHPWord, jūs varat vienkārši atvērt jebkuru Word dokumentu (* .docx), taču tas ir tikai daudzu strukturētu xml failu, attēlu, objektu utt. Arhīvs.
Turklāt, ja ņemat tikai xml failus, lai gan tieir savstarpēji saistīti (stilu, tabulu, attēlu ziņā), nebūs iespējams veidot jaunu dokumentu, pamatojoties uz veco, un vienkārši tajā pārsūtīt vēlamās izmaiņas (piemēram, mainīt fontu, krāsas, formatējumu). Open XML tagiem ir daudz pielietojumu, un pat labi noregulēts produkts, piemēram, MS Word, ne vienmēr tiek galā ar lietotāja idejām, pieļaujot kļūdas.
Patiesībā *.docx fails ir zip arhīvs ar skaidru un saprotamu struktūru. Izmantojot nelielu skaitu objektu, varat to oficiāli aprakstīt un lasīšanas laikā iegūt pilnvērtīgu, neatkarīgu datu struktūru, ko var pārvaldīt semantiski.
Šajā gadījumā informācija dokumentā ir formāla datu struktūra. Piešķirot tai dinamiku, var viegli pāriet uz nozīmes līmeni un abstrakti no sintakses.