sf4 / api
Simple rest API for Symfony 4
v1.5.13
2019-04-05 06:41 UTC
Requires
- php: ~7.1
- ext-json: *
- ramsey/uuid-doctrine: ^1.5
- symfony/cache: ^4.2
- symfony/event-dispatcher: ^4.2
- symfony/framework-bundle: ^4.2
- symfony/orm-pack: ^1.0
- symfony/serializer: ^4.2
- symfony/translation: ^4.2
- symfony/validator: ^4.2
Requires (Dev)
- phpunit/phpunit: >=7.0
- squizlabs/php_codesniffer: ^3.0
- symfony/phpunit-bridge: ^4.2
This package is not auto-updated.
Last update: 2026-06-20 18:00:41 UTC
README
Simple rest API for Symfony 4
Structure
If any of the following are applicable to your project, then the directory structure should follow industry best practices by being named the following.
bin/
config/
src/
tests/
vendor/
Install
Via Composer
$ composer require Sf4/Api
Usage
config/routes.yaml
api_default: path: / methods: [GET, OPTIONS] api_site: path: /site/{token} methods: [GET, OPTIONS]
config/services.yaml
services: parameters: # ... api_token: '%env(resolve:API_TOKEN)%' # ... Sf4\Api\Services\TagAwareCacheAdapter: ~ Sf4\Api\Services\CacheAdapterInterface: '@Sf4\Api\Services\TagAwareCacheAdapter' Sf4\Api\Repository\RepositoryFactory: class: Sf4\Api\Repository\RepositoryFactory arguments: $entityManager: '@Doctrine\ORM\EntityManagerInterface' $entities: [] Sf4\Api\EventSubscriber\RequestSubscriber: ~ Sf4\Api\RequestHandler\RequestHandlerInterface: class: Sf4\Api\RequestHandler\RequestHandler calls: - method: setEntityManager arguments: - '@Doctrine\ORM\EntityManagerInterface' - method: setTranslator arguments: - '@Symfony\Component\Translation\TranslatorInterface' - method: setDispatcher arguments: - '@Symfony\Component\EventDispatcher\EventDispatcherInterface' - method: setRepositoryFactory arguments: - '@Sf4\Api\Repository\RepositoryFactory' - method: setCacheAdapter arguments: - '@Sf4\Api\Services\CacheAdapterInterface' - method: setSites arguments: - - { site: 'parent', url: null, token: null } # - { site: 'parent', url: 'parent.example.com', token: 'API_TOKEN' } # - { site: 'example', url: 'site.example.com', token: 'API_TOKEN' } - method: setAvailableRoutes arguments: - api_default: 'Sf4\Api\Request\DefaultRequest' api_site: 'Sf4\Api\Request\SiteRequest'
config/packages/translation.yaml
framework:
# ...
translator:
# ...
paths:
# ...
- '%kernel.project_dir%/vendor/sf4/api/src/translations'
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please email siim.liimand@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.