Hirdetés
- Olyan lesz a Térkép, mint a segítőkész haver az anyósülésen
- Alaposan kitolhatod az Steam Deck üzemidejét egy új funkcióval
- Lassú lett a PC? Micsoda meglepetés: egy Windows frissítés lehet a ludas
- PlayStation 5 nélkül kínál PlayStation 5 játékokat a Sony
- Bekrepáltak a régebbi Forzák az NVIDIA új drivereivel
- Canon MILC: EOS R és M topik
- AMD Navi Radeon™ RX 9xxx sorozat
- PlayStation 5 nélkül kínál PlayStation 5 játékokat a Sony
- Fujifilm X
- Hobby elektronika
- Philips LCD és LED TV-k
- Fejhallgató erősítő és DAC topik
- Lassú lett a PC? Micsoda meglepetés: egy Windows frissítés lehet a ludas
- OLED monitor topic
- Projektor topic
-
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
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Canon MILC: EOS R és M topik
- Xiaomi 15T Pro - a téma nincs lezárva
- AMD Navi Radeon™ RX 9xxx sorozat
- WLAN, WiFi, vezeték nélküli hálózat
- GTA VI
- PlayStation 5 nélkül kínál PlayStation 5 játékokat a Sony
- OnePlus Nord 3 - kapcsoljuk északot
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Építő/felújító topik
- További aktív témák...
- iPhone 17 PRO 256GB makulátlan 1 hónapos KÁRTYAFÜGGETLEN! 2026 szeptember 25-ig Apple garancia!
- Gamer 17' 144hz Asus ROG i7, RTX 2070 Super, 2TB m.2 SSD
- R5 9600X/MSI PRO B650S-WIFI/32GB DDR5 6500MHz/1TB M.2/4TB HDD/RTX 5070 OC/750W.PLATINUM/ARGB CSODA
- LOGITECH G Pro X Superlight 2 Fehér INGYEN SZÁLLÍTÁS!
- Hynix 16GB 2933MHz DDR4
- Új és régi konzolok Okosítása/Softmodoloása, és Szoftveres szintű javítása - RÉSZLETEK A LEÍRÁSBAN
- Samsung Galaxy A56 / 8/256GB / Kártyafüggetlen / 12Hó Garancia / Akku: 100%
- Bomba ár! Lenovo ThinkPad T480s - i5-8GEN I 8GB I 256GB I 14" FHD I HDMI I Cam I W11 I Gari!
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5500 / RX 5700XT 8GB / 32GB DDR4 / 500GB SSD
- HIBÁTLAN iPhone 14 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3242
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő




