- iPhone topik
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Android szakmai topik
- Milyen okostelefont vegyek?
- Apple Watch
- A hagyományos (nem okos-) telefonok jelene és jövője
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Fotók, videók mobillal
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
Új hozzászólás Aktív témák
-
Lacc
aktív tag
válasz
tacsko833 #19142 üzenetére
Doink, jól mondta. Sőt, Doink jól mutatta
${$valami}
, ezt a{}
formátumot érdemes megjegyezni (lásd lentebb).
Dinamikus változóval nem kell ennyire foglalkozni, de gyakorlással felfogható.Dinamikus változó szemlélete, inkább a Reflection témakörében fordul elő. Ha nem nagyon érdekel az Architekt, akkor valszeg sosem fogsz vele találkozni. Viszont hasznos is tud lenni a dinamikus elérés
Lásd: Dinamikusan tudsz a Foo-nak létrehozni property-t
class Foo{
public function createProperty($name, $value){
$this->{$name} = $value;
}
}
$foo = new Foo();
$foo->createProperty('hello', 'something');
print $foo->hello //somethingBár most nézve a PHP doc-ot, az első hivatalos példa, pont a variable property. A felhasználók példájánál már ott van a 3. és 4. példa is.
Ez a negyedik kivételesen jó példa:class Foo {
public function hello() {
echo 'Hello world!';
}
}
$my_foo = 'Foo';
$a = new $my_foo();
$a->hello(); //prints 'Hello world!'Ebből is látszik, hogy egy osztály objektumát az osztály neve alapján hogyan lehet létrehozni, itt az osztály neve egy sima string érték a $my_foo változóban. Ezzel kapcsolatos kérdéssel már sok helyen találkoztam, és én is csináltam, mert egyszerű, átláthatóbb és a PHP haver ebben.
Reflection-nél pedig a példában a foreach-es részt nézném át.
-
Doink
aktív tag
válasz
tacsko833 #19141 üzenetére
A $$tarolo ugyan az mintha azt írnád hogy $felhasznalo HA $tarolo = 'felhasznalo'.
Becsületesen kiírva ez történik:
${$tarolo} => ${'felhasznalo'} => $felhasznaloSzóval ha az van írva a kódba hogy $$tarolo = "Anna" akkor valójában $felhasznalo = "Anna" hajtódik végre
HA a $tarolo értéke 'felhasznalo'.Dinamikus változóneveknek érdemes elkerülni mert átláthatatlan kódot eredményez és nehéz példát mondani arra amikor értelme van normális adatszerkezetek használata helyett.
-
disy68
aktív tag
válasz
tacsko833 #19139 üzenetére
A $valami egy változó, ami futás során kerük kiértékelésre.
A $$valtozo szintén egy változó, aminek a neve a $valtozo értéke. A php feldolgozó addig oldja fel változóként a $ utáni szoveget, amíg el nem jut az első $ jelig, az így kapott eredmény egy változó lesz (függően a helyétől a kifejezésben deklaráció, ha eddig nem létezett, hivatkozás vagy érték).Egy szemléltető példa a lentebb linkelt php manual hozzászólásaiból:
<?php
//You can even add more Dollar Signs
$Bar = "a";
$Foo = "Bar";
$World = "Foo";
$Hello = "World";
$a = "Hello";
$a; //Returns Hello
$$a; //Returns World
$$$a; //Returns Foo
$$$$a; //Returns Bar
$$$$$a; //Returns a
$$$$$$a; //Returns Hello
$$$$$$$a; //Returns World
//... and so on ...//Miért? Mert a php megengedi
bővebben
És persze erről jó tudni, de szerintem ilyesmi mágiákat nem igazán kifizetődő használni, mert nem túl átlátható.
-
disy68
aktív tag
válasz
tacsko833 #19137 üzenetére
Dinamikus változók, az én ízlésemnek kicsit túl dinamikus
Szóval:
1. A $tarolo változó értéke lesz: "felhasznalo"$tarolo = "felhasznalo";
2. A $felhasznalo változó értéke lesz: "Anna" ($$tarolo ->$felhasznalo => "Anna")$$tarolo = "Anna";
És a fenti deklarációk esetében az alábbiak ekvilalensek:
$$tarolo === ${$tarolo} === ${'felhasznalo'} === $felhasznalo
És lehet ezt még tetőzni $$$tarolo, stb..
Új hozzászólás Aktív témák
Hirdetés
- Xbox Game Pass Ultimate kedvező áron, egyenesen a Microsoft-tól! - AUTOMATA BOLT
- ÁRGARANCIA! Épített KomPhone Ryzen 7 9700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RX 6500 XT 4GB GAMER PC termékbeszámítással
- Samsung Galaxy A12 64GB, Kártyafüggetlen, 1 Év Garanciával
- Országosan a legjobb BANKMENTES részletfizetési konstrukció! Vásárolj okosan, fizess kényelmesen!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged