Oubliez les types primitifs en PHP !

PHP devient meilleur de jour en jour, mais de nombreuses petites choses gâche encore la fête. Une de ces choses sont les types primitifs, qui ne sont pas objet.

Cette bibliothèque comble ce manque en vous permettant d’utiliser des objets pour les chaînes, les caractères, les tableaux, les tablaux indexés et les nombres.

Download
0.9.4
Fork Me!
on Github

Intuitif

De nombreuses fonctionnalités ont plusieurs manières d’être appelées, permettant de coller au plus près de la manière de coder de chacun. Vous aurez donc moins de surprise en codant avec Bah!

Simple

Bah! à été conçu pour être facile à installer et à utiliser. Installez-le en utilisant Git, Composer ou un fichier Zip. Codez en utilisant ses enchaînements de méthodes, ses alias et ses accesseurs magiques !

Ouvert

Le projet est Open Source sous licence MIT, hébergé sur Github et a une intégration continue sur Travis, ce qui fait que vous êtes libre de l’utiliser, le tester et l’améliorer !


De courts noms de classe Une lettre seulement !

Pour être utilisé à la place des types primitifs de PHP, les noms de classe se devaient d’être courts, très courts. Donc, vous n’avez qu’à déclarer la classe au début et ensuite utiliser son nom… Qui est une simple lettre ! Ainsi vous avez S pour les chaînes de caractères, C pour les caractères, A pour les tableaux, H pour les tableaux indexés et N pour les nombres.


use \Malenki\Bah\S; // pour String en anglais
use \Malenki\Bah\C; // pour Character en anglais
use \Malenki\Bah\A; // pour Array en anglais
use \Malenki\Bah\H; // pour Hash en anglais
use \Malenki\Bah\N; // pour Number en anglais
            

Enchaînement Faites votre chemin dans le code !

Sauf exception, toutes les méthodes peuvent s’enchaîner, ainsi vous pouvez obtenir à chaque appel un objet de la famille de Bah! et éviter ainsi une fastidieuse liste de variables intermédiaires !


use \Malenki\Bah\S;
$s = new S('Ceci est une chaîne de caractères !');
// affichera '    CECI    '
echo $s->upper->sub(4)->center(12);
        

UTF-8 uniquement Prêt pour l’international !

L’utilisation d’un vieux jeu de codage de caractères comme iso-8859-15 et ses amis est une très mauvaise idée depuis déjà quelques années, donc, Bah! vous décourage l’utilisation de telles vieilleries en vous forçant à l’utilisation exclusive de l’UTF-8 !


use \Malenki\Bah\C;
$c = new C('œ');
// Affichera le nom du bloc unicode
echo $c->block;
        

Moins de parenthèses Utilisez-les seulement si c’est nécessaire

Un certain nombre de méthodes n’ont pas de paramètres ou ont un paramètre par défaut. Donc, pour ces cas de figure, des « magic getters » sont suffisants, pas besoin de mettre des parenthèses quand elles ne sont pas nécessaires !


use \Malenki\Bah\A;
$a = new A(array('un', 'deux', 'trois', 'quatre'));
echo $a->join->upper->length;
// Affiche 17;