Saturday 15 March 2014

php - Laravel 5.0 - Where to use bindings from Service Providers? -



php - Laravel 5.0 - Where to use bindings from Service Providers? -

in app\providers\routeserviceprovider did create method register:

public function register() { $this->app->bindshared('justtesting', function($app) { die('got here!'); // homecoming new myclass; }); }

where should utilize that? did create method in app\http\controllers\homecontroller:

/** * reflectionexception in routedependencyresolvertrait.php line 53: * class justtesting not exist * * @get("/test") */ public function test(\justtesting $test) { echo 'hello'; }

but didn't works, can't utilize $this->app->make('justtesting');

it works if code below, inject controller.

/** * "got here!" * * @get("/test") */ public function test() { \app::make('justtesting'); }

how should bind want to? , if it's not allowed, why should utilize bindshared method?

it appears though first controller route throwing reflectionexception because object justtesting not exist @ time ioc container attempting resolve it.

also, should code interface. binding justtestinginterace myclass laravel knows "ok, when implementation of justtestinginterface requested, should resolve myclass."

routeserviceprovider.php:

public function register() { $this->app->bindshared('app\namespace\justtestinginterface', 'app\namespace\myclass'); }

inside of controller:

use illuminate\routing\controller; utilize app\namespace\justtestinginterface; class testcontroller extends controller { public function test(justtestinginterface $test) { // should work dd($test); } }

php laravel laravel-routing laravel-5

No comments:

Post a Comment