Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.
Firma Murena představila /e/OS verze 2.0. Jde o alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).
Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.
HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.
BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.
Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.
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: