Généralités

Quelques mots au sujet des classes…

Les classes sont définies dans l’espace de nom \Malenki\Bah.

Chaque classe est nommée avec la première lettre composant le nom du type qu’elle représente ou simule en anglais.. Ainsi, la classe prenant en charge les chaînes de caractères se nomme S (String en anglais), celle pour les tableaux simple est A (Array), celle des tableaux indexés est H (Hash), celle des nombres est N (Number) et enfin celle de caractères est C.

Les méthodes de chacune de ces classes retournent toujours un objet de l’espace de nom \Malenki\Bah (l’objet courant ou un autre…), ou un booléen.

Comment les méthodes sont-elles nommées

Les méthodes sont nommé en « Camel Cases » comme cela est définie dans la PSR1.

J’ai essayé autant que possible d’éviter les noms de méthodes trop longs, afins d’enchaîner le plus possible les appels.

Les préfixes get sont banni car les classes sont déjà conçu pour retourner des données et non les modifier en leur sein. Bien sur, font exceptions à cela les classes A et H puisqu’elles gère du contenu.

Magic getters

Les accesseurs magiques sont souvent utilisées dans Bah. Leur convention de nommage est définit ainsi :

  • chaque lettre doit être en minuscule
  • les mots doivent être séparés par un underscore (_)

Bah vous permet d’exporter ses objets sous la forme de types primitifs en PHP en utilisant les accesseurs magiques. Ainsi, pour exporter un objet instancié à partir de S, faites simplement un $mySObject->string

Installation

Installation avec Composer

Ce projet est disponible sur Packagist, ainsi vous pouvez l’installer en utilisant Composer.

Vous n’avez qu’à faire un composer require malenki/bah:0.9.3 pour installer la version 0.9.3.

Utilisation du dépôt Git

Vous pouvez cloner le dépôt Github où Bah est hébergé. Faites simplement un git clone https://github.com/malenkiki/bah.git

Utilisez-le !

Maintenant que vous avez la lib’, il est tant de l’utiliser !

Bah utilise composer, vous devez donc pensez à inclure quelque part dans votre code l’autoloader fourni par composer :

include('/chemin/vers/verdor/autoloader.php');

Ensuite, vous pouvez utiliser les classes de Bah ! Par exemple, utilisons la lasse S :


include('/chemin/vers/verdor/autoloader.php');
use \Malenki\Bah\S;

$s = new S('J’aime beaucoup coder avec Bah!');
echo $s->upper->prepend(' ')->times(3)->lstrip;
                    

Cet exemple convertit une chaîne de caractères en majuscule, ajoute un espace au début, puis réplique 3 fois la chaîne et enfin la chaîne finale se voit enlever les caractères d’espacement sur sa gauche.

Tests unitaires

Les tests unitaires sont disponibles sur ce projet. Ils sont basé sur Phpunit et les tests sont dans le dossier… tests/ :-)

Un fichier de configuration à la racine des sources du projet permet de lancer les tests sans se soucier de passer tel ou tel paramètre.

Contribution

Soumission de bogues et de fonctionnalités

Les demandes de fonctionnalités et les bogues doivent être signalés sur le système de ticket associé au projet sur Github.

Lors de la soumission de votre demande, pensez à choisir un tag qui convient bien à la demande, et soyez le plus explicite possible :-)

Pull request

Avant de soumettre un « pull request », vous devez vérifier que votre code passe les tests unitaires, et vous devez églement en fournir si votre code ne couvre pas de cas connu.

Pour réaliser votre pull request, vous devez avoir préalablement fait un fork du projet sur Github. Si vous n’avez pas de compte, je vous invite à en créer.