Generator/DoctrineCrudGenerator.php
public function generate(BundleInterface $bundle, $entity, ClassMetadataInfo $metadata, $format, $routePrefix, $needWriteActions, $forceOverwrite)
    {
        $this->routePrefix = $routePrefix;
        $this->routeNamePrefix = self::getRouteNamePrefix($routePrefix);
        $this->actions = $needWriteActions ? array('index', 'show', 'new', 'edit', 'delete') : array('index', 'show');

        if (count($metadata->identifier) != 1) {
            throw new \RuntimeException('The CRUD generator does not support entity classes with multiple or no primary keys.');
        }

        $this->entity = $entity;
        $entity = str_replace('\\', '/', $entity);
        $entityParts = explode('/', $entity);
        $entityName = end($entityParts);
        $this->entitySingularized = lcfirst(Inflector::singularize($entityName));
        $this->entityPluralized = lcfirst(Inflector::pluralize($entityName));
        $this->bundle = $bundle;
        $this->metadata = $metadata;
        $this->setFormat($format);

        $this->generateControllerClass($forceOverwrite);

        $dir = sprintf('%s/Resources/views/%s', $this->rootDir, strtolower($entity));

        if (!file_exists($dir)) {
            self::mkdir($dir);
        }

        $this->generateIndexView($dir);

        if (in_array('show', $this->actions)) {
            $this->generateShowView($dir);
        }

        if (in_array('new', $this->actions)) {
            $this->generateNewView($dir);
        }

        if (in_array('edit', $this->actions)) {
            $this->generateEditView($dir);
        }

        $this->generateTestClass();
        $this->generateConfiguration();
    }
public function generate(BundleInterface $bundle, $entity, ClassMetadataInfo $metadata, $format, $routePrefix, $needWriteActions, $forceOverwrite)
    {
        $this->routePrefix = $routePrefix;
        $this->routeNamePrefix = self::getRouteNamePrefix($routePrefix);
        $this->actions = $needWriteActions ? array('index', 'show', 'new', 'edit', 'delete') : array('index', 'show');

        if (count($metadata->identifier) != 1) {
            throw new \RuntimeException('The CRUD generator does not support entity classes with multiple or no primary keys.');
        }

        $this->entity = $entity;
        $entity = str_replace('\\', '/', $entity);
        $entityParts = explode('/', $entity);
        $entityName = end($entityParts);
        $this->entitySingularized = lcfirst(Inflector::singularize($entityName));
        $this->entityPluralized = lcfirst(Inflector::pluralize($entityName));
        $this->bundle = $bundle;
        $this->metadata = $metadata;
        $this->setFormat($format);

        $this->generateControllerClass($forceOverwrite);

        $dir = sprintf('%s/Resources/views/%s', $this->rootDir, strtolower($entity));

        if (!file_exists($dir)) {
            self::mkdir($dir);
        }

        $this->generateIndexView($dir);

        if (in_array('show', $this->actions)) {
            $this->generateShowView($dir);
        }

        if (in_array('new', $this->actions)) {
            $this->generateNewView($dir);
        }

        if (in_array('edit', $this->actions)) {
            $this->generateEditView($dir);
        }

        $this->generateTestClass();
        $this->generateConfiguration();
    }
public function generate ( BundleInterface $ bundle , $ entity , ClassMetadataInfo $ metadata , $ format , $ routePrefix , $ needWriteActions , $ forceOverwrite ) { $ this -> routePrefix = $ routePrefix ; $ this -> routeNamePrefix = self :: getRouteNamePrefix ( $ routePrefix ) ; $ this -> actions = $ needWriteActions ? array ( 'index' , 'show' , 'new' , 'edit' , 'delete' ) : array ( 'index' , 'show' ) ; if ( count ( $ metadata -> identifier ) != 1 ) { throw new \ RuntimeException ( 'The CRUD generator does not support entity classes with multiple or no primary keys.' ) ; } $ this -> entity = $ entity ; $ entity = str_replace ( '\\' , '/' , $ entity ) ; $ entityParts = explode ( '/' , $ entity ) ; $ entityName = end ( $ entityParts ) ; $ this -> entitySingularized = lcfirst ( Inflector :: singularize ( $ entityName ) ) ; $ this -> entityPluralized = lcfirst ( Inflector :: pluralize ( $ entityName ) ) ; $ this -> bundle = $ bundle ; $ this -> metadata = $ metadata ; $ this -> setFormat ( $ format ) ; $ this -> generateControllerClass ( $ forceOverwrite ) ; $ dir = sprintf ( '%s/Resources/views/%s' , $ this -> rootDir , strtolower ( $ entity ) ) ; if ( ! file_exists ( $ dir ) ) { self :: mkdir ( $ dir ) ; } $ this -> generateIndexView ( $ dir ) ; if ( in_array ( 'show' , $ this -> actions ) ) { $ this -> generateShowView ( $ dir ) ; } if ( in_array ( 'new' , $ this -> actions ) ) { $ this -> generateNewView ( $ dir ) ; } if ( in_array ( 'edit' , $ this -> actions ) ) { $ this -> generateEditView ( $ dir ) ; } $ this -> generateTestClass ( ) ; $ this -> generateConfiguration ( ) ; }
Generate the CRUD controller.

@param BundleInterface   $bundle           A bundle object
@param string            $entity           The entity relative class name
@param ClassMetadataInfo $metadata         The entity class metadata
@param string            $format           The configuration format (xml, yaml, annotation)
@param string            $routePrefix      The route name prefix
@param bool              $needWriteActions Whether or not to generate write actions
@param bool              $forceOverwrite   Whether or not to overwrite the controller

@throws \RuntimeException
Generate the CRUD controller .