Zajímavý zápis v schema/src/Schema/Elements/Structure.php
- Michal Kumžák
- Člen | 106
Zdravím
Něco sem hledal a náhodou sem zavítal do schema/src/Schema/Elements/Structure.php a docela mě tam zmátl zápis v konstruktoru.
(function (Schema ...$items) {})(...array_values($items));
Vysvětlí mi někdo k čemu to je, nebo co to má dělat?
- David Matějka
- Moderator | 6445
Je to kompaktní zápis, jak zkontrolovat, že všechny prvky jsou toho typu. Pokud by nebyly, padlo by to na type erroru
- Michal Kumžák
- Člen | 106
David Matějka napsal(a):
Je to kompaktní zápis, jak zkontrolovat, že všechny prvky jsou toho typu. Pokud by nebyly, padlo by to na type erroru
No to bych ještě pochopil u té první závorky, ale co dělá ten array_values?
- Kamil Valenta
- Člen | 822
Ta druhá závorka způsobuje volání toho lambda výrazu definovaného tou první závorkou. Kdyby tam ta druhá závorka nebyla, ta anonymní funkce by se nikdy nezavolala. A array_values tam jen vysází argumenty.