Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
$obj = Ovoce();a z té třídy volám jiné třídy které potřebují instanci třídy 'Ovoce', existuje řešení jak to udělat? Děkuji
$this
.
$obj = Ovoce();v class Ovoce zavolám jinou class Zelenina
$obj2 = Zelenina();a v class Zelenina potřebuji zavolat metodu v class Ovoce. je to lépe k pochopení? Děkuji
<?php class Ovoce { private $atribut; private $obj2; function __construct($atribut){ $this->atribut = $atribut; $this->obj2 = new Zelenina($this); } function getAtribut(){ return $this->atribut; } function __toString() { return "Ovoce a $this->obj2"; } } class Zelenina { private $ovoce; function __construct(Ovoce $ovoce){ $this->ovoce = $ovoce; } function __toString() { return "zeleniny mám: " . $this->ovoce->getAtribut() . " kusů"; } } $obj = new Ovoce(42); echo $obj;Výsledek:
Ovoce a zeleniny mám: 42 kusů
class Test{ private $item1 = false; private $item2 = false; private $item3 = false; public $show = false; public function __construct(){ $this->item1(); $this->item2(); $this->item3(); } public function item1(){ $this->item1 .= 'Text item1'; } public function item2(){ $this->item2 .= 'Text item2'; } public function item3(){ $this->item3 .= 'Text item3'; } public function show(){ $this->show .= $this->item1; $this->show .= $this->item2; $this->show .= $this->item3; } } $test = new Test(); var_dump($test->show); // bool(false)
Kde voláš tu metodu show()? Podle mne nikde. Atributu $show zůstane původní hodnota.Já jsem fakt pako
Kdo ti poradil, abys dělal atributy "public"? Mají být "private".Narážiš na tento zápis ?
public $show = false;Pokud ano, jak bych tu proměnnou pak vypsal?
A kdo ti poradil řetězit booleovskou hodnotu s řetězcem? Sice to tak nějak funguje, ale je to nesmysl.tak jak to má být? Měl jsem za to, že když se jedná o inicializace proměnné je to fuk..
public $show = ''; nebo public $show = ""; nebo úplně jinakDíky
<?php class Test { private $item1 = 'Text item1'; private $item2 = 'Text item2'; private $item3 = 'Text item3'; public function __toString() { return $this->item1 . $this->item2 . $this->item1; } } $test = new Test(); echo $test;Všechno ostatní je tam jaksi "navíc" a není příliš patrné, proč to tam máš. Vyhýbej se operátorům ".=" - nejsou moc efektivní a většinou ani nejsou potřebné.
Všechno ostatní je tam jaksi "navíc" a není příliš patrné, proč to tam máš.Byl to jen příklad, metody jsem tady nechtěl z důvodu přehlednosti rozvádět... Když si vezmu cenné ponaučení a vycházím z původního příkladu, tak ted je to OK ? Děkuji
class Test{ private $item1; private $item2; private $item3; public function __construct(){ $this->item1(); $this->item2(); $this->item3(); } public function item1(){ $this->item1 = 'Text item1'; } public function item2(){ $this->item2 = 'Text item2'; } public function item3(){ $this->item3 = 'Text item3'; } public function show(){ $this->show = $this->item1.$this->item2.$this->item1; } public function __toString(){ return show(); } } $test = new Test(); echo($test->show());
public function __toString(){ return $this->item1.$this->item2.$this->item1; }tak vůbec nebudeš potřebovat volat metodu show()
$test = new Test(); echo($test);Uvnitř objektu si udržuj atributy v atomickém stavu, ale vně objektu je prezentuj jako komplexní hotovou informaci, kterou k něčemu potřebuješ. Nesnaž se z vnějšku manipulovat s jednotlivými atributy, to je úkolem metod uvnitř objektu.
Metodu __toString() tam máš navíc, protože jsi ji nepoužil.jak to že jsem ji nepoužil? ta metoda se zpracuje přece vždy?
U metody show() ti chybí return.Ano to je pravda, to co jsem napsal je nesmysl, čili se dvěma metodama asi takto (doufám)
public function show(){ return $this->item1.$this->item2.$this->item1; } public function __toString(){ return show(); }
Uvnitř objektu si udržuj atributy v atomickém stavu, ale vně objektu je prezentuj jako komplexní hotovou informaci, kterou k něčemu potřebuješ.Vůbec netuším co je to atomický stav, musím pohledat a nastudovat...
Nesnaž se z vnějšku manipulovat s jednotlivými atributy, to je úkolem metod uvnitř objektu.No a tohle jde úplně mimo mne. Absolutně nerozumím co se mi snažíš poradit...
Tiskni
Sdílej: