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.
Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].
Před rokem byla streamovací služba HBO Max přejmenována na Max. Dle managementu slovo HBO v názvu nebylo důležité. Včera byl Max přejmenován zpět na HBO Max. Kolik milionů dolarů to stálo? 😂
Byla vydána nová major verze 8.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.
Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.4. Přehled novinek s náhledy a videi v oznámení na blogu.
class Kontrola { public function __construct($array) { return 'foo'; } public function TestOne($a, $b, $c) //Potřebné 3 parametry { return 'foo'; } public function TestTwo() //Bez parametru { return 'foo'; } public function TestTre($a) //Potřebný 1 parametr { } } $array=array('TestOne'=>'0','0','0', 'TestOne'=>'0','2','0', 'TestTre'=>'2', 'TestTwo', 'TestOne'=>'2','3','10', ); $Kontrola = New Kontrola($array); echo $Kontrola;Jak mám tedy v konstruktoru volat jednotlivé metody s příslušnými parametry, když každá metoda má jiný počet parametrů. Poradí prosím někdo? Děkuji
Řešení dotazu:
jako vy chcete neco takoveho?
$array=array('TestOne'=>array('0','0','0'), 'TestOne'=>array('0','2','0'), 'TestTre'=>array('2'), 'TestTwo'=>array(), 'TestOne'=>array('2','3','10'), );
public function __construct($array) { foreach($array as $key=>$params){ var_dump(call_user_func_array('parent::'.$key,$params)); } }
array($this, 'parent::'.$key)
'Class::method'
je pro metody třídy (a funguje v poměrně novém PHP); varianta array($object, 'method')
je pro normální metody objektu. Tazatel spíš bude chtít to druhé, ale těžko říci...
tak tady mate jeden nazev funkce, dva pravdepodobne funkcni kody, pro jistotu pridam i odkaz do dokumentace - http://php.net/manual/en/function.call-user-func-array.php
vite urcite, co chcete?
<?php class Kontrola { public function __construct($array) { foreach($array as $key => $value){ call_user_func_array(array(&$this, $key) , $value ); } } public function TestOne($a, $b, $c) //Potřebné 3 parametry { echo "TestOne 1: $a 2: $b 3: $c\n"; return 'foo'; } public function TestTwo() //Bez parametru { echo "TestTwo\n"; return 'foo'; } public function TestTre($a) //Potřebný 1 parametr { echo "TestTre 1: $a\n"; return 'bar'; } } $array=array('TestOne'=>array('0','0','0'), 'TestOne'=>array('0','2','0'), 'TestTre'=>array('2'), 'TestTwo'=>array(), 'TestOne'=>array('2','3','10') ); $Kontrola = New Kontrola($array);
no tak treba takhle... zaklady php :)
class Kontrola { public function __construct($array) { foreach($array as $map){ call_user_func_array(array(&$this, $map[0]) , $map[1] ); } } public function TestOne($a, $b, $c) //Potřebné 3 parametry { echo "TestOne 1: $a 2: $b 3: $c\n"; return 'foo'; } public function TestTwo() //Bez parametru { echo "TestTwo\n"; return 'foo'; } public function TestTre($a) //Potřebný 1 parametr { echo "TestTre 1: $a\n"; return 'bar'; } } $array=array(array('TestOne',array('0','0','0')), array('TestOne',array('0','2','0')), array('TestTre',array('2')), array('TestTwo',array()), array('TestOne',array('2','3','10')) ); $Kontrola = New Kontrola($array);
$array=array('TestOne'=>array('0','0','0'), 'TestOne'=>array('0','2','0'), 'TestTre'=>array('2'), 'TestTwo'=>array(), 'TestOne'=>array('2','3','10')sa napr. použije
$array=array(('TestOne', '0','0','0'), ('TestOne', '0','2','0'), ('TestTre', '2'), ('TestTwo'), ('TestOne', '2','3','10')(a náležite sa upraví ten kód)
<?php class Kontrola { public function __construct($array) { foreach($array as $rec){ call_user_func_array(array(&$this, $rec[0]) , $rec[1] ); } } public function TestOne($a, $b, $c) //Potřebné 3 parametry { echo "TestOne 1: $a 2: $b 3: $c\n"; return 'foo'; } public function TestTwo() //Bez parametru { echo "TestTwo\n"; return 'foo'; } public function TestTre($a) //Potřebný 1 parametr { echo "TestTre 1: $a\n"; return 'bar'; } } $array=array(array('TestOne',array('0','0','0')), array('TestOne',array('0','2','0')), array('TestTre',array('2')), array('TestTwo',array()), array('TestOne',array('2','3','10')) ); $Kontrola = New Kontrola($array);
TestOne 0 0 0 TestTre 2 TestTwo TestOne 2 3 10který se načte a ověří, že zavolání metod vyprodukuje očekávané výsledky. Na unit test je vhodný nějaký framework, ale coby zadávání test cases pro jednoduché funkce to není tak špatné řešení -- lepší než pro ně patlat kód. Prasečina je totiž representovat data kódem...
taky to muze pouzit na nejake dynamicke nacitani modulu a extra funkce nejake podstranky... treba na urcitem miste na strance bude priznak s nazvem tridy a metody a tim to pak zavolat
bezpecnost samozrejme neresim :)
class Kontrola { public function __construct($array) { foreach($array as $test) { $reflectionMethod = new ReflectionMethod($this, $test[0]); echo $reflectionMethod->invokeArgs($this, $test[1]); } } public function TestOne($a, $b, $c) //Potřebné 3 parametry { return 'one'; } public function TestTwo() //Bez parametru { return 'two'; } public function TestTre($a) //Potřebný 1 parametr { return "three"; } } $array = [ ['TestOne', ['0','0','0']], ['TestOne', ['0','2','0']], ['TestTre', ['2']], ['TestTwo', []], ['TestOne', ['2','3','10']] ]; new Kontrola($array);
Tiskni
Sdílej: