A micro-framework for building CLI applications with Symfony Console using PHP callables.
Silly is a PHP micro-framework for building command-line interface (CLI) applications. It extends Symfony Console to allow defining commands using PHP callables like functions or closures, reducing boilerplate code while maintaining compatibility with Symfony's powerful console component.
PHP developers building CLI tools, scripts, or applications who want a simpler alternative to traditional Symfony Console command classes.
Developers choose Silly for its minimalistic approach to CLI development, offering the full power of Symfony Console with less code and intuitive callable-based command definitions.
Silly CLI micro-framework based on Symfony Console
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows defining commands with PHP callables like functions or closures instead of verbose classes, as demonstrated in the greet command example where a full command is set up in just a few lines.
Extends Symfony's Application class, so it seamlessly leverages all Symfony Console features such as input/output handling and helpers, maintaining compatibility with existing Symfony tools.
Integrates with containers like PHP-DI and Pimple, making it easy to manage command dependencies, as documented in the dependency injection section of the README.
Uses Symfony's familiar syntax for arguments and options, providing flexibility while keeping definitions concise, as shown in the example with positional and optional flags.
Forces all commands into callables, which can lead to less organized code for complex logic compared to structured classes, potentially hindering maintainability and code reuse in large projects.
The README points to Symfony's documentation for advanced features, meaning Silly's own docs are minimal and users may need to consult external resources for complex use cases.
As a micro-framework, it has fewer community extensions or pre-built solutions compared to full Symfony Console or other CLI frameworks, which could require more custom development.
Tightly coupled to Symfony Console, so any breaking changes or issues in Symfony directly impact Silly, offering no escape hatch if Symfony doesn't fit specific needs.