Closed paveljanda closed 7 years ago
Tímto článkem bych chtěl rozšířit myšlenku od Davida Matějky zde.
A to jak si jednoduše zaregistrovat filtry přes config.neon a přidávat si další jenom rozšiřovaním metod dané třídy.
services: latte.latteFactory: setup: - addFilter(NULL, [App\Filters, loader])
namespace App; class Filters { /** * @param string * @return mixed */ public static function loader(string $filter) { return (method_exists(__CLASS__, $filter) ? call_user_func_array([__CLASS__, $filter], array_slice(func_get_args(), 1)) : NULL); } /** * @param string * @return string */ public static function myFilter(string $s): string { return "{$s}ek"; } }
{var $foo = "Aleš"} {$foo|myFilter}
Název filtru je určen jménem konkretní metody.
Návratová hodnota metody nesmí být NULL, jinak vám laděnka bude vypisovat chybu o neexistujícím filtru.
Použitelné pro Nette >= 2.3
author: ali (aleswita+nette@gmail.com)
Tímto článkem bych chtěl rozšířit myšlenku od Davida Matějky zde.
A to jak si jednoduše zaregistrovat filtry přes config.neon a přidávat si další jenom rozšiřovaním metod dané třídy.
Název filtru je určen jménem konkretní metody.
Návratová hodnota metody nesmí být NULL, jinak vám laděnka bude vypisovat chybu o neexistujícím filtru.
Použitelné pro Nette >= 2.3