det register, og lade genstande i opencart

, forstår register og lader objekter i opencart,,,,, 22,,,,,,,,, 6,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, indledningen, opencart er blevet et meget nyttigt ehandel ramme for små og mellemstore niveau online - butikker.selv om den indeholder omfattende træk i dets stack, det opretholder en enkelt ramme, med en flot modulære struktur, som kan forlænges.i denne artikel, vil vi fokusere på visse elementer i bootstrapping proces.,, men der er masser af dele, der er involveret i de typiske bootstrapping proces, vi vil fokusere på "register" og "platform" objekter i løbet af denne forelæsning.den kode stumper forklaret i denne artikel er opencart 2.0. x. selv om "register" klasse kode er den samme i version 1, 5 x - 2, 0 x, "platform" klasse kode har ændret sig meget.så vi vil fokusere på 2, 0 x version af opencart.,, registret objekt, der, som navnet antyder, "register" objekt anvendes til opbevaring af elementer fra simpel variabler til komplekse objekter, når "" metode kaldes.det opbevarer alle de elementer, der anvender "nøgle", så de senere kan få adgang til let, når "får" metode kaldes.  , lad os se nærmere på klassen fil.åbne filen ligger i "system /motor /register. folkesundhedsprogrammet" i din favorit tekst redaktør.,, <?php endelige klasse register (private $data = array(); offentligheden få ($centrale) {afkast (isset ($- > data [$centrale]).$- > data [$centrale]: null)} offentlig funktion, der er fastsat ($nøgle, $værdi) ($- > data [$centrale] = $værdi;} offentlige funktion ($centrale) {tilbage isset ($- > data [$nøgle])), som du kan se, klasse definition er forholdsvis enkelt at forstå.den lagrer alt i "data" tilhører de formål, der er angivet som et system, og anvendelsesområdet er privat.i "får" metode, det kontrollerer, om "værdi", er til rådighed for den ønskede "nøgle", og den returnerer den værdi, hvis det er til rådighed, og "nul" ellers.i "" - metoden, det indfører det nye element i "data" system med argumenter over for den metode.endelig er det "er" metode til at kontrollere, om en bestemt "nøgle" er allerede fastsat i "data" system, lad os se, hvordan opencart rammer anvender registret objekt i den indledende fase af side henrettelse.- "index.php" fil i det dokument, opencart rod.du vil se, $register, objekt er skabt meget tidligt i manuskriptet henrettelse. //- registret $register = nye registry();, efter oprettelsen af den $register, genstand, det lagrer flere andre objekter ved hjælp af "" metode.lad os se på et par eksempler.,, <?php //lader $pålæsser = nye anordninger ($registry); $register - ­ > der'load, $skovl); //ud $ud = nye config(). $register - ­ > der'config, $ud); //database $db = nye db (db_driver, db_hostname, db_username, db_password, db_database); $register - ­ > der'db, $db); //anmodning $anmodning = nye request(). $register - ­ > der'request, $anmodning); //samling $) = nye session(). $register - ­ > der'session, $samling), har jeg anført nogle eksempler brug af   $register, objekt.som du har bemærket, ofte brugte genstande er skabt og opbevares i registret.grunden er, at du ikke behøver at instantiate fælles klasse ting flere gange, så du kan bare kalde det "kom" metode i   $register, formål at anvende ønske.den tilgang er noget lignende for "singleton -", hvor du er tvunget til at holde en enkelt instans af klassen.,,,, $register, objekt er befolket med nyttige ting, men hvordan er det?lad os se, hvordan   $db, genstand, lagret i - register, anvendes i "aktivitet" model "til" modul.åbne filen ligger i "catalog /model /højde /aktivitet. folkesundhedsprogrammet".du kan se det i "addactivity" metode, et sæt spørgsmål er fyret. $- > db - > søgning ("indføjes".db_prefix. "customer_activity `, der er customer_id er = ".(int) $customer_id. ""nøglen er =".$- > db - > flygte ($nøgle). ""data" = ".$- > db - > flygte (sandt ($data)). ""up" = ".$- > db - > flygte ($- > anmodning - > - serveren ['remote_addr ']). ""date_added er = now()"), må man spørge sig selv, om den måde, som det hedder, som der ikke er "db" - metoden eller ejendom som defineret i "modelaccountactivity"   klasse.du kan gå til moderselskabet, model klasse "model" for at se, om det er defineret der eller ej.ja, du vil ikke finde en "db"   metode eller ejendom i den klasse.men hvis man ser nærmere på den "model"   klasse, vil de se, at den gennemfører den magiske metoder, navnlig "__get"   metode i denne sag.,, offentlig funktion __get ($centrale) {tilbage $- > register - > kom ($nøgle)} for nu, lad os gå ud fra, at   $register, objekt er lagret i beskyttede "register" ejendom af "model" klasse.vi vil se, hvordan det er oplagret ved "model" er instantierede i "platform" klasse.  ,,, __get, metode er, når du ringer til en metode, som ikke er defineret i den klasse.i denne metode "db" er vedtaget som et argument, som vi forsøger at ringe - - ­ > db, i "aktivitet. folkesundhedsprogrammet" fil.og som tidligere nævnt, $register, har alle de nyttige genstande, der allerede er oplagret i løbet af den bootstrapping proces.så vi skal bare hente »db« objekt ved hjælp af de vigtigste ved at "få" metode til "register" protest!, på samme måde, $denne ­ - > belastning, værker fra den registeransvarlige filer samt.så alt i alt, "register" er et meget nyttigt element af opencart ramme, der lagrer anvendte variabler og genstande, der er anvendt i hele manuskriptet henrettelse.,, lader objekt, "platform" objekt anvendes til at laste de forskellige komponenter af opencart som krævet, som model, registeransvarlige, sprog, mener, at bibliotek osv. det er vigtigt at bemærke, at når "platform" objekt er skabt, der er lagret i - register, objekt med "belastning" som en række centrale.så du kan få adgang til $lad, objekt ved hjælp af en $denne ­ - > belastning, som beskrevet i ovenstående afsnit, //lader instantiation $pålæsser = nye anordninger ($registry); $register - ­ > der'load, $rampe). nu, lad os se, hvordan forskellige komponenter er fyldt med "platform".åben "system /motor /pålæsser. php at se definitionen af en" platform "klasse.vi starter med "den registeransvarlige" metode til at forstå, hvordan den fungerer, //belastning registeransvarlige $- > belastning - > controller ('common /column_left "), er det en kode snippet som byrder" fælles /column_left. på "den registeransvarlige og kalder det" register "metode samt.vi gør dette for at få xhtml produktion af "venstre kolonne" af opencart side.de $denne ­ - > belastning, del arbejder, svarende til   $denne ­ - > db, f.eks. som jeg forklarede tidligere!det giver $lad, genstand, lagret i - register, og endelig det kalder "den registeransvarlige" metode til "platform" klasse!, på samme måde som stumper arbejde at lade forskellige komponenter. //belastningsmodel $- ­ > belastning - ­ > model ('catalog /kategori«); //belastning på $denne ­ - > belastning - ­ > betragtning ('default /skabelon /produkt - /kategori. tpl, $data); //belastning biblioteket $denne ­ - > belastning - ­ > bibliotek ('user); //belastning hjælper $denne ­ - > belastning - ­ > hjælper ('json); //belastning sprog $det ­ - > belastning - ­ > sprog (»den /kategori), ser på metoden definitioner på "platform" klasse, vil de se, at det er ikke så svært at forstå, hvordan det fungerer.for det første giver "fil sti" for den pågældende komponent, og det er omfattet af "include_once" funktion., generelt "register" og "platform" er to meget vigtige elementer i opencart ramme, som gør det meget lettere for modul udviklere.,, konklusion, så vi i dag så på "platform" og "register" komponenter af opencart rammer.jeg håber, du har lært noget nyttigt i denne forelæsning.og forhåbentlig, vil jeg komme med noget mere om det samme emne.forelægge deres forespørgsler og forslag ved hjælp af foder under!,



Previous:
Next Page: