PHP è promettente e moderno:sintassi di alta qualità e capacità di rendere semantica oltre ciò che è consentito. L'implementazione delle idee della programmazione orientata agli oggetti e la libertà di cambiare il tipo di una variabile rende le fantasie più sfrenate una realtà.
Gli array sono una costruzione antica e quelli associativi lo sonopiù un omaggio ai tempi che un requisito di pratica. Sebbene ci sia un buon numero di attività che implicano la creazione di raccolte di dati non predeterminate in anticipo (conteggi, valori, tipi e indici) che sono disponibili per la visualizzazione e l'uso nei cicli foreach PHP. L'ultimo elemento dell'array è disponibile con qualsiasi metodo di creazione. Array - regolare e associativo - ti consente di creare elenchi, ma nella normale sintassi PHP ha un uso limitato.
Se astraggiamo dagli indici e usiamo la costruzione
$ arData [] = nuovo scField (); // scNumber, scString, scParagraph, ...
dove scField () è il costruttore dell'oggetto astratto- "elemento informativo", che ha discendenti: numeri (scNumber), stringhe (scString), frasi (scParagraph), ... otteniamo in PHP: l'ultimo elemento = un array di oggetti, che manifesta le sue proprietà come un elemento reale.
In sostanza, non importa quale elemento contirilevante, ma in questo caso dovrai tenere traccia del puntatore (in PHP - il cursore) all'interno dell'array. Più spesso, è necessario disporre del proprio puntatore di elementi. L'idea PHP di "last element = array" è priva della necessità di un cursore. Accessibile tramite le funzioni end () e array_pop (), l'ultimo elemento sembra delegare le sue proprietà all'array. L'uso di array_pop (), inoltre, traduce automaticamente l'array nell'elemento precedente e le sue proprietà cambiano di conseguenza. Ciò rende possibile spostarsi tra gli elementi.
Quindi, considerando nel contesto la sintassiPHP, estrarre l'ultimo elemento di un array significa in realtà usare le sue proprietà. Posizionando e recuperando sequenzialmente gli elementi, otteniamo le dinamiche delle proprietà, le dinamiche di una nuova struttura dati formata all'interno della sintassi disponibile.
Ci sono funzioni per lavorare con il primo elementoarray e sposta il puntatore interno. Nella solita sintassi che implementa la pratica di programmazione classica, sono applicabili. Per quanto riguarda la creazione di array con significato che cambia dinamicamente, no.
Nella programmazione, parliamo sempre di prendere decisioni: le variabili assumono valori, gli operatori condizionali cambiano il flusso di un algoritmo, i cicli analizzano qualcosa e alla fine si forma un risultato.
Se spostiamo il centro di gravità nella posizione correttaelemento e lasciare che sia lui a prendere le decisioni, l'attuazione del programma assume una forma completamente diversa, significativa. Molto spesso, questo è il modo per raggiungere l'obiettivo, specialmente quando si tratta, ad esempio, di utilizzare numerosi tag di documenti * .docx scritti nello standard Open XML.
In PHP, ottenere l'ultimo elemento di un array è un nuovo significato e una buona opportunità.
Quando il sito fornisce un'opzione di downloadqualsiasi file, è conveniente utilizzare l'idea di un oggetto astratto, ad esempio scFile e dei suoi discendenti scImage, scDocument, scTabe, che avranno proprietà con lo stesso nome, ma la loro diversa manifestazione e significato (contenuto). Nel contesto della sintassi PHP (last element = array), usando la funzione end (), puoi usarla come definisce l'ultimo elemento. Questa soluzione è interessante in quanto inverte le rappresentazioni usuali e consente di navigare nella struttura dei dati così come è stata formata.
Questo uso di array fornisce loro contenuti completamente nuovi. Questo è fornito dalla sintassi PHP, ma questo uso apre molte possibilità.
Avendo fornito metodi di visualizzazione, salvando in formatodatabase, il ripristino in condizioni di lavoro (ad esempio) non dovrà pensare a cosa fare in un caso particolare. Tutti i file caricati vengono inseriti nell'array in sequenza e, quando viene elaborato, gli stessi metodi vengono sempre chiamati secondo lo stesso schema, ma il file immagine verrà visualizzato così com'è, il file del foglio di calcolo - come una tabella e il documento - come testo corrispondente. L'ultimo elemento, accessibile tramite la sintassi PHP, equipaggia l'array con le sue proprietà e il contenuto specifico.
In quest'ultimo caso, il documento ha sempre simboli,stringhe, numeri e, soprattutto, formattazione. Tenere traccia di ogni elemento è difficile, ma fornendo un oggetto appropriato per ogni elemento del formato, è possibile ottenere il documento così com'è senza esitazione.
Quando si lavora solo con l'ultimo elemento,la condizione principale è lo stack, ma quando questo elemento viene eseguito e utilizza la stessa costruzione, e soprattutto se stesso, è la ricorsione. Ci sono molte cose positive da dire sulle librerie PHPOffice, come PHPWord, ma non si può affermare che implementino un meccanismo completo che traduce la formattazione del documento originale in un risultato.
In effetti, usando PHPOfficePHPWord, puoi semplicemente aprire qualsiasi documento Word (* .docx), ma questo è solo un archivio di molti file xml strutturati, immagini, oggetti, ecc.
Inoltre, se prendi solo file xml, sebbene essisono interconnessi (in termini di stili, tabelle, immagini), non sarà possibile formare un nuovo documento basato su quello vecchio e semplicemente trasferirvi le modifiche desiderate (ad esempio, cambiare il carattere, i colori, la formattazione). Ci sono molti usi per i tag Open XML e anche un prodotto ben sintonizzato come MS Word non sempre fa fronte alle idee dell'utente, commettendo errori.
In realtà *.docx è un archivio zip con una struttura chiara e comprensibile. Utilizzando un numero limitato di oggetti, è possibile descriverlo formalmente e ottenere, al momento della lettura, una struttura dati indipendente e completa che può essere gestita semanticamente.
In questo caso, le informazioni nel documento sono una struttura dati formale. Dopo avergli dato la dinamica, si può facilmente passare al livello di significato e astrarre dalla sintassi.