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


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