funkcionálně.cz
Přední český blog o funkcionálním programování, kde se o funkcionálním programování nepíše
komentáře článku
Jak z funkcí implementovat objektový systém
Text komentáře
Jméno
Email
Web
v6ak
(2013-03-22 06:47)
Zajímavé. BTW, u $__nilFunction; bych použil static, zbavíš se tak jedné globální proměnné.
k47
(2013-03-23 01:40)
Chtěl jsem, ale to nejde. Hodnotou static proměnné nemůže být funkce.
v6ak
(2013-03-23 08:32)
Dokud neuvidím, neuvěřím. Aha, to je PHP...
To se dá komentovat jen: #lol
Jakub Vrána
(2013-06-22 14:49)
Může to být i funkce, ale je potřeba ji inicializovat takhle:
<code>function nil() {
static $function;
if (!$function) {
$function = function () {
return null;
};
}
return $function;
}
</code>
v6ak
(2013-06-23 07:10)
Aha, takže je to čistě omezení syntaxe...
milo
(2013-06-22 22:07)
Jde, jen ne přímo.
static $x; if ($x === NULL) { $x = function..... }
milo
(2013-06-22 22:10)
No do prkna... Tukam to na mobilu a jeste pred chvilkou jsem ten post od Jakuba Vrany nevidel.
Jiří Knesl
(2013-03-24 15:32)
Zajímavý článek. V implementaci OOP si zašel ještě o kousek "níž", tedy víc k jednoduchosti.
Já jsem před pár měsíci taky implementoval minimalistické OOP v PHP. Použití je extrémně jednoduché.
Tady je projekt: https://bitbucket.org/jiriknesl/php-oop
Tady je zdroják: https://bitbucket.org/jiriknesl/php-oop/src/26d90e478e843c1a5906b4e52b8a43e798822a7d/Object.php?at=default
k47
(2013-03-25 06:20)
To je pěkné, ale podstatně se liší naše výchozí podmínky. Já jsem začínal bez kompozitních typů/jenom s funkcemi/uzávěrami, ty bereš asoc. pole jako daná. Mezi tím je gigantický rozdíl.
Patrik Šíma
(2013-06-22 14:07)
OO v procedurálním jazyce není podle mě nová věc. V linuxu se s úspěchem používá knihovna GObject tuším.
Patrik Šíma
(2013-06-22 14:08)
I když to nemění nic na tom, že v PHP je to machrovina :)
@kaja47
, kaja47@k47.cz,
deadbeef.k47.cz
,
starší články
To se dá komentovat jen: #lol
<code>function nil() {
static $function;
if (!$function) {
$function = function () {
return null;
};
}
return $function;
}
</code>
static $x; if ($x === NULL) { $x = function..... }