Spațiu de nume PHP: Un exemplu. Cum se utilizează spațiile de nume în PHP?

O variabilă definește o valoare, dar poate fi o referință la o altă variabilă și are valoarea ei. În procesul de execuție a algoritmului, variabila are, de obicei, o mulțime de valori diferite. Constanta stochează doar o singură valoare. Obiectul este imprevizibil: este inerent să ai o structură, un conținut și multe caracteristici.

php namespace

Un spațiu de nume este o colecție de variabile, constante, obiecte, funcții și alte constructe create de dezvoltator, care pot fi menționate prin numele acestui spațiu de nume.

Nume: domeniul de aplicare al descrierii datelor și al algoritmilor

Numele elementelor (variabile, constante, obiecte, funcții și alte modele dezvoltator) nu se intersectează. Orice asemănare de nume PHP interpretează ca o greșeală gravă, iar în cazurile în care nu se poate identifica în mod unic problema, dezvoltatorul primește codul nu funcționează conform destinației prevăzute, sau o cutie albă în browser.

Toate numele tuturor datelor trebuie să fie unice, deoarece spațiul este global. De asemenea, numele obiectelor și funcțiilor nu trebuie repetate, dar domeniul vizibilității globale este întrerupt în corpurile metodelor de obiecte și funcții. Există propriul spațiu de nume local și nimic nu împiedică să apeleze la ceva în același mod în care este indicat din exterior.

Exemplu de variabile, analogia spațiului de nume

Exemplul de mai sus este un clasic dacă nu acordați atenție spațiilor de nume de cuvinte cheie: totul, ca întotdeauna. Există oa doua includere. Prefixul NameSpaceTwo înainte de numele funcțiilor specifică care este inserarea codului.

Dacă cuvântul cheie global este eliminat din prima funcție și operația $ iExt = 1 este mutată pe linia următoare, nici prima funcție, nici cea de-a doua funcție nu va cunoaște valoarea variabilei 100.

Spații de nume: multe sfere de descriere

În exemplul prezentat, există un fișier comun care utilizează două insule. Fiecare inserție are aceeași funcție scCheckName (). Pe ce alegeți, programatorul decide prin numele spațiului care este relevant la momentul potrivit în locul potrivit al codului.

Faptul că același nume este prezent în codul comun (după fuzionarea inserturilor) nu duce la o eroare din simplul motiv că fiecare fișier insert este marcat cu propriul său nume unic.

În primul fișier, tot ceea ce va fi descris în el este asociat cu numele NameSpaceOne. În al doilea fișier, toate descrierile sunt legate de numele NameSpaceTwo.

Orice duplicare a numelor în ambele fișiere este permisă, dar în fiecare dintre ele orice nume al elementului (variabilă, constantă, obiect, funcție) trebuie să fie unic.

Înlocuirea spațiului de nume
Înlocuirea spațiului de nume

În acest exemplu, schimbarea numelui spațiului de nume în apelul funcției scCheckName () a salvat variația $ iExt a celui de-al doilea spațiu de nume de la modificare. De aceea, cuvântul "schimbat" este evidențiat în mod special în exemplu - schimbarea nu a avut loc efectiv. Valoarea variabilei rămâne aceeași.

Testarea și designul multiplu

Aceste exemple simple arată: puteți simplifica cu ușurință dezvoltarea proiectelor complexe, pentru a îmbunătăți eficiența, productivitatea și a accelera munca. Din nefericire, primele idei ale aplicației namespace au apărut imediat:

  • testarea sigură a scripturilor - prin înlocuirea spațiilor "de lucru" cu analogii de testare;
  • proiectarea sigură de către echipe mari de dezvoltatori - oferindu-le spații de descriere a caracteristicilor "individuale".

De fapt, spațiul de nume este mult mai important. Limbajul PHP, spațiul de nume și descrierea fiecărui element (variabilă, constantă, obiect ...) pentru o lungă perioadă de timp pentru a oferi dezvoltatorilor o oportunitate de a manipula sintaxa si semantica.

cuvinte cheie

Construirea limbajului și regula generală a programării moderne: "înțeleasă" - îndeplinită - există o contradicție - "ecranul alb" al dezvoltatorului profesionist "nu funcționează".

Mulți programatori nu sunt chiar conștienți de unde să caute un mesaj de eroare PHP atunci când nu există nimic în browser (o cutie albă curată). Într-o anumită etapă a dezvoltării sale, programatorul gândește în sintaxa și semantica PHP, "lucrează" în mod automat și rezultatul: sintaxa proprie și propria semantică în cadrul permisului.

Ecranul alb este o reacție fără echivoc a programatorului profesionist și eroarea este eliminată. De ce pierdeți timpul de depanare și vizualizarea istoricului de erori?

Obiecte, tablouri și spații de nume

Puteți spune că variabilele, constantele și funcțiile sunt ultimul secol, însă ele sunt folosite în dezvoltarea obiectelor. Un cod bun este atunci când algoritmul este reprezentat de obiecte care interacționează, mai degrabă decât de o succesiune de construcții valide.

php namespace autoload

Dacă utilizați matrice de obiecte, manipula ideea stivă și elementul ultimul (primul) din matrice, puteți obține dinamica: obiectele ei înșiși „decid“ cum să lucreze funcționalitatea site-ului, în funcție de situația existentă.

În PHP, spațiul de nume este un tip special de variabilă, reprezentat de propriul său nume unic, adesea complex. Numele spațiului de nume este folosit în cod. Dacă acesta este un șir, puteți înlocui un spațiu cu altul în timpul executării scriptului.

Dacă numele de spațiu de nume PHP sunt folosite ca valori variabile, atunci aceasta este o sintaxă încărcată mai mult semantic, chiar mai puternică decât arrays de obiecte.

Un obiect este o structură și un conținut care se caracterizează prin unitate. Un spațiu de nume este un set de obiecte, elemente și conexiuni între ele.

spațiul este global

Nu puteți efectua experimente pe un sistem care rulează, dar datorită spațiului de nume PHP oferă posibilitatea de a modela un sistem de lucru real într-un alt spațiu în scopuri:

  • dezvoltarea ulterioară;
  • testare;
  • întreținere etc.


Dacă vă abateți de la sintaxa oferită de dezvoltatorii PHP și prezența spațiilor de nume ca sisteme complexe de obiecte complexe, atunci orizonturile oportunităților se extind de mai multe ori.

Sintaxă și aplicație spațiu de nume

Spațiul de nume de cuvinte PHP are doar prima linie de cod pentru fiecare fișier. Toate descrierile ar trebui să fie valabile numai pentru el. Sintaxa include numai numele desemnat în sensul obișnuit al numelui.

Este esențial să folosiți cuvintele corecte care reflectă semnificația. Mai bine atunci când numele este lung, dar există ceva care oferă o înțelegere clară a ceea ce spațiu în cauză că aceasta nu descrie că ceea ce ia sau ce a creat.

Spațiile pot fi imbricate unul pe altul infinit, dar acest lucru nu ar trebui să fie abuzat. Numele trebuie să fie de înțeles, cuibul este justificat, iar succesiunea numelor spațiilor ar trebui să aibă logică.

În aplicațiile și în aplicațiile din spațiul de nume, PHP permite codificarea complexă, dar ori de câte ori există o astfel de posibilitate, este mai bine să faceți o opțiune simplă.

php namespace clase de autoloading

Regula generală: spațiul de nume este o descriere și acesta este un fișier, utilizarea este importul de spațiu într-un script de utilizare și atribuirea unui pseudonim (scurt link) la ea.

Un exemplu simplu de clase de autoloading (obiecte)

În sarcină există un obiect pentru manipularea liniilor, stilurile de proiectare a elementelor de pagină (descrieri CSS), obiectul de date, sistemul de fișiere și baza de date. Sentimentul de punere în aplicare este de a crea interfețe simple pentru aceste cinci poziții pentru a utiliza capabilitățile necesare numai prin metodele acestor obiecte.

Nu este permisă utilizarea directă a funcțiilor și construcțiilor limbii. În această sarcină, PHP folosește clasa autoloading. Spațiul de nume este considerat o colecție de obiecte situate într-un anumit loc în sistemul de fișiere. De obicei, toate obiectele sunt plasate în sistemul de fișiere prin simț, prin dosar și în fișiere cu un nume specific.

Clase automate (obiecte)

Codul din stânga indică crearea a cinci obiecte necesare, dar unde exact ele nu sunt specificate. În codul, dreapta este textul autoincarcatorul (scenariul de bază), care, atunci când clase încărcate (obiecte) introduce automat calea corectă pentru localizarea obiectului și extensia .php fișier.

Un exemplu de set de spații de nume

Biblioteca PhpOffice / PhpWord este un bun exemplu de utilizare a unei ierarhii complexe a numeroaselor spații de nume. Dosarul de elemente conține practic toată gama de elemente disponibile la crearea documentului * .docx (MS Word), alte foldere conțin instrumentele necesare pentru a lucra cu elemente, paragrafe și tabele.

php folosirea spațiului de nume

De fapt, biblioteca este plasată în folderul proiectului pentru motivul că spațiul de funcționalitate PhpOffice / PhpWord este necesar să fie completat cu instrumente specifice și, eventual, să creeze o versiune proprie a unui produs similar.

Încărcarea unui set de clase de spații de nume diferite

Utilizarea PHP spațiu de nume autoload, atunci când aveți nevoie pentru a încărca un set de clase, iar ierarhia obiectelor sistem dezvoltat este destul de complicată și este greu de imaginat, duce la necesitatea de a stabili structuri rigide.

Dezvoltator Orientare (produs utilizat pentru continuarea lucrărilor) este posibilă numai în contextul semantica (proiectul de înțelegere), care este reprezentat printr-o combinație adecvată de cuvinte care reflectă valoarea reală a obiectelor și a relațiilor.

scenariul principal

Nevoia de a folosi biblioteca într-un proiect individual duce la rezolvarea problemei cum se combină spațiile de nume ale dezvoltatorului și ale autorilor PhpOffice / PhpWord. Cel mai bun mod este să plasați acest produs (spațiile și obiectele acestuia) în spațiul propriu al proiectului.

Este important să rețineți că fără modificarea spațiilor de nume ale acestui produs la nivelul elementelor sale abstracte și al claselor de încărcare, nu va fi posibilă gestionarea. Aceasta indică faptul că în spațiul de nume PHP, utilizarea spațiului de nume intern nu poate fi efectuată abstract și universal.

Sistem de fișiere și localizarea spațiilor

În esență, spațiile de nume sunt "conturul" căii din sistemul de fișiere la obiectul dorit. Utilizarea numelor de fișiere ca nume de obiecte este naturală și familiară. Folosirea numelor de dosare ca spații de nume este obiectivă.

Organizarea "lemnului" de informații este destul de greoaie în aplicare și complică dezvoltarea, dar reprezintă o reprezentare naturală a sistemelor de obiecte.

Problema este că faza de dezvoltare este reprezentat de un editor de cod specific care combină reprezentarea vizibilă a dosarului și conținutul unui anumit dosar, dar încă nu există nici un astfel de editor, care să asigure, prin traficul de pe proiectele și dosarele.

Problema abstractității și universalității

Acceptată de conștiința dezvoltatorului și în mod obiectiv în realitate:

  • Programarea orientată pe obiecte (OOP) oferă abstractizare și capacitatea de a manipula informațiile în funcție de semantica lor reală;
  • Spațiile de nume reflectă poziția scripturilor, obiectelor și, în parte, semnificația proiectului în sistemul de fișiere

De fapt, care combină captarea OEP în numele obiectelor (fișiere), și pune-l pe sistemul de fișiere (dosar) cu numele de formare namepace adecvat (calea + numele), puteți controla formarea spațiul de nume în procesul de executare a scriptului.

Programarea a dobândit deja un puternic impuls de dezvoltare, dar în cazul în care procesul de transfer și încărcați faza de dezvoltare, cu un editor de text (care creează script-uri și plasat copac dosar) la ideea formării unui astfel de cod, care se permite să îmbunătățească și să fie plasate în locul potrivit la sistemul de fișiere - programare se va ridica la o înălțime nouă.

Distribuiți pe rețelele sociale:

înrudit
Tipuri de variabile în Pascal: descriere, proprietăți, exempleTipuri de variabile în Pascal: descriere, proprietăți, exemple
Encapsularea este ceea ce? Încapsulare în programareEncapsularea este ceea ce? Încapsulare în programare
PHP este o variabilă globală într-o funcție. Faceți variabilă globală în PHPPHP este o variabilă globală într-o funcție. Faceți variabilă globală în PHP
Programare: Java. Tipuri de dateProgramare: Java. Tipuri de date
JS foreach obiect ca design varianteJS foreach obiect ca design variante
Dezvoltarea aplicațiilor pentru iOS: de unde să încep?Dezvoltarea aplicațiilor pentru iOS: de unde să încep?
Conversia de tip. Funcții rotunde și Trunc în PascalConversia de tip. Funcții rotunde și Trunc în Pascal
BigInteger Java: lucrul cu numere mariBigInteger Java: lucrul cu numere mari
jаvascript Array pentru a stoca un număr nelimitat de variabilejаvascript Array pentru a stoca un număr nelimitat de variabile
String operator în Pascal - șirString operator în Pascal - șir
» » Spațiu de nume PHP: Un exemplu. Cum se utilizează spațiile de nume în PHP?