Suositeltavia artikkeleita
- Asioita harkitsemaan ennen ost…
- Miten hankkiminen IBM P2090-03…
- Windows Phone ohittaa iOS Paki…
- Miten poistaa heur: Trojan.Win…
- Get Your tentti C4120-784 IBM …
- Akku Compaq Presario A900 akku…
- Poistaminen manuaalisesti Qiip…
- Rooli asentajat Windows-käytt…
- He markkinoida tuotetta tai Se…
- Paranna Taitotaso EMC E10-110 …
- Testi App Android, iOS toimii …
- Vinkkejä onnistunut Data Gove…
- Opi tapa soittaa kitaraa kanss…
- Acer Tietokoneet: tarjoaa para…
- Näytönsuojat HTC Wildfire A3…
luokka
- affiliate markkinointi
- Kädentaito
- Automotive
- kirja-arvostelut
- liike
- ura
- viestintä
- tietokoneet
- koulutus
- viihde
- ympäristö
- rahoittaa
- ruoka juoma
- pelaamista
- terveys lääketieteen
- koti perhe
- internet eBusiness
- Lapset teini
- kielet
- oikeudellinen
- markkinointi
- musiikki
- lemmikit eläimet
- kiinteistöt
- suhteet
- itsensä parantaminen
- ostokset arvostelua
- Society News
- ohjelmisto
- hengellisyys
- urheilu virkistys
- teknologia
- matkailu
- Naisten etujen
- kirjallisesti puhuminen
- muut
Yhteinen Coding kysymykset Magento Platform Deepa Ranganathan
Coding sisällä Loop
Huomaat, että pienikin virhe, joka tapahtuu silmukka suurennetaan. Yleensä silmukat ovat suurin suorituskykyä vikoja, erityisesti ne, jotka toistavat SQL-kyselyjä tai tarpeeton laskelmat
Katsotaanpa kuinka tehottomuutta tarpeeton laskelmien ja SQL-kyselyjä sisällä silmukan voi vaikuttaa suorituskykyyn Magento myymälä
Laskelmat sisällä Loop
Jos haluat laskea koko matriisi silmukka, yksi toiminto, voit käyttää on määrä ()
($ i = 0; $ i < , count ($ rivit); $ i ++)
{
//koodia
}
Count (), erikseen suorittaa ja laskee nopeasti; se hidastaa vain käytettäessä sisällä silmukka. Kun käynnistät laskettaessa koko array paljon tietoa ja käyttää määrä toimittaa tuotos, löydät suorituskykyä hidastumassa valtavasti. Syynä on PHP ei tarjoa loop-invariant koodi liikkeen automaattisesti.
Paras tapa välttää tämä suorituskykyongelman on soittaa toiminto ulkopuolella silmukan
$ rowNum = count ($ rivit);
($ i = 0; $ i
{
//koodia
}
SQL tiedustelut sisällä Loop
Koska se on tietojenkäsittely SQL kyselyn voi johtaa suorituskykyyn perustuva asioita, kun suoritat sen sisällä silmukka, on mahdollisuus hidastaa sivuston. Useimmiten näet, että Magento mallit ladataan silmukoita
foreach ($ this- > getProductIds () kuin $ Kirjoita voimassa)
{$ tuote = Mage::getModel('catalog/product')->load($productId);
$this->processProduct($product);
}
An joukko tuotteen tunnuksia ladataan, jotta pystymme käsittelemään malliin. Kuten nähdään EAV käytetään suorittamaan tämän silmukan, joka saattaa edellyttää voit suorittaa useita kyselyitä. Tässä tapauksessa useita kyselyitä, joita toteutetaan kerrotaan kanssa tuotteiden, ja tuloksena on hidas myymälä, joka antaa ulos huono suorituskyky.
Paras tapa optimoida olisi välttää lastaus tuotteiden silmukka. Joten, mitä voit tehdä? Käytä Magento tiedot kokoelma, joka lataa joukko nopeasti. Seuraavassa on esimerkki siitä, miten tiedonkeruumalleja keräävät siinä luomalla joukko eri tuote tunnukset ja pitää lisäämällä pyydettyjä tuotteita niiden kentät
$ kokoelma = Mage: : getResourceModel ("luettelo /product_collection)
-getProductIds ()))
-
foreach ($ keruuseen $ tuote)
{
$ this-
}
Kun siirrät pois silmukoita ja malliin noutotavan, näet, että suorituskykyä myymälä on todellakin parantunut. Aina muistaa pitää tarkistaa muistiin, niin että käytettäessä tiedonkeruumalleja, et lisää tietoja, jotka ovat raskaampia verrattuna muistin kokoa. Sinun täytyy tehdä massa tallentaminen ja poistaminen sekä kyselyt sisällä malleja jotta suorituskyky säilyy ihmettelemään.
Ladataan mallit
Koko prosessi lastaus mallin myymälä ei oikeastaan välimuistissa, minkä vuoksi joka kerta soittaa kuorma () funktio, tietyt kyselyt ajetaan tietokannassa, mikä aiheuttaa suorituskykyongelmia ihmettelemään
$ name = Mage :: getModel ("luettelo /tuote ') -
$ SKU = Mage :: getModel ("luettelo /tuote ') -
$ attr = Mage :: getModel (" luettelo /tuote') -
Tämä on klassinen esimerkki siitä, miten kyselyt ajetaan tietokannasta aina tiettyä mallia kutsutaan
Paras tapa ratkaista tämä ongelma on varmistaa, että jokainen malli on ladattu vain kerran
$ tuote = Mage :: getModel ("luettelo /tuote ') -
$ name = $ tuote-
$ SKU = $ tuote-
$ attr = $ tuote-
Joskus olet vain huolissaan tuotteen tunnus. Tällaisena aikana, se ei ole järkevää ladata koko malli. Tällä koodilla voit helposti ladata tuote Id tietyn tuotteen
$ tuote = Mage :: getModel ("luettelo /tuote ') -
$ res [id] = $ tuote-
Toinen suosittu tapa saada tuotteen tunnus on käyttää natiivi tuotetta menetelmä getIdBySku ()
$ res [id] = Mage :: getModel ("luettelo /tuote ') -
Coding kokoelmat
muut alue Magento koodaus, joka tarjoaa kysymyksistä on kokoelmia. Kokoelmat ovat melko tehokkaita, mutta koska he työskentelevät valtava tietokokonaisuus, sinun täytyy varmistaa, että olet koodaus niitä huolellisesti, muuten kohtaat toimintaongelmia
Katsotaanpa kuinka kokoelmia voi aiheuttaa koodaus kysymyksiä
Calling Turhat aineistoja
yleensä käyttää kokoelmat hakea yksittäisen kohteen varsinkin ensimmäisenä kohtana silmukan ensimmäistä iterointia. Joten, mikä voisi olla kysymys? Kun et tarjoa rajoitusta tuloksista, silmukka pitää iteroimalla ja antaa pois kaikki erät kokoelma seurauksena alkuperäisten sijaan ensimmäinen kohde. Seuraavassa on esimerkki siitä, miten kokoelmia voi antaa pois kaikki kohteet
julkisessa tehtävässä getRandomItem ()
{
$ kokoelma = Mage :: getResourceModel ('mymodule /my_collection ') - > setRandomOrder ();
paluu $ Collection- > getFirstItem ();
}
Hakeminen rajoitus
julkista tehtävää getRandomItem ()
{
$ kokoelma = Mage :: getResourceModel ('mymodule /my_collection)
-
palauttaa $ Collection-
}
toiminnot $ Collection- > setPageSize () ja $ Collection- > setCurPage () tarjous määrän rajoittamiseksi kohteita, jotka haetaan kokoelma
Voit jopa muokata $ Collection-
Tekijä Bio:
Deepa, tekninen kirjoittaja kanssa Semaphore ohjelmisto, joka nyt omistautuu aikansa neuvoo asiakkaitaan palkata Magento kehittäjille. Hän tarjoaa tietoa sekä vinkkejä ja uusimpia suuntauksia tällä alalla. Hänen rakkautensa lukeminen auttaa häntä jatkuvasti tarjota uusinta tietoa eri teknisistä ja suunnittelun näkökohtia Magento
tietokoneet
- Oikeutettujen SAP C_TIOG20_65 varmennus Mirah Kalb
- Poista mainokset CompareItApplication Pup ylös haltuunsa David Jones
- "World of Warcraft" Tulevia tapahtumia Esitetty huhtikuuta täytettäväksi In-G…
- Tarkka veroilmoituksen tuloksia ATX lähdevero Amenda Ray
- Merkitys LCD /LED-näyttö korjaus John Dsuza
- Vinkkejä maksimoida Acer Aspire 5536 akun kestoa Merry Lina
- Täydellinen Road Trip Tehtävät Aktivoi Wonder Baarit ja Voita Harvinainen Pal…
- Miten saada hyvä logo design yrityksesi? by Wayto Singh
- HP2-K37 Täydellinen puitteet Certification Jack B Ford
- Kaksi suojaa näyttöä uuden älypuhelimen mukaan Cong Thanh
- Miten poistaa CTB-Locker (ransomware poistaminen opas) mukaan Ginna S.
- Helpoin tapa ratkaista ongelmia Yahoo Mail @ 1-855-720-4168 Silva Lang
- tarkoittaa myyntiä AC Milan puhdistuksen tätä tarkoitusta varten Fifacoins4 N…
- Sage online kirjanpito parhaiten pk John Cox
- Mikä on Webswitch.tk? Miten Poista Webswitch.tk? Annie M.