Új hozzászólás Aktív témák
-
PazsitZ
addikt
Erről eszembe jutott, hogy nekem volt régen ilyen próbálkozásom az sql result gyors ki-extract-olására függvényből global változóként. Persze nem szép. Ma már nem is használom/használnék ilyet, mármint global változót.
(#8038) Lacces: Ennek nincs köze a mutatókhoz. A miértre a magyarázat annyi, hogy ez egy script nyelv.
$fetchResult = mysql_fetch_assoc($localpSQLResult);
if ($fetchResult){
foreach($fetchResult as $var_name => $var_value)
{
$var_name = "q_$var_name";
global $$var_name;
$localGlobalVarsArr[] = $var_name;
$$var_name = $var_value;
}
return true;
}
Így global változóként létrehoztam az sql eredményét egy q_ (query) prefix-es változóként.
De a neveket le is tároltam, hogy egy fajta garbage collect-ként üríteni tudjam őket.
Fetch esetén ugye mindig felülíródott a változó tartalma, következő querynél ez a gc opció default lefutott, de szükség esetén letiltható volt.(#8041) Sk8erPeter : Alapvetően szerintem nem ördögtől való dolog ez, persze azért nem kell túlzásba vinni.
Én pl. Factory pattern esetén szoktam használni.Bár itt nem változóként, használod fel a változóban tárolt sztringet, hanem osztálynévként, de a logika hasonló.
Definiálsz sztring konstans értéket a lehetséges osztályok neveivel, majd azáltal pédányosítod a megfelelő osztályt./**
*
* @param const $SQLLayerType SQLLayer constant
* @param DBObj $db
*/
public function __construct($SQLLayerType=null, DBObj $db=null) {
$list = array(SQLLayer::SELECT, SQLLayer::INSERT, SQLLayer::UPDATE, SQLLayer::REPLACE, SQLLayer::DELETE);
if(is_null($SQLLayerType) || !in_array($SQLLayerType, $list)){
$this->SQLLayerType = SQLLayer::SELECT;
}
else $this->SQLLayerType = $SQLLayerType;
$Class = "SQL" . ucfirst($this->SQLLayerType);
$this->SQLObj = new $Class($this->SQLLayerType, $db);
if(!is_null($db)) $this->SQLObj->table($db->getTableName());
}[ Szerkesztve ]
- http://pazsitz.hu -
Új hozzászólás Aktív témák
- Samsung Galaxy S23 Ultra 1TB + 12GB RAM Gyári független (Phantom Black) SM-S918 + 24 hó garancia
- Samsung Galaxy S23 Ultra 1TB + 12GB RAM Gyári független (Phantom Black) SM-S918 + 24 hó garancia
- LG 65" B3 OLED 4K HDR SMART 120HZ GAMING TV
- ThinkPad L380 fém fedlap - 13.3", I5-8350, 16 ddr4/ 512 NVMe, ujjl.olvasó, type-c +SZLA +GAR!
- Lenovo Thinkpad P70 , T470p , p52 , L14
- Lenovo ideapad 330 Laptop, billentyűzet hibás,Normál állapotban,Intel I3 6006u,4gb,Ram,1 hónap garan
- Samsung Lcd 17" ingyen
- iPhone 13 Pro 256GB Független Újszerű/1 hónap gar./Akku 86%/p3439
- Lenovo idepad 300 laptop,Normál Állapotba, 1 hó garancia,
- ASRock Radeon Phantom Gaming D RX 6900 XT 16G OC 16GB GDDR6 256bit (RX6900XT PGD 16GO) Videokártya
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen