The main purpose of this library it to create easy configurable and extensible API for entities:
- Read controller with flexible entity querying and filtering
- Create and update controllers with easy entity lifecycle control
- Basic access checks
- Require package from packagist:
composer require php-rpc/cruds:~1.0
- Include bundle into your application kernel
Doctrine bundle is mandatory to include too as it provides the common "@doctrine" service.
class AppKernel extends Kernel {
public function registerBundles()
{
return [
//...
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle,
new ScayTrase\Api\Cruds\CrudsBundle(),
//...
];
}
}
That's all, you are ready to go!
See usage manual
See usage manual
Currently the main dependency is doctrine/common
library which provides the
Criteria
and the Selectable
interface as powerful tool to configure fetch the entities.
Second important dependency is doctrine/doctrine-bundle
providing the doctrine registry.
You can implement and override it though.
Currently only application-wide API property mapper is supported. This happens because you can use the relations during the criteria configuration and the mapper used for the one entity should handle all of them.
This means that you cannot use both jms/serializer
and symfony/serializer
as
api metadata provider at the same time, you have to choose and convert mappings.