PHP est génial et compositeur, PHP-Fig et tous les différents cadres le rendent encore plus grand. Cependant, il y a encore des trucs hérités dans la langue elle-même qui rend PHP plus difficile à utiliser qu'il ne devrait l'être (voir http://phpsadness.com/ pour l'une des nombreuses listes).
Zubr est une bibliothèque de wrapper pour corriger les incohérences dans les fonctions principales de PHP. Il enveloppe les fonctions intégrées de PHP et tente de réparer quelques éléments - démarrant avec une dénomination cohérente, l'ordre des arguments, etc.
Par exemple, de:
parse_url()
urlencode()
à:
Zubrparse_url()
Zubrurl_encode()
Et même:
htmlentities()
html_entity_decode()
à:
Zubrhtml_entity_encode() // alias to htmlentities(), Zubrhtml_entities()
Zubrhtml_entity_decode()
Les fonctions ont toujours le même nom que celles intégrées, mais elles suivent le même ensemble de règles. Zubr est intuitif à utiliser, car les noms de fonction sont prévisibles et similaires à ceux auxquels vous êtes habitué.
L'idée de Zubr est venue de commentaire ce post HN: https://news.ycombinator.com/item?id=14883784
Nous ignorons PHP <7,0,0. Toute fonction obsolète et non incluse dans PHP 7.0.0 ne sera pas trouvée dans Zubr.
Voir: http://phpsadness.com/sad/4
Nous utilisons toujours Snake_Case.
Voir: http://phpsadness.com/sad/15
Nous ajoutons des alias en utilisant micro au lieu de u (ce qui signifie parfois user ).
Nous ajoutons des alias en utilisant user au lieu de u (ce qui signifie parfois micro ).
to vs 2Voir: http://phpsadness.com/sad/48
Nous ajoutons des alias en utilisant to lieu de 2 .
Voir: http://phpsadness.com/sad/9 et similaire.
Nous mettons toujours le sujet en premier, puis le mot-clé ( $haystack d'abord, puis $needle ).
Par exemple, vous diriez que "Recherchez Google pour le chien " (ce qui signifie "Recherchez $subject POUR $keyword ").
La plupart des fonctions PHP suivent déjà cette convention.
Voir: http://phpsadness.com/sad/6
Nous avons toujours mis le rappel en dernier.
Remarque: Si les paramètres donnés à une fonction ne sont pas ce qu'il attend, comme passer un tableau où une chaîne est attendue, la valeur de retour de la fonction n'est pas définie. Dans ce cas, il reviendra probablement NULL, mais ce n'est qu'une convention et ne peut pas être invoqué. http://php.net/manual/en/fonctions.internal.php
Nous aimerions réparer ce qui précède dans> 1.0 des versions.
La version 1.0 contiendra toutes les fonctions intégrées de base de PHP.
Nous pourrions ensuite implémenter un système de plugin privé pour ajouter des extensions groupées dans 2.0 et rendre le système de plugin public afin que n'importe qui puisse implémenter des emballages à des extensions externes dans la version 3.0.
Nous avons des jalons détaillés avec toutes les fonctionnalités qui seront implémentées jusqu'à la version 1.0 à https://github.com/nkkollaw/zubr/milestones.
Les demandes de traction sont les bienvenues.
Jetez un œil au fichier contribution.md.
Les e-mails peuvent être trouvés dans le fichier composer.json .