diff --git a/composer.json b/composer.json index 583ec58..7e59667 100644 --- a/composer.json +++ b/composer.json @@ -18,6 +18,8 @@ "symfony/class-loader": "^2.3|^3.0" }, "require-dev": { + "illuminate/config": "^5.0,<5.5", + "illuminate/view": "^5.0,<5.5", "phpunit/phpunit" : "4.*", "scrutinizer/ocular": "~1.1", "squizlabs/php_codesniffer": "~2.3", diff --git a/src/Console/MetaCommand.php b/src/Console/MetaCommand.php index f1fb774..840bc55 100644 --- a/src/Console/MetaCommand.php +++ b/src/Console/MetaCommand.php @@ -90,7 +90,7 @@ class MetaCommand extends Command } } - $content = $this->view->make('ide-helper::meta', [ + $content = $this->view->make('meta', [ 'bindings' => $bindings, 'methods' => $this->methods, ])->render(); diff --git a/src/Generator.php b/src/Generator.php index eb50c95..f75df24 100644 --- a/src/Generator.php +++ b/src/Generator.php @@ -80,7 +80,7 @@ class Generator public function generatePhpHelper() { $app = app(); - return $this->view->make('ide-helper::helper') + return $this->view->make('helper') ->with('namespaces_by_extends_ns', $this->getAliasesByExtendsNamespace()) ->with('namespaces_by_alias_ns', $this->getAliasesByAliasNamespace()) ->with('helpers', $this->helpers) diff --git a/src/IdeHelperServiceProvider.php b/src/IdeHelperServiceProvider.php index a39b3da..0b4c6d5 100644 --- a/src/IdeHelperServiceProvider.php +++ b/src/IdeHelperServiceProvider.php @@ -14,6 +14,10 @@ use Illuminate\Support\ServiceProvider; use Barryvdh\LaravelIdeHelper\Console\MetaCommand; use Barryvdh\LaravelIdeHelper\Console\ModelsCommand; use Barryvdh\LaravelIdeHelper\Console\GeneratorCommand; +use Illuminate\View\Engines\EngineResolver; +use Illuminate\View\Engines\PhpEngine; +use Illuminate\View\Factory; +use Illuminate\View\FileViewFinder; class IdeHelperServiceProvider extends ServiceProvider { @@ -53,11 +57,12 @@ class IdeHelperServiceProvider extends ServiceProvider { $configPath = __DIR__ . '/../config/ide-helper.php'; $this->mergeConfigFrom($configPath, 'ide-helper'); + $localViewFactory = $this->createLocalViewFactory(); $this->app->singleton( 'command.ide-helper.generate', - function ($app) { - return new GeneratorCommand($app['config'], $app['files'], $app['view']); + function ($app) use ($localViewFactory) { + return new GeneratorCommand($app['config'], $app['files'], $localViewFactory); } ); @@ -70,8 +75,8 @@ class IdeHelperServiceProvider extends ServiceProvider $this->app->singleton( 'command.ide-helper.meta', - function ($app) { - return new MetaCommand($app['files'], $app['view']); + function ($app) use ($localViewFactory) { + return new MetaCommand($app['files'], $localViewFactory); } ); @@ -87,4 +92,20 @@ class IdeHelperServiceProvider extends ServiceProvider { return array('command.ide-helper.generate', 'command.ide-helper.models'); } + + /** + * @return Factory + */ + private function createLocalViewFactory() + { + $resolver = new EngineResolver(); + $resolver->register('php', function () { + return new PhpEngine(); + }); + $finder = new FileViewFinder($this->app['files'], [__DIR__ . '/../resources/views']); + $factory = new Factory($resolver, $finder, $this->app['events']); + $factory->addExtension('php', 'php'); + + return $factory; + } }