PHP: variabile globale in funzione

08/04/2019

La pagina Web generata dal server deve essere corretta. Il compito del linguaggio server è quello di formare una pagina, ma il suo ruolo è secondario. Il codice PHP è l'inserimento nella pagina, ma non la pagina stessa. Idealmente, puoi garantire la creazione della pagina al volo. Una risorsa web si basa su un'idea realizzata sotto forma di informazioni organizzate, in un certo senso. Solo in una piccola parte - queste sono descrizioni di dati che elaborano algoritmi specifici.

HTML + JavaScript e CSS = Pagina

Tutto ciò che il browser riceve è un flusso di informazioni che è sistematizzato e organizzato in modo rigorosamente definito. È possibile chiamare il trasferimento dal server al browser di un flusso di dati, ma questi dati hanno un significato specifico ed è il risultato del lavoro non solo del programmatore.

Il risultato generato dal server include il lavoro del designer, dell'analista, del project manager. Questo è il significato, cioè informazioni organizzate su una risorsa web. Un errore in questa discussione per qualsiasi motivo causerà danni alla causa comune.

Una caratteristica della moderna programmazione di Internet è il silenzio e il silenzio per qualsiasi motivo imprevisto. L'errore può facilmente passare inosservato e portare a conseguenze inaspettate, anche se dopo aver caricato il browser ha visualizzato il flusso di informazioni ricevuto nel modo in cui i suoi creatori volevano vedere.

Browser, DOM e informazioni

significativo:

  • dati, e questo non è solo e non così tanto variabili PHP;
  • codice, e questo non è solo PHP.

PHP è un linguaggio di inserimento, ma l'utilizzo di dati globali in funzioni locali è importante. Valutando il ruolo di qualsiasi linguaggio server, è difficile aumentare il suo valore al di sopra del posto che occupa, ma spesso è davvero necessario. Il posto di PHP è un inserto all'interno della pagina anche nel caso limite quando la pagina è creata esclusivamente dalla lingua stessa. La pagina non è mai sola e omogenea:

  • ha HTML;
  • gli elementi sono assegnati ai gestori JavaScript;
  • i tag sono descritti tramite CSS;
  • disponibile: codice JavaScript, JSON, altri inserti.

Tutta questa comunità eterogenea dovrebbe determinare cosa deve analizzare il browser e come costruire un albero DOM che determina l'aspetto e la funzionalità della pagina.

Inserti PHP: descrizioni e algoritmi

Ci sono due idee fondamentalmente diverse che PHP implementa. Il primo consente di abilitare / disabilitare blocchi di testo HTML dalla partecipazione al flusso di output. Il secondo è il codice immediato: descrizioni variabili, algoritmi e una massa di funzioni locali che necessitano di dati globali.

In ogni caso, è possibile utilizzare variabili globali PHP. Nella prima casella digitare variabili usato solo Negli inserti del secondo tipo possono essere modificati.

Qualsiasi variabile descritta nel riquadro si riferisce all'ambito globale. Una variabile locale fa la sua descrizione all'interno di una funzione, oggetto o metodo di un oggetto. È generalmente accettato che ogni oggetto debba essere registrato come un file separato.

Durante la visualizzazione del testo HTML, PHP esegue il codice in sequenza: una regola dell'interprete generale che il programmatore non dovrebbe seguire per evitare errori imprevisti. È importante inviare: tutti gli inserimenti vengono elaborati in sequenza.

Inserisci degli esempi

Nell'esempio (1), viene inserita la descrizione di una sola variabile $ cPageName. Nell'esempio (2) nello stesso posto (il blocco "HEAD") l'inizializzazione dell'insieme di variabili globali PHP dal set di dati GET e POST è $ _REQUEST.

Nel secondo esempio, il codice PHP viene inserito dai file: scQS.php e save-visit-to-page.php, il primo file carica e inizializza il sistema oggetto dell'applicazione, il secondo file esegue la registrazione di una visita a questa pagina.

Entrambi i file creano anche variabili di classe globali. PHP non sistematizza la dichiarazione e l'uso delle variabili. Tutti gli annunci sono gestiti da un programmatore.

Una circostanza radicalmente diversa.

Le matrici di dati globali $ _GET, $ _POST, $ _REQUEST, $ _SERVER sono sempre disponibili, ma non sempre contengono i dati necessari. Puoi anche contare su queste sessioni e cookie. Puoi pensare a tutto questo come a un modo originale di dichiarare una variabile globale. PHP stesso gestisce i dati inseriti in questi array.

Variabili globali del server

Manipolando i valori durante il trasferimento (GET, POST), nei cookie, nelle sessioni, è possibile trasferire i dati tra le pagine o la pagina stessa perfettamente al sicuro: nulla è perso, è semplice, anche se sembra strano e macchinoso.

Ma è importante capire e conoscere una circostanza estremamente importante. Le variabili globali PHP e SERVER "live" una sola volta: al momento della conversione! Quando il browser apre o aggiorna la pagina: la vita inizia. Non appena la pagina entra nel browser, la "vita" si ferma.

La circolazione sarà di un milione di "vite". Esattamente tante volte SERVER consentirà a PHP di creare e utilizzare tutto ciò che il programmatore ha descritto e precisamente in base agli algoritmi di questo programmatore.

Non c'è alcuna connessione tra le "vite"!

Trucchi cardinali ma efficaci.

Il programmatore PHP ha sempre bisogno di una variabile globale e non solo quando il browser ha visitato una risorsa Web o il visitatore ha deciso di aggiornare la pagina. Il programmatore in generale potrebbe desiderare che l'intero sistema di oggetti creati da lui non esistesse di volta in volta, ma in modo permanente.

La risorsa Web è progettata, creata. Ciò significa che tutte le sue pagine dovrebbero "vivere", se non per sempre, quindi almeno in un intervallo di tempo controllato. Tra visite anche di visitatori.

C'è un solo modo sicuro per cambiare le cose: dichiarare una variabile PHP globale nel browser. Ciò è controintuitivo e può danneggiare i problemi di sicurezza, ma questa è un'idea interessante e interessante.

Variabile del browser

Per quanto riguarda la sicurezza, questa è la preoccupazione di un programmatore. Il compito è semplice e risolvibile. Per quanto riguarda l'assurdità, non lo è. Usando JSON, il meccanismo AJAX e la tua immaginazione, puoi trasferire il centro di gravità dal server al browser e creare lì l'opzione per visualizzare i dati sul numero di variabili globali PHP necessarie.

Ambito di nidificazione

Tutto ciò che viene dichiarato al di fuori dei corpi di una funzione, oggetto o metodo di un oggetto appartiene a tutti. Ma per utilizzare le variabili comuni (globali) nel posto giusto, è necessario utilizzare la parola chiave globale.

Globale: uso

In questo esempio, tutte le variabili elencate dopo la parola chiave globale sono disponibili nel costruttore e nelle funzioni dell'oggetto scStartView (). Che cosa esattamente portano il significato, come esattamente possono essere usati, solo il programmatore lo sa. In PHP, le variabili globali in una funzione vengono solo per nome. Il programmatore definisce l'altro.

Il corpo di una funzione, oggetto o metodo di un oggetto dovrebbe essere inteso per significare tutto ciò che è all'interno di "{...}". Le parentesi graffe sono i limiti dell'ambito locale. La funzione descritta all'interno di un'altra funzione ha il suo ambito. Nessun codice può penetrare l'ambito locale.

Il transito dei dati all'interno del codice

La domanda: come creare una variabile PHP globale, si traduce al momento in cui viene chiamato il codice. Altrimenti, PHP non limita il programmatore. È possibile utilizzare cookie, sessioni e array globali. Ottimale: JSON e AJAX e le viscere del browser. L'ultima opzione è la migliore, ma richiede una buona conoscenza di JavaScript.

Il transito dei dati all'interno del codice

Fondamentalmente, non c'è, e non c'è mai stata una separazione tra programmazione del browser (frontend) e backend del server. Sebbene dal punto di vista della pubblicità, dell'immagine e del modo di spiegare al cliente che lavorare per un centesimo costa tanto quanto due rubli, ha senso.

Ogni programmatore PHP deve avere una solida conoscenza di cosa sia l'HTML e di come viene costruito il DOM, quindi, la conoscenza iniziale di JavaScript dovrebbe essere nell'ordine delle cose. Programmatore JavaScript e solo - senza senso, anche se c'è un reale bisogno di qualifiche estremamente ristrette. La piena conoscenza delle parti client e server è normale.

La durata della pagina, mentre si forma sul server, crea una reale necessità di trasferire le informazioni tra le pagine e all'interno della stessa pagina durante tutto il tempo in cui un visitatore si trova sul sito.

È spesso importante gestire i dati tra diversi (multipli) visitatori. Archiviare e trasferire (transitare) i dati nel tempo è una procedura molto responsabile e importante. Il transito dei dati all'interno del codice nel tempo espande le possibilità di programmazione.

L'esempio più semplice di una soluzione PHP: la creazione di una variabile globale può essere banale in un file di testo. Non è difficile Questo è fatto al momento di visitare la pagina (ad esempio). Viene letto quando la pagina viene aperta (tutti gli inserti sono presi dai file). Nulla impedisce di cambiare file nel corso della visita da parte di un visitatore, in attesa di visitare il secondo.

Sicurezza e problemi di sicurezza dei dati

Qualsiasi variabile globale è una potenziale minaccia. Rubare una variabile PHP è difficile se non possibile. Puoi quasi sempre vedere la variabile JavaScript. Se tutto è codificato nel browser e sul server, viene creato un ostacolo per l'attaccante, che ha un effetto negativo sullo sviluppatore.

Il testo codificato della sceneggiatura, dovunque sia, per lo sviluppatore - difficoltà non necessarie. Tutto ciò che è memorizzato in file di testo o in un database non è un argomento.

Problemi di sicurezza

Una buona soluzione è utilizzare la programmazione orientata agli oggetti, quando viene creato un sistema di oggetti che determina autonomamente le variabili necessarie in un dato momento.

Tale sistema di oggetti esiste nel browser insieme alla pagina DOM nello stato corrente e cambia il suo stato in base alla modifica nel DOM. Monitorare le dinamiche è più difficile della statica e aver implementato la trasformazione del sistema oggetti javascript In una versione adeguata di PHP, cioè sul server, è possibile garantire sia l'integrità dei dati che i problemi di sicurezza.

Posto di PHP e sue variabili

Modellare la pagina - il compito principale di PHP. L'uso dei sistemi di gestione dei siti (CMS) limita il programmatore e gli impone un determinato concetto di gestione delle variabili globali. Qualsiasi CMS è la massa delle sue variabili e al 99% di esse non è richiesto di creare un sito specifico.

Utilizzo di CMS: framework

Nella sua forma pura, la parte server del sito è un database e file. Il luogo in cui sono archiviate le informazioni che il browser "riconosce" come una risorsa Web. In effetti, un programmatore che sta codificando qualcosa in PHP, specificando qualcosa in JavaScript lo aiuta in questo. Il layout HTML / CSS è collegato ad esso.

Ma in ogni caso, il server è la possibilità di salvare, leggere, cambiare. In questo contesto, se segui la classica logica umana delle cose: il cliente ha sempre ragione, allora puoi spostare il centro di gravità nel browser e "trasferire" al cliente le redini del "governo". Infatti, il client non riceverà nulla, ma in base alle sue azioni è possibile pianificare il comportamento del server.

Con questo approccio, una visita a una risorsa Web avvia una sessione di lavoro, genera valori iniziali di variabili e la pagina generata vola nel browser, avviando il lavoro di un cliente specifico. Le azioni di questo cliente portano a modifiche che vengono trasmesse al server che risponde in modo appropriato. Il contenuto nel browser cambia in modo adeguato. La prossima iniziativa del cliente sono altri cambiamenti.

Spostare il centro di gravità dal server al client consente di guardare la risorsa Web dall'altra parte e prestare maggiore attenzione ai processi di formazione del contenuto del sito Web da parte del consumatore reale.

Fantasie degli sviluppatori

Le volte in cui i siti sono stati creati secondo i modelli con sicurezza passano alla storia. I tempi della potenza del sistema di gestione del sito sono ancora in corso, il che crea reali limiti sia nell'uso delle variabili che nella creazione di algoritmi progressivi.

In sostanza, un CMS è un trasferimento del centro di gravità dal programmatore al cliente. Il primo installa e configura il CMS, il secondo lo riempie di informazioni e lo usa. Spesso, al programmatore viene chiesto di scrivere codice per analizzare automaticamente e popolare il database con le informazioni, ma questo non è esattamente ciò che la vita richiede.

Suggerimenti PHP

Arriva il tempo dei siti dinamici. Vi è una reale necessità di gestire i dati, rispondere rapidamente alle minacce e garantire l'esistenza adattiva di una risorsa web. La fantasia di uno sviluppatore nella versione "specialista in dati dinamici e algoritmi" è in primo luogo un'esperienza fondamentale nella gestione di variabili e codice all'interno del browser e sul server, e quindi un sito web efficace e dinamico di una nuova generazione di idee.