2
Site
28

So-o

Implémentation d'un modèle orienté objet dans un langage de programmation structurée.

So-o définit une couche fonctionnelle qui ajoute un modèle de programmation orientée objet à un langage de programmation structurée. Inspiré par Smalltalk, So-o est complet, simple et léger, facile à comprendre.

So-o propose une implémentation type en plusieurs langages. Le code en PHP a moins de 1000 lignes.

Exemple
namespace Hello;

require_once 'So-o.php';

defclass('Hello', null, 1, null, null, null, array('hello'));

function i_hello($self) {
    echo 'Hello from So-o!', PHP_EOL;

    return $self;
}

Définit la classe Hello qui hérite de la classe par défaut Object. Son numéro de révision est 1. Elle n'ajoute pas de propriétés de classe ou d'instance. Elle n'ajoute pas de méthodes de classe. Elle ajoute une méthode d'instance appelée hello.

La fonction i_hello définie dans l'espace de nommage Hello implémente la méthode d'instance appelée hello. $self est l'instance qui a reçu le message hello.

$ php -a
php > require_once 'Hello.php';
php > $hello=sendmsg($Hello, 'new');
php > sendmsg($hello, 'hello');
Hello from So-o!

Charge le code de la classe Hello. Envoie le message new à la classe Hello. La méthode new est implémentée par la classe Object. Elle retourne une nouvelle instance de la classe. Envoie le message hello à l'instance $hello.

Visitez so-o.org.

Commentaires

Pour ajouter un commentaire, cliquez ici.

Par