app->make('Beejees\Product\Interfaces\ProductRepositoryInterface'); return $productRepo->findorNew($product); }); } if (Request::is('*/product/product/*')) { Route::bind('product', function ($product) { $productRepo = $this->app->make('Beejees\Product\Interfaces\ProductRepositoryInterface'); return $productRepo->findorNew($product); }); } if (Request::is('*/product/carrier/*')) { Route::bind('carrier', function ($carrier) { $carrierRepo = $this->app->make('Beejees\Product\Interfaces\CarrierRepositoryInterface'); return $carrierRepo->findorNew($carrier); }); } } /** * Define the routes for the package. * * @return void */ public function map() { $this->mapWebRoutes(); $this->mapApiRoutes(); } /** * Define the "web" routes for the package. * * These routes all receive session state, CSRF protection, etc. * * @return void */ protected function mapWebRoutes() { Route::group([ 'middleware' => 'web', 'namespace' => $this->namespace, ], function ($router) { require (__DIR__ . '/../../routes/web.php'); }); } /** * Define the "api" routes for the package. * * These routes are typically stateless. * * @return void */ protected function mapApiRoutes() { Route::group([ 'middleware' => 'api', 'namespace' => $this->namespace, 'prefix' => 'api', ], function ($router) { require (__DIR__ . '/../../routes/api.php'); }); } }