Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Laravel 5.x » Не работает указание type-hint dependency в контроллере » 25.03.2019 18:14:07

iamoskvin
Ответов: 0

Доброго времени суток!
Создал сервис в файле AppServiceProvider:    OdataService.
В методе контроллера могу получить объект через app(OdataService::class).  Но вот при передаче аргументом в метод контроллера не работает: класс не находит.

Версия Laravel: Lumen (5.8.4) 
Версия ОС и тп: поставил самую свежую laravel homestead: vagrant+ virtualBox

Задача, что должно происходить _в целом_, техническое задание:
    Авторазрешение зависимости при указании аргументом в методе контроллера
Что произошло, текст ошибки, если есть:
   "Class App\Services\OdataService does not exist"

Варианты/догадки, почему это произошло: Прошу подсказать.   

Routes:

$router->get('/team/team.php', 'MemberController@team');

app\Http\Controllers\MyController.php

namespace App\Http\Controllers;
use App\Services\OdataService;

class MemberController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {	

    }

    public function team(OdataService $odata)
	{
		//$odata = app(OdataService::class); // вот так работает
	}
}

AppServiceProvider.php

namespace App\Providers;
require_once __DIR__.'/vendor/autoload.php';

use Illuminate\Support\ServiceProvider;
use Kily\Tools1C\OData\Client;
use App\Services\OdataService;


class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->bind('App\Services\OdataService', function ($app) {			
            return new Client('/',[
				'auth' => [
					'', 
					''
				],
				'timeout' => 300,
			]);
        });
    }
}

Подвал раздела