Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.
Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.
V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.
Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.
FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.
K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.
Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.
Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
$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: