Skip to content

php-rpc/cruds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP Cruds bundle

License Build Status Code Coverage Scrutinizer Code Quality

Latest Stable Version Latest Unstable Version Total Downloads

Features

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

Installation

  1. Require package from packagist:
composer require php-rpc/cruds:~1.0
  1. 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!

Configuration

See Configuration reference

Usage

See usage manual

Hooking (Event system)

See usage manual

Dependencies

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.

Integrations

See integration reference

Current limitations

Property mapper

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.