Hirdetés
- Vezetékes FEJhallgatók
- Előrendelhető a ROG Xbox Ally és Ally X
- Hogy is néznek ki a gépeink?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen széket vegyek?
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- M.2-es SSD-ből E1.S-est az Icy Box adapterével
- iPad topik
- Milyen TV-t vegyek?
- Melyik tápegységet vegyem?
-
PROHARDVER!
Ajánlott szakirodalmak a teljesség igénye nélkül (a lista még bővülhet):
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Szívesen! Most már tényleg megérdemeltem, hogy valaki dobjon egy csontot...Na, vissza a Drupalhoz.
"Értem én, hogy csak a kimenet számít, de majdnem mindenhol azzal találkoztam, hogy ott van paraméterként a &$variables, szóval furcsa volt."
Biza, de ha jól megnézed, a $variables előtt ott van a referenciát jelző karakter (&):
Passing by Reference
Tehát a változót referencia szerint adjuk át a függvénynek, ezt a függvény fejlécében jelezni kell; ez azt jelenti, hogy akármit is változtatsz ezen a változón, az a hívás helyén is változni fog.
Erre pont jó egy tök egyszerű példa a php.net-en:
function foo(&$var)
{
$var++;
}
$a=5;
foo($a);
// $a is 6 hereTehát nem visszatérési értéket vizsgálnak, hanem az adott függvény kap egy referenciát, az adott függvényben hozzácsapod a változóhoz a dolgaidat, vagy épp törölsz belőlük, stb., tehát a tömböket nem kell állandóan lemásolgatni, aminek mondjuk elég nagy jelentősége van memóriaspórolási célból.
Gondolj bele, milyen erőforrás-igénye lenne az amúgy is erőforrás-igényes Drupalnak, ha minden egyes brutális nagy tömböt le kellene másolni.Rövid példával:
function blabla(&$variables){
$variables['asdasd'] = 'bla';
unset($variables['nem']);
}
$myVariables = array();
$myVariables['igen'] = 'NEM!';
$myVariables['nem'] = 'IGEN!'; // :D
blabla($myVariables);Az eredménye ennek:
$myVariables = array(
'igen' => 'NEM!',
'asdasd' => 'bla'
);Tehát a függvényben hozzácsaptam egy adott kulcson lévő értéket ('asdasd' kulcs), meg elvettem egyet (a 'nem' kulcsban lévő értéket), aztán ez lett belőle.
Remélem érthető.A hook_form_alter és ehhez hasonló jellegű függvények (amikben változtathatsz a beállított értékeken) is referenciákat kapnak.
Ez a konvenció elég könnyen megszokható, ha már megérted a miérteket.A hook_theme és egyéb függvények nem ilyen jellegű változtatásokra valók, ott visszatérési értéket vár a Drupal, nem ad át referenciaként semmit.
Új hozzászólás Aktív témák
- iPhone topik
- MIUI / HyperOS topik
- Gitáros topic
- Mégis marad a Windows 10 ingyenes frissítése
- Debrecen és környéke adok-veszek-beszélgetek
- Vezetékes FEJhallgatók
- gban: Ingyen kellene, de tegnapra
- CADA, Polymobil, és más építőkockák
- Luck Dragon: Asszociációs játék. :)
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- Lenovo ThinkPad X1 Carbon 9th ,14" ,i7-1185G7 ,16GB RAM ,512GB SSD, magyar bill, 1 év garancia
- Dell Latitude 5350 2-in-1 ,13.3" ,Intel Ultra 5 135U ,16GB RAM ,512GB SSD ,magyar ,gar 2029.08.02
- iPhone 14 Pro 256 GB Újszerű karcmentes kártyafüggetlen - jó vétel
- Lenovo ThinkPad X1 Carbon 10th 27% ÁFA ,14" ,i5-1240P ,16GB RAM ,512GB SSD,magyar bill 1 év garancia
- Lenovo ThinkPad T14 Gen5 ,14" ,Intel Ultra 5 135U ,16GB DDR5 ,512GB SSD ,garancia 2027.09.01
- Xbox Series X 1 TB Játékkonzol! Ajándék Joystick + RGB-s Hűtő!
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3304
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070 Ti 16GB GAMER P termékbeszámítással
- ÓRIÁSI AKCIÓK / MICROSOFT WINDOWS 10,11 / OFFICE 16,19,21,24 / VÍRUS,VPN VÉDELEM / SZÁMLA / 0-24
- Bomba ár! Dell Latitude 5495 - Ryzen 5 I 8GB I 256SSD I 14" FHD I HDMI I Radeon I Cam I W10 I Gari
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest