Komandrindas rīks, protams, laba lieta, bet grafiskā vide – vēl labāka. Stāsts būs par MySql projektēšanas vidi, jeb GUI. Tieši tas ko vajag - ērta labošana, vaicājumu saglabāšana, savienojumu izveide un datu / struktūras sinhronizēšana. Un protams – backups. Jāteic, šis ir viens no veiksmīgākām programmām priekš MySQL, ko pēdējā laikā nācies atrast.
Bieži vien veidojot dizainu vai maketu vai paraugu, kad vēl nav īstā ne teksta, ne vizuālā materiāla rodas jautājums - ko lai ieliek?! Variācijas par šo tēmu dažādas. Kāds saraksta xxx, kāds iekopē rakstu no delfiem, kāds izgrābj tekstu sazin’ no kurienes. Bet izrādās arī par to ir padomāts. Saucas – Lorem Ipsum.
Kārtējais OOP triks. Tiesa gan šoreiz nevis par funkcionālo, bet gan par vizuālo.
Tātad – metožu saķēdēšana jeb Class methods chainin jeb ganging jeb echo $thisDog->owner()->name();
Par interfeisu PHP valodā varētu uzskatīt ļoti abstraktu objektu, kurā definētas obligātās procedūras, bet nav norādīts, ko tām procedūrām jādara. Interfeisa īpatnība ir tā, ka ja procedūra definēta, tad tai obligāti jābūt aprakstītai klasē. Interfeisus var kombinēt, t.i. norādīt vairākus un pat paplašināt (extend).
Iepriekšējā rakstā apkopoju, manā skatījumā, visklasiskākos mītus un patiesības par PHP funkciju un valodas konstrukciju ātrdarbību, kurus līdz šim esmu dzirdējis vai redzējis. Šinī rakstā būs vairāki piemēri ar konstrukcijām, kur ātrdarbība (lēndarbība) ne vienmēr ir acīmredzama. Piemēram, zinājāt, ka funkcijā lokālā mainīgā inkrementēšana būs ~2x ātrāka nekā globālā?
Ātrdarbība, kods pārskatāmība, koda loģika, u.c. ir stūrakmeņi, starp kuriem nemitīgi jālavierē veidojot lielāku vai mazāku PHP projektu. Sākšu ar to, ka jebkurš mērījums ir nosacīts un ļoti lielā mērā atkarīgs gan no vides gan no PHP versija.
Tad nu, lūk, esot pamanīts, ka require_once ir līdz pat 4 reizēm lēnāks nekā require. Googlē atrodami dažādi skaitļi un mērījumi, dažkārt arī pretrunīgi. Vairākkārtēja faila iekļaušana pati par sevi nav laba, jo fails tiek nolasīts un tur esošais kods analizēts un izpildīts.
Ja gatavajos risinājumos (piem., wordpress), kur pastāv risks, ka formas (diskusiju, reģistrācijas, u.c.) aizpildīšanā varētu piedalīties arī foruma spambots, ir par to padomāts, tad risinājumos, kuri tiek veidoti pašu spēkiem, par šādu aizsardzību ir jādomā pašam.
Situācijas izklāsts: Divas tabulas: aģents un darbības. Tabulai darbības, laukam agentsID ir definēts foreign key uz tabulu aģents.
Problēma: Nepieciešams izveidot noklusēto vērtību laukam agentsID.
Šoreiz mana interese krita tieši uz lietotāja definētiem mainīgiem. Nosacīti tos var iedalīt divās kategorijās: definētie mainīgie, ko izmanto procedūrās un funkcijas un nedefinēti, ko arī izmanto procedūrās un funkcijās, bet var tikt izmantoti SQL vaicājumā, kā sakās „in-line”.