Zero Day Initiative zveřejnila informace o 6 bezpečnostních chybách (1, 2, 3, 4, 5, 6) v MTA Exim. Nejvážnější z nich CVE-2023-42115 má CVSS 9.8. Na opravě chyb se pracuje.
Knihovna libvpx byla vydána ve verzi 1.13.1. Řešena je kritická bezpečnostní chyba CVE-2023-5217 (heap buffer overflow in vp8 encoding). Chyba je již opravena také v Chrome / Chromium 117.0.5938.132 a Firefoxu 118.0.1.
Balíček kmod s nástroji pro práci s linuxovými moduly byl vydán ve verzi 31. Nově umí modprobe zavést modul nacházející se v libovolném adresáři (# modprobe ./drivers/gpu/drm/i915/i915.ko).
Adventura Trüberbrook je na portále GOG.com zdarma, akce trvá do 2. října.
Sound Open Firmware, projekt Linux Foundation, open source audio DSP firmware a SDK, byl vydán ve verzi 2.7.0. Z novinek lze vypíchnout podporu platformy AMD Van Gogh.
Richard Stallman v den oslav 40. výročí GNU oznámil, že má rakovinu (YouTube).
DIY trackball Ploopy má novou variantu Adept, na rozdíl od předchozích používá 44mm kouli, má symetrický tvar a šest tlačítek, snímač zůstává PMW-3360, novinkou je použití Raspberry Pi Pico, na kterém běží firmware QMK s podporou grafické konfigurační aplikace VIA. Předobjednávky jsou otevřeny za ceny 80-105 CAD.
Probíhá Meta Connect 2023. Společnost Meta představuje své novinky v oblasti AI a virtuální, smíšené a rozšířené reality. Představeny byly nové chytré brýle Ray-Ban | Meta a headset Meta Quest 3.
Eben Upton oficiálně představil (YouTube) nové Raspberry Pi 5 (YouTube). Je více než 2x výkonnější než jeho předchůdce, model 4B.
Byl vydán (YouTube) Counter-Strike 2. Nativně také pro Linux. Jedná se o největší technologický skok v historii této populární herní série.
global $moje_prom;
ale mimo ji nevidím a var_dup() vrací NULL;
Příklad: function test(){ if($foo){ # kod if($foo){ # kod }else{ $moje_prom = true; } }else{ # kod } }Děkuji za pomoc
global $moje_prom
při správném použití normálně funguje, ale stejně je tento přístup nějaký divný. Normálně totiž nikdo obsah proměnné z nějaké funkce nepotřebuje.
Použij raději objekty, tam to jde poměrně jednoduše a elegantně, pokud tu proměnnou označíš jako public
.
global $moje_prom
funguje obráceně, než je asi myšleno $moje_prom = false; function test(){ global $moje_prom; if(true){ if(false){ }else{ $moje_prom = true; //toto není lokální proměnná, ale zpřístupněná globální } }else{ } } //tady $moje_prom dostupná, bo je definována ve vnějším contextu, a fce test() s ní jen manipuluje var_dump($moje_prom); test(); var_dump($moje_prom);Ale jinak ano s
global
bych šetřil, až bych na to zapomněl $moje_prom = false; function test(&$moje_prom){ if(true){ if(false){ }else{ $moje_prom = true; } }else{ } } var_dump($moje_prom); test($moje_prom); var_dump($moje_prom);…ale objektový model by mi byl bližší…
$moje_prom
je definována v bloku else
a mimo funkci, nebo ani ve vlastní fci, pokud se tento blok else
neprovede, neexistuje. (nebo přesněji, není dostupná a nemusí ani existovat…).function test(&$moje_prom) { ... $moje_prom = true; ... return 'blabla'; } $moje_prom = false; test($moje_prom);
Ja se vyhybam jak globalnim promennym tak taky predavani promennych referenci ze stejnych duvodu jak ty.Představ si, že máš gigabajtová data a potřebuješ v nich něco změnit. Opravdu je chceš předávat hodnotou?
class Test { var $moje_prom = false; function doTest() { if (foo()) { $this->moje_prom = true; } } } $t = new Test; $t->doTest(); if ($t->moje_prom) { // ... }A pokud ukecanost vadí, lze si pro pohodlnější používání vyrobit magickou satickou metodu, která vyrobí objekt s výsledky testu:
class Test { // ... static function __callStatic() { $t = new self(); $t->doTest(); return $t; } } $t = Test(); if ($t->moje_prom) { // ... }
Tiskni
Sdílej: