Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).
Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.
V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.
Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.
Česká národní banka (ČNB) nakoupila digitální aktiva založená na blockchainu za milion dolarů (20,9 milionu korun). Na vytvořeném testovacím portfoliu, jehož součástí jsou bitcoin, stablecoiny navázané na dolar a tokenizované depozitum, chce získat praktickou zkušenost s držením digitálních aktiv. Portfolio nebude součástí devizových rezerv, uvedla dnes ČNB v tiskové zprávě.
Apple představil iPhone Pocket pro stylové přenášení iPhonu. iPhone Pocket vzešel ze spolupráce značky ISSEY MIYAKE a Applu a jeho tělo tvoří jednolitý 3D úplet, který uschová všechny modely iPhonu. iPhone Pocket s krátkým popruhem se prodává za 149,95 dolarů (USA) a s dlouhým popruhem za 229,95 dolarů (USA).
Byla vydána nová stabilní verze 7.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 142. Přehled novinek i s náhledy v příspěvku na blogu.
Společnost Epic Games vydala verzi 5.7 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
$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ů
Musím si to pořádně rozebrat.. Děkuji
ještě tady mám úplně obyčejnou class, ze které opět nedostanu nic jiného než nadafinované proměnné na false. V každé metodě se uloží string který se ještě vypíše pokud tam vložím echo, ale v poslední metodě "show" už jsou zase všechny proměnné false, kde se to ztrácí? Děkuji
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: