PHP cli micro-framework?
Je veux programmer un petit script CLI de PHP, avec deux arguments possible de faire deux choses différentes. Très facile. Mais j'aimerais le faire d'une manière élégante.
Je me demandais si il existe une certaine PHP micro-framework fonctionnellement en mode CLI (notez que je dis micro-cadre et non cadre). Je veux utiliser le PHP parce que je vais inclure du PHP déjà programmé classes.
J'ai trouvé CLImax, c'est un spécifique de la CLI de micro-cadre et semble bonne, mais il manque une bonne documentation.
Connais-tu un endroit où je peux trouvé un bon point Culminant de la documentation (je n'ai rien trouvé, mais son code source du mal documenté)?
Ou peut-être connaissez-vous une autre option? Alliage semble ainsi un léger framework PHP, et a CLI "mode", mais je ne sais pas si c'est trop générique, comme c'est aussi bien pour les serveurs web. Avez-vous utilisé?
- Je suppose qu'il ne sont pas nombreux.
- ce sur pas de cadre à tous.
- Cadre pour faire quoi? Vous avez entré dans un magasin de matériel et dit à la secrétaire, "j'ai besoin d'un outil" - n'est pas très utile.
- vous la une, il ne la substance de la chose et est disponible en plusieurs couleurs attrayantes
- Peut-être que vous devriez regarder pour un par la recherche après que les fonctionnalités. Mais je ne pouvais pas penser à quelque chose de CLI-esque en dehors de getopt la manipulation et le chemin d'accès/exec wrappers.
- "mais je ne sais pas si c'est trop générique"... et bien, un cadre générique...
- Je pense que c'est pas une mauvaise idée d'utiliser un micro-framework pour une CLI tâche, il suffit d'avoir un code (sorte de standardisées). Je parle d'un micro-framework, et pas sur un cadre complet. Bien sûr, je peux continuer sans elle, mais je pense que certaines des raisons qui sont bonnes pour le choix d'aller sur un cadre dans une des applications sur le web sont valables pour une CLI en fonction de l'application: débogage de prêt, la lisibilité du code, design épuré...
Vous devez vous connecter pour publier un commentaire.
Découvrez la Symfony composant de la Console. Voici une introduction à l'utilisation. Il peut prendre un peu de travail pour arriver à fonctionner avec une ancienne version de PHP (sans les espaces de noms), et vous avez besoin d'un couple d'autres composants de Symfony, mais je l'ai utilisé avec beaucoup de succès.
J'ai trouvé celui-ci: php-cli-outils
C'est certainement micro et apporte tout ce que vous auriez avec sh ou de commandes windows.
Il ne possède pas de grands documents de ce que je peux voir, mais Cilex décrit lui-même comme:-
Pourrait être intéressant de jeter un oeil, je pense à l'utiliser moi-même, afin de remplacer le bash de scripts de déploiement, que j'ai écrit.
Laravel est un outil de ligne de commande appelé Artisan qui il vous permet d'étendre assez facilement;
Voir la documentation de l'Artisan du développement ici
Découvrez https://github.com/c9s/CLIFramework
CLIFramework est un framework full-stack pour les outils de ligne de commande, contrairement à Symfony/Console, il a un concis de l'API pour la construction légère application de ligne de commande.
Il permet de définir quelques options et des arguments info pour générer un document d'aide rapidement.
La partie la plus importante est que CLIFramework peut générer zsh achèvement script automatiquement, donc vous n'avez pas besoin d'écrire des script zsh pour chaque application en ligne de commande.
Vous pourriez être intéressé à mon php cli cadre: https://github.com/b-b3rn4rd/Terminalor
Terminalor - est une bibliothèque php pour la création de portable php cli fichiers. Il offre les fonctionnalités essentielles au travail en vertu de l'interface cli et peut être utilisé comme un wrapper pour les bibliothèques externes. Il permet de créer rapidement des documentée commandes cli avec des arguments à l'aide de fermetures et de commentaires phpdoc. Plus tard, ces commandes peuvent être compilés en un seul indépendant fichier portable.
Avez-vous essayé Mouette? Il ressemble trop nativement en charge des projets spécifiquement destinés à être utilisés dans la CLI.
Je ne pense que beaucoup de suggestions ci-dessus sont des micro-frameworks - même si de nombreuses suggestions sont les grands cadres et properbly mieux dans de nombreux cas d'utilisation que ma suggestion: https://github.com/diversen/minimal-cli-framework
Il est beaucoup plus rapide que le dessus des cadres (bien qu'il est rare que vous avez besoin de vitesse à partir d'un CLI-cadre). Il vous permet d'ajouter des sous-commandes à l'aide d'objets de la classe. Il génère de l'aide et de commande des définitions à partir d'une seule méthode. Vous aurez seulement besoin de mettre en œuvre deux méthodes à une classe existante pour l'utiliser avec un minimum d'-cli-cadre (
getCommand
- définition de la commande etrunCommand
- l'exécution de la commande).Disclaminer: j'ai écrit le paquet.