Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.
Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »
Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.
Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o
… více »Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.
Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).
Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.
Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).
class Aaa {
private $aaa;
public function __construct() {
$this->aaa = new Bbb();
}
function __toString() {
return $this->aaa;
}
}
Třída Bbb
class Bbb {
private $bbb;
public function __construct() {
$this->bbb = 'Výsledek';
}
function __toString() {
return $this->bbb;
}
}
Vytvořím instanci třídy Aaa ale dostanu chybu!
echo new Aaa(); // Method Aaa::__toString() must return a string valueZjistil jsem, že když ve tříde Aaa opravím řádek
$this->aaa = new Bbb();za
$this->aaa .= new Bbb();tak to funguje. Proč tomu tak je však nedokážu nějak pochopit, vždyť nic nespojuji, tak proč tečka? Poradí někdo? Děkuji
__toString() musi vracet string.
Takze v tride Aaa predelej metodu __toString() takto:
function __toString() {
return strval($this->aaa);
}
= a .=? Prvni je prirazeni, druhy je zkraceny zapis concatenace stringu.
$this->aaa .= new Bbb();by se tedy dalo zapsat take takto:
$this->aaa = $this->aaa . new Bbb();No a pri concatenaci dochazi k prevodu na string, takze se na instanci
new Bbb() zavola metoda __toString()
$this->aaa nemas zadny vysledek, mas tam instanci tridy Bbb. Metoda __toString() se vola jen v pripade, ze je potreba z te instance udelat string.
Musíš nějak vynutit konverzi na řetězec a pomocí .= jsi provedl $this->aaa = $this->aaa . new Bbb();.
Já mám otázku: »Co vás lidi, tedy fčul Tebe, prosím Tě vede k tomu to používat takto (používat __toString())?«
To se musí někde líhnout tyto nápady a musí to mít nějaký důvod :).
class Aaa {
private $aaa;
public function __construct() {
$this->aaa = false;
$this->aaa .= '<ul>';
$this->aaa .= '<li>aaa</li>';
$this->aaa .= '<li>bbb</li>';
$this->aaa .= '<li>ccc</li>';
$this->aaa .= '</ul>';
}
}
$aaa = new Aaa();
echo $aaa;
A k čemu je taková třída?
Dobře, bude to „výkonná“ třída:
<?php
class Aaa {
static public function getListStatic() {
$o = '
class Aaa
{
private $o;
public function __construct()
{
$this->o = '$o = new Aaa(); echo $o; # Výsledek aaa bbb ccc
Tiskni
Sdílej: