PHP: globalna varijabla u funkciji

8. 4. 2019.

Web stranica koju generira poslužitelj mora biti točna. Zadatak jezika poslužitelja je formiranje stranice, ali je njegova uloga sekundarna. PHP kod je umetanje u stranicu, ali ne i sama stranica. U idealnom slučaju, možete osigurati stvaranje stranice u letu. Web-izvor temelji se na ideji koja se ostvaruje u obliku organiziranih, na određeni način, informacija. Samo u malom dijelu - to su opisi podataka koji obrađuju određene algoritme.

HTML + JavaScript i CSS = Stranica

Sve što preglednik prima je tok informacija koji je sistematiziran i organiziran na strogo definiran način. Prijenos s poslužitelja na preglednik možete nazvati tok podataka, ali ti podaci nose određeno značenje i rezultat su rada ne samo programera.

Rezultat koji generira poslužitelj uključuje rad dizajnera, analitičara, voditelja projekta. To je značenje, odnosno, organiziranje informacija na web-resursu. Pogreška u ovoj niti iz bilo kojeg razloga uzrokovat će oštećenje uobičajenog uzroka.

Karakteristično obilježje modernog internetskog programiranja je tišina i tišina iz bilo kojeg nepredviđenog razloga. Pogreška može lako proći nezapaženo i dovesti do neočekivanih posljedica, čak i ako nakon učitavanja preglednika prikazani primljeni tok informacija bude prikazan na način koji su njegovi tvorci željeli vidjeti.

Preglednik, DOM i informacije

značajna:

  • podataka, a to nisu samo PHP varijable;
  • i to nije samo PHP.

PHP je jezik umetanja, ali je važno koristiti globalne podatke u lokalnim funkcijama. Ocjenjujući ulogu bilo kojeg poslužiteljskog jezika, teško je podići njegovu vrijednost iznad mjesta koje zauzima, ali često je stvarno potrebno. PHP-ovo mjesto je umetak unutar stranice čak iu ograničavajućem slučaju kada je stranica izrađena isključivo jezikom u cijelosti. Stranica nikada nije usamljena i homogena:

  • ima HTML;
  • elementima su dodijeljeni JavaScript rukovatelji;
  • oznake su opisane putem CSS-a;
  • dostupno: JavaScript kod, JSON, ostali umetci.

Sve ove šarene zajednice trebale bi odrediti što bi preglednik trebao raščlaniti i kako izgraditi DOM stablo koje određuje izgled i funkcionalnost stranice.

PHP umetci: opisi i algoritmi

Postoje dvije fundamentalno različite ideje koje PHP implementira. Prvi vam omogućuje da omogućite / onemogućite blokove HTML teksta da sudjeluju u izlaznom toku. Drugi je trenutni kod: opisi varijabli, algoritmi i masa lokalnih funkcija koje trebaju globalne podatke.

U svakom slučaju, PHP globalne varijable mogu se koristiti. U prvom okviru varijable tipa koristi se samo. U umetcima drugog tipa mogu se mijenjati.

Svaka varijabla opisana u prilogu odnosi se na globalni opseg. Lokalna varijabla čini njegov opis unutar funkcije, objekta ili metode objekta. Općenito je prihvaćeno da svaki objekt treba biti zabilježen kao zasebna datoteka.

Kada gledate HTML tekst, PHP izvršava kôd sekvencijalno - opće pravilo tumača koje programer ne bi trebao slijediti kako bi izbjegao neočekivane pogreške. Važno je podnijeti: svi umetci se obrađuju sekvencijalno.

Umetnite primjere

U primjeru (1), umetnut je opis samo jedne varijable $ cPageName. U primjeru (2) na istom mjestu (blok HEAD) inicijalizacija skupa globalnih globalnih varijabli iz GET i POST skupa podataka je $ _REQUEST.

U drugom primjeru, PHP kod je umetnut iz datoteka: scQS.php i save-visit-to-page.php, prva datoteka učitava i inicijalizira objektni sustav aplikacije, druga datoteka vrši registraciju posjeta ovoj stranici.

Obje datoteke također stvaraju varijable globalne klase. PHP ne sistematizira deklaraciju i upotrebu varijabli. Sve najave upravlja programer.

Jedna radikalno drugačija okolnost.

Globalni nizovi podataka $ _GET, $ _POST, $ _REQUEST, $ _SERVER su uvijek dostupni, ali ne sadrže uvijek potrebne podatke. Također možete računati na ove sesije i kolačiće. Sve to možete zamisliti kao izvorni način proglašavanja globalne varijable. PHP sama upravlja podacima smještenim u tim nizovima.

Globalne varijable poslužitelja

Manipuliranjem vrijednosti tijekom prijenosa (GET, POST), u kolačićima, u sesijama, možete prenijeti podatke između stranica ili same stranice savršeno sigurno: ništa se ne gubi, to je jednostavno, iako izgleda čudno i glomazno.

No važno je razumjeti i znati jednu iznimno važnu okolnost. Globalne varijable PHP i SERVER "žive" samo jednom: u vrijeme pretvorbe! Kada se preglednik otvori ili osvježi stranicu: život počinje. Čim stranica uđe u preglednik, “život” prestaje.

Cirkulacija će biti milijun značenje "života". Upravo toliko puta SERVER će omogućiti PHP-u da kreira i koristi sve što je programer opisao i točno prema algoritmima ovog programera.

Nema veze između "života"!

Kardinalni, ali učinkoviti trikovi.

PHP programer uvijek treba globalnu varijablu, a ne samo kada je preglednik posjetio web-izvor ili je posjetitelj odlučio osvježiti stranicu. Programer općenito može poželjeti da cijeli sustav objekata koje je on stvorio nije postojao s vremena na vrijeme, nego trajno.

Izrađen je web-izvor. To znači da bi sve njegove stranice trebale "živjeti", ako ne i zauvijek, onda barem u kontroliranom vremenskom rasponu. Između posjeta posjetitelja.

Postoji samo jedan siguran način za promjenu stvari: deklarirati globalnu PHP varijablu u pregledniku. To je protuintuitivno i može oštetiti sigurnosne probleme, ali ovo je cool i zanimljiva ideja.

Varijabla preglednika

Što se tiče sigurnosti, ovo je zabrinutost programera. Zadatak je jednostavan i rješiv. Što se tiče apsurda, nije. Koristeći JSON, AJAX mehanizam i vlastitu maštu, možete prenijeti centar gravitacije s poslužitelja na preglednik i stvoriti tu opciju za prikaz podataka o broju potrebnih PHP globalnih varijabli.

Područje gniježđenja

Sve što je objavljeno izvan tijela funkcije, objekta ili metode objekta pripada svima. No da biste koristili uobičajene (globalne) varijable na pravom mjestu, morate koristiti ključnu riječ global.

Globalna uporaba

U ovom primjeru sve varijable koje su navedene nakon globalne ključne riječi dostupne su u konstruktoru i funkcijama objekta scStartView (). Što točno oni nose značenje, kako se točno mogu koristiti, samo programer zna. U PHP-u, globalne varijable u funkciji dolaze samo po imenu. Programer definira drugo.

Tijelo funkcije, objekta ili metode nekog objekta treba shvatiti kao značenje svega što je unutar "{...}". Kovrčave zagrade su granice lokalnog opsega. Funkcija opisana unutar druge funkcije ima svoj opseg. Nijedan kod ne može prodrijeti u lokalni opseg.

Prijenos podataka unutar koda

Pitanje - kako napraviti globalnu PHP varijablu, prevodi se u vrijeme kada se kod zove. Inače, PHP ne ograničava programera. Možete koristiti kolačiće, sesije i globalne nizove. Optimalno - JSON & AJAX i utroba preglednika. Zadnja opcija je najbolja, ali zahtijeva dobro poznavanje JavaScripta.

Prijenos podataka unutar koda

U osnovi, ne postoji i nikada nije bilo razdvajanja programiranja preglednika (frontend) i poslužiteljskog (backend) programiranja. Iako sa stajališta oglašavanja, slike i načina objašnjenja kupcu da rad za peni košta čak dva rublja, to ima smisla.

Svaki PHP programer mora imati solidno znanje o tome što je HTML i kako je izgrađen DOM, stoga bi početno JavaScript znanje trebalo biti u redu. JavaScript programer i samo - glupost, iako postoji stvarna potreba za iznimno uskim kvalifikacijama. Puno poznavanje dijelova klijenta i poslužitelja normalno je stanje.

Životni vijek stranice, dok je formiran na poslužitelju, stvara stvarnu potrebu za prijenosom informacija između stranica i unutar iste stranice tijekom cijelog vremena dok je posjetitelj na web-lokaciji.

Često je važno upravljati podacima između različitih (višestrukih) posjetitelja. Čuvanje i prijenos (prijenosa) podataka tijekom vremena vrlo je odgovoran i važan postupak. Prijenos podataka unutar koda u vremenu proširuje mogućnosti programiranja.

Najjednostavniji primjer PHP rješenja: stvaranje globalne varijable može biti trivijalno u tekstualnoj datoteci. Nije teško. To je učinjeno u vrijeme posjete stranici (kao primjer). Čita se kada se stranica otvori (svi unosi se uzimaju iz datoteka). Ništa ne sprečava promjenu datoteka tijekom posjeta od strane jednog posjetitelja, u očekivanju posjeta drugom.

Problemi sigurnosti i sigurnosti podataka

Svaka globalna varijabla je potencijalna prijetnja. Krađa PHP varijable je teška ako nije moguće. Uvijek možete vidjeti varijablu JavaScripta. Ako je sve kodirano u pregledniku i na poslužitelju, stvara se prepreka za napadača, što ima negativan učinak na razvojnog programera.

Kodirani tekst skripte, gdje god to može biti, za razvojnog programera - nepotrebne poteškoće. Sve pohranjene u tekstualnim datotekama ili u bazi podataka također nisu argument.

Pitanja sigurnosti i sigurnosti

Dobro rješenje je korištenje objektno orijentiranog programiranja, kada se kreira sustav objekata koji sam određuje varijable koje su potrebne u određenom trenutku.

Takav sustav objekata postoji u pregledniku zajedno s DOM stranicom u trenutnom stanju i mijenja svoje stanje u skladu s promjenom u DOM-u. Praćenje dinamike je teže od statike, a nakon implementacije transformacije sustava objekti javascripta U odgovarajućoj verziji PHP-a, tj. Na poslužitelju, možete osigurati i integritet podataka i sigurnosna pitanja.

Mjesto PHP-a i njegove varijable

Oblikovanje stranice - glavni zadatak PHP-a. Korištenje sustava za upravljanje mjestima (CMS) ograničava programera i nameće mu određeni koncept upravljanja globalnim varijablama. Bilo koji CMS je masa vlastitih varijabli, a 99% njih nije obvezno stvoriti određenu stranicu.

Korištenje CMS-a: okviri

U svom čistom obliku, poslužiteljski dio stranice je baza podataka i datoteke. Mjesto pohranjivanja informacija koje preglednik "prepoznaje" kao web-izvor. Zapravo, programer koji nešto šifrira u PHP-u, navodeći nešto u JavaScriptu, pomaže mu u tome. HTML / CSS izgled je priključen na njega.

No, u svakom slučaju, poslužitelj je mogućnost spremanja, čitanja, promjene. U tom kontekstu, ako slijedite klasičnu ljudsku logiku stvari: klijent je uvijek u pravu, onda možete pomaknuti gravitacijski centar u preglednik i “prenijeti” na klijenta uzde “vlade”. Zapravo, klijent neće primiti ništa, ali prema njegovim radnjama možete planirati ponašanje poslužitelja.

S ovim pristupom posjet web-resursu inicira sesiju rada, generira početne vrijednosti varijabli, a generirana stranica leti u preglednik, pokrećući rad određenog klijenta. Radnje ovog klijenta dovode do promjena koje se emitiraju na poslužitelj koji odgovara na odgovarajući način. Sadržaj u pregledniku se na odgovarajući način mijenja. Sljedeća inicijativa klijenta su druge promjene.

Pomicanje težišta s poslužitelja na klijenta omogućuje vam da pogledate web-resurse s druge strane i posvetite više pozornosti procesima stvaranja sadržaja web-mjesta od stvarnog potrošača.

Fantazije razvojnih programera

Vremena u kojima su stranice izrađivane prema predlošcima pouzdano ulaze u povijest. Vremena moći sustava upravljanja mjestima još uvijek traju, što stvara realna ograničenja u korištenju varijabli iu stvaranju progresivnih algoritama.

U biti, CMS je prijenos središta gravitacije s programera na kupca. Prvi instalira i konfigurira CMS, drugi ga popunjava informacijama i koristi ga. Često se od programera traži da napiše kôd kako bi automatski analizirao i popunio bazu podataka informacijama, ali to nije točno ono što život zahtijeva.

PHP Savjeti

Dolazi vrijeme dinamičkih web-lokacija. Postoji stvarna potreba za upravljanjem podacima, brzim odgovorom na prijetnje i osiguravanjem adaptivnog postojanja web-resursa. Fantazija razvojnog inženjera u verziji "stručnjak za dinamičke podatke i algoritme" prvo je temeljno iskustvo u upravljanju varijablama i kodom unutar preglednika i na poslužitelju, a zatim učinkovita i dinamična web stranica nove generacije ideja.