5upermario / slim-skeleton
Skeleton app for slim framework
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 1
Type:template
Requires
- monolog/monolog: ^2.3
- php-di/php-di: ^6.3
- slim/psr7: ^1.4
- slim/slim: ^4.8
- vlucas/phpdotenv: ^5.3
Requires (Dev)
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2025-02-19 16:30:59 UTC
README
Create project
composer create-project 5upermario/slim-skeleton project-name # Docker: docker run --rm --interactive --tty --volume $PWD:/app --volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp composer create-project 5upermario/slim-skeleton project-name
Utilities
Serve application
composer serve
It runs a dev server on port 8000
Run tests
composer test # Or npm run test # Docker: docker run --rm --interactive --tty --volume $PWD:/app --volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp composer test # Or npm run test:docker
Watch tests
npm run watch:test
# Docker:
npm run watch:test:docker
Additional features
Event dispatcher
You can setup events and listeners in config/events.php like
return [ \App\Example\Domain\Event\SomeEvent::class => [ \App\Example\Domain\Event\SomeListener1::class, \App\Example\Domain\Event\SomeListener2::class, ], ];
Then you can evaluate these events with the EventDispatcher class
class ExampleClass { private EventDispatcher $eventDispatcher; public function __construct(EventDispatcher $eventDispatcher) { $this->eventDispatcher = $eventDispatcher; } public function someFunction() { $this->eventDispatcher->dispatch(new SomeEvent()); } }