Scaffolder v2.0.0
  • Namespace
  • Class

Namespaces

  • Scaffolder
    • Commands
    • Compilers
      • Core
        • Api
      • Layout
      • View

Classes

  • Scaffolder\Commands\BaseCommand
  • Scaffolder\Commands\ClearCacheCommand
  • Scaffolder\Commands\GeneratorCommand
  • Scaffolder\Commands\InitializeApiCommand
  • Scaffolder\Compilers\AbstractCompiler
  • Scaffolder\Compilers\AbstractCoreCompiler
  • Scaffolder\Compilers\AbstractViewCompiler
  • Scaffolder\Compilers\Core\Api\ApiControllerCompiler
  • Scaffolder\Compilers\Core\Api\ApiModelCompiler
  • Scaffolder\Compilers\Core\Api\ApiRouteCompiler
  • Scaffolder\Compilers\Core\ControllerCompiler
  • Scaffolder\Compilers\Core\MigrationCompiler
  • Scaffolder\Compilers\Core\ModelCompiler
  • Scaffolder\Compilers\Core\RouteCompiler
  • Scaffolder\Compilers\Layout\CreateLayoutCompiler
  • Scaffolder\Compilers\Layout\EditLayoutCompiler
  • Scaffolder\Compilers\Layout\PageLayoutCompiler
  • Scaffolder\Compilers\View\CreateViewCompiler
  • Scaffolder\Compilers\View\DashboardViewCompiler
  • Scaffolder\Compilers\View\EditViewCompiler
  • Scaffolder\Compilers\View\IndexViewCompiler
  • Scaffolder\Compilers\View\LoginViewCompiler
  • Scaffolder\Compilers\View\WelcomeViewCompiler
  • Scaffolder\ScaffolderServiceProvider
 1 <?php
 2 
 3 namespace Scaffolder\Compilers\Core\Api;
 4 
 5 use Illuminate\Support\Facades\File;
 6 use Scaffolder\Compilers\Core\RouteCompiler;
 7 use Scaffolder\Support\FileToCompile;
 8 use stdClass;
 9 
10 class ApiRouteCompiler extends RouteCompiler
11 {
12     /**
13      * Compiles a route.
14      *
15      * @param $stub
16      * @param $modelName
17      * @param $modelData
18      * @param \stdClass $scaffolderConfig
19      * @param $hash
20      * @param \Scaffolder\Support\Contracts\ScaffolderExtensionInterface[] $extensions
21      * @param null $extra
22      *
23      * @return string
24      */
25     public function compile($stub, $modelName, $modelData, stdClass $scaffolderConfig, $hash, array $extensions, $extra = null)
26     {
27         $this->stub = $stub;
28 
29         $this->replaceResource($modelName);
30 
31         return $this->stub;
32     }
33 
34     /**
35      * Compiles a group of routes.
36      *
37      * @param $stub
38      * @param $compiledRoutes
39      * @param \stdClass $scaffolderConfig
40      *
41      * @return string
42      */
43     public function compileGroup($stub, $compiledRoutes, stdClass $scaffolderConfig)
44     {
45         $this->stub = $stub;
46 
47         $this->replaceRoutes($compiledRoutes)
48             ->store(null, $scaffolderConfig, $this->stub, new FileToCompile(null, null));
49 
50         return $this->stub;
51     }
52 
53     /**
54      * Store the compiled stub.
55      *
56      * @param $modelName
57      * @param \stdClass $scaffolderConfig
58      * @param $compiled
59      * @param \Scaffolder\Support\FileToCompile $fileToCompile
60      *
61      * @return mixed|void
62      */
63     protected function store($modelName, stdClass $scaffolderConfig, $compiled, FileToCompile $fileToCompile)
64     {
65         File::append(base_path('../' . strtolower(str_replace(' ', '-', $scaffolderConfig->name . '-api'))) . '/app/Http/routes.php', PHP_EOL . $compiled);
66     }
67 }
68 
Scaffolder v2.0.0 API documentation generated by ApiGen