OqPoWah.com

Prostor imen PHP: primer. Kako uporabljati imena imen v PHP?

Spremenljivka določa vrednost, vendar je lahko sklic na drugo spremenljivko in ima svojo vrednost. V procesu izvajanja algoritma ima spremenljivka veliko različnih vrednosti. Stalna zaloga je samo ena vrednost. Objekt je nepredvidljiv: inherentno je imeti strukturo, vsebino in številne funkcije.

php namespace

Imenski prostor je zbirka spremenljivk, konstant, objektov, funkcij in drugih konstruktov, ki jih ustvari razvijalec, na katere se lahko sklicuje ime tega imenskega prostora.

Imena: obseg podatkov in algoritmi opis

Imena elementov (spremenljivke, konstante, predmeti, funkcije in drugi konstruktorji za razvijalce) se nikoli ne sekata. Vsako ujemanje imen PHP se razlaga kot resna napaka, v primerih, kjer ne more enolično prepoznati težave, razvijalec dobi kodo, ki ne deluje kot je bilo predvideno, ali belo polje v brskalniku.

Vsa imena vseh podatkov morajo biti edinstvena, saj je prostor globalni. Imena objektov in funkcij ne bi smeli ponavljati, vendar pa se obseg globalne prepoznavnosti prekinja v organih metod predmetov in funkcij. Obstaja lasten lokalni imenski prostor in nič ne preprečuje, da nekaj kliče na enak način, kot je označeno z zunanje strani.

Primer spremenljivk, analogija imenskega prostora

Zgornji primer je klasičen, če ne upoštevate imenskega prostora ključnih besed: vse, kot vedno. Obstaja še druga vključitev. Predpono NameSpaceTwo pred imeni funkcij določi, iz katere vstavitve se vzame koda.

Če je globalna ključna beseda odstranjena iz prve funkcije in se operacija $ iExt = 1 premakne v naslednjo vrstico, niti prva funkcija niti druga funkcija ne bodo poznali vrednosti spremenljivke 100.

Imenski prostori: številna področja opisa

V prikazanem primeru je skupna datoteka, ki uporablja dve vstavki. Vsak vložek ima isto scCheckName () funkcijo. Katerega lahko izberete, programer odloči s pomočjo imena prostora, ki je ustrezen ob pravem času na pravem mestu kode.

Dejstvo, da je isto ime prisotno v skupni kodi (po združitvi vstavkov), ne povzroča napake zaradi preprostega razloga, ker je vsaka vstavljena datoteka označena z lastnim edinstvenim imenom.

V prvi datoteki je vse, kar je opisano v njem, povezano z imenom NameSpaceOne. V drugi datoteki so vsi opisi povezani z imenom NameSpaceTwo.

Vsako podvajanje imen v obeh datotekah je dovoljeno, vendar mora biti v vsakem od njih vsako ime elementa (spremenljivka, konstanta, objekt, funkcija) edinstveno.

Zamenjava imenika
Zamenjava imenika

V tem primeru je spreminjanje imenskega imena v klicu funkcije scCheckName () shranilo spremenljivko $ iExt drugega imenskega prostora iz spremembe. Zato je v tem primeru posebej poudarjena beseda "spremenjena" - sprememba dejansko ni potekala. Vrednost spremenljivke ostaja enaka.

Preizkušanje in večplastni dizajn

Ti preprosti primeri kažejo, da lahko preprosto poenostavite razvoj zapletenih projektov, izboljšate učinkovitost, produktivnost in pospešite delo. Nedvomno so se prve zamisli za aplikacijo imenskega prostora takoj pojavile:

  • varno preizkušanje scenarijev - z zamenjavo "delovnih" prostorov s testnimi analogi;
  • varno oblikovanje s strani velikih skupin razvijalcev - tako, da jim ponujajo "individualne" opisne prostore.

Dejstvo je, da je imenski prostor veliko bolj pomemben. PHP jezik, imenski prostor in vsak element opisa (spremenljivka, konstanta, objekt ...) so razvijalcu omogočili samostojno manipulacijo sintakso in semantike za dolgo časa.

ključna beseda

Izgradnja jezika in splošno pravilo sodobnega programiranja: "razumljen" - izpolnjen - obstaja protislovje - "beli zaslon" na profesionalnem razvijalec "ne deluje".

Mnogi programerji se sploh ne zavedajo, kam naj iščejo sporočilo o napaki PHP, če v brskalniku ni ničesar (čista bela škatla). Na določeni stopnji razvoja programator razmišlja v sintaksi in semantiki PHP, samodejno deluje in rezultat: lastno sintakso in lastno semantiko znotraj dovoljene.

Beli zaslon je takoj nedvoumna reakcija profesionalnega programerja in napaka je odpravljena. Zakaj izgublja časovni razhroščevalnik in pogled dnevnika hrošča?

Objekti, nizi in imena imen

Lahko rečete, da so spremenljivke, konstante in funkcije zadnje stoletje, vendar se uporabljajo pri razvoju objektov. Dobra koda je, če algoritem predstavljajo interakcijski objekti in ne z zaporedjem veljavnih konstrukcij.

php namespace autoload

Če uporabljate niz objektov, manipulirate s idejo o skladu in zadnjim (prvim) elementom matrike, lahko dobite dinamiko: sami predmeti "odločijo", kako naj funkcionalnost mesta deluje, odvisno od nastajajoče situacije.

V PHP je imenski prostor posebna vrsta spremenljivke, ki jo predstavlja njegovo edinstveno ime, pogosto zapleteno. V imeniku se uporablja ime imenskega prostora. Če je to niz, lahko med izvajanjem skripta zamenjate en prostor z drugim.

Če so imena imen PHP prostora uporabljena kot spremenljive vrednosti, je to še bolj semantično naložena sintaksa, celo močnejša od nizov objektov.

Objekt je struktura in vsebina, za katero je značilna enotnost. Imenski prostor je niz predmetov, elementov in povezav med njimi.

prostor je globalni

Ne morete izvajati preizkusov na tekočem sistemu, vendar zahvaljujoč imenskemu prostoru PHP omogoča zmožnost modeliranja resničnega delovnega sistema v drugem prostoru za namene:

  • nadaljnji razvoj;
  • testiranje;
  • vzdrževanje itd.



Če se oddaljujete od sintakse, ki so jo razvili razvijalci PHP in predstavljajo imena imen kot globalni kompleksni objektni sistemi, se obzorja priložnosti večkrat razširijo.

Aplikacija sintakse in namespace

Beseda namespace PHP zajema samo prvo vrstico kode za vsako datoteko. Vsi opisi naj bi šli samo za njega. Sintaksa vključuje le ime, označeno v običajnem pomenu imena.

Bistveno je, da uporabite pravilne besede, ki odražajo pomen. Bolje je, če je ime dolgo, vendar je nekaj v njem, ki daje jasno razumevanje tega, kakšen prostor je vključen, kaj počne, kaj opisuje, kaj je potrebno ali za kaj je ustvarjeno.

Prostori se lahko neskončno ujemajo med seboj, vendar se to ne sme zlorabiti. Ime mora biti razumljivo, gnezdenje je upravičeno, zaporedje imen prostorov pa mora imeti logiko.

V aplikacijah za uporabo in imenskem prostoru PHP omogoča kompleksno kodiranje, toda kadar koli obstaja takšna možnost, je bolje narediti s preprosto možnostjo.

php autoloading razred namespace

Splošno pravilo: namespace je opis in to je ena datoteka, uporaba uvaža prostor v skript za uporabo in ji dodeli vzdevek (kratka povezava).

Preprost primer avtomatskih razredov (predmetov)

V nalogi je predmet za manipuliranje vrstic, sloge oblikovanja elementov strani (CSS opisi), objekt datuma, datotečni sistem in baza podatkov. Smisel za izvajanje je ustvariti preproste vmesnike za teh pet položajev, da bi uporabili potrebne zmogljivosti samo z metodami teh predmetov.

Ni dovoljena neposredna uporaba funkcij in konstrukcij jezika. V tej nalogi PHP uporablja avtomatsko nalaganje razreda. Imenski prostor se obravnava kot zbirka predmetov, ki se nahajajo na določenem mestu v datotečnem sistemu. Običajno so vsi predmeti postavljeni v datotečni sistem po smisla, po mapi in v datotekah s posebnim imenom.

Razredi za samodejno nalaganje (predmeti)

Koda na levi označuje ustvarjanje potrebnih petih objektov, toda kje točno niso, ni določeno. Koda na desni prikazuje besedilo autoloaderja (glavnega skripta), ki pri nalaganju razredov (predmetov) samodejno pošlje zahtevano pot do lokacije predmeta in razširitve datoteke .php.

Primer množice imenskih prostorov

Knjižnica PhpOffice / PhpWord je dober primer uporabe kompleksne hierarhije več imenskih prostorov. Mapa elementov vsebuje praktično celoten nabor elementov, ki so na voljo pri ustvarjanju dokumenta * .docx (MS Word), druge mape pa vsebujejo potrebna orodja za delo z elementi, odstavki in tabelami.

php namespace uporabo

Pravzaprav je knjižnica nameščena v projektno mapo zaradi tega, ker je treba prostor funkcionalnosti PhpOffice / PhpWord dopolniti s posebnimi orodji in sčasoma ustvariti lastno različico podobnega izdelka.

Naloži niz razredov različnih imenskih področij

Uporaba PHP-ja prostega imenskega prostora, ko morate naložiti nabore razredov, hierarhija razvitega sistema predmetov pa je precej zapletena in težko zamisliti, zato je treba ustvariti togo strukturo.

Razvijalska usmerjenost (uporaba izdelka za nadaljevanje dela) je možna le v kontekstu semantike (razumevanje projekta), ki ga predstavljajo ustrezne kombinacije besed, ki odražajo pravi pomen in medsebojne povezave med predmeti.

glavni scenarij

Potreba po uporabi knjižnice v posameznem projektu vodi do rešitve problema kombiniranja imenskih imen razvijalcev in avtorjev PhpOffice / PhpWord. Najboljši način je, da ta izdelek (njegove prostore in predmete) postavite v lasten prostor projekta.

Pomembno je poudariti, da brez spreminjanja imenskih prostorov tega izdelka na ravni abstraktnih elementov in razredov nalaganja ne bo mogoče upravljati. To kaže, da v imenskem prostoru PHP uporaba abstraktnih in univerzalnih imen ni mogoča.

Datotečni sistem in lokalizacija prostorov

V bistvu so imenski prostori "obris" poti v datotečnem sistemu do želenega predmeta. Uporaba imen datotek kot imeni objektov je naravna in poznana. Uporaba imen map kot prostori imen je objektivna.

"Lesena" organizacija informacij je precej okorna pri uporabi in otežuje razvoj, vendar je naravna reprezentacija za objektne sisteme.

Težava je v tem, da razvojno fazo predstavlja določen kodni urejevalnik, ki združuje tako vizualno predstavitev map in vsebine določene mape, vendar še ni takega urednika, ki bi zagotovil promet prek predmetov in map.

Problem abstraktnosti in univerzalnosti

Zaveza razvijalca in objektivno sprejeta v resnici:

  • Objektno usmerjeno programiranje (OOP) daje abstrakcijo in sposobnost manipuliranja informacij v skladu s svojo resnično semantiko;
  • Imenski prostori odražajo položaj skript, predmetov in delno pomen projekta v datotečnem sistemu

Dejstvo, ki združuje odvzem PLO v imen objektov (datoteke) in jo položite na datotečnem sistemu (mapo) z ustreznim imenom tvorba namepace (pot + ime), lahko nadzorujejo nastanek imenskem prostoru v procesu izvedbe scenarija.

Programiranje je že pridobil močan zagon razvoja, če pa je proces prenosa in naložiti razvojne faze z urejevalnikom besedil (ki ustvarja skripte in postavi drevo map) z idejo o oblikovanju takšnega kodeksa, ki sam po sebi omogoča, da izboljšajo in se postavi na pravo mesto na datotečnem sistemu - programskega se bo dvignila na novo višino.

Zdieľať na sociálnych sieťach:

Príbuzný