Laravel 5.7 Переопределяет класс вендора и расширяет старый - PullRequest
0 голосов
/ 01 ноября 2018

Таким образом, решением было создать новый ServiceProvider.

Это решение работает для Override

php artisan make:provider MyServiceProvider

Какой расширен поставщик услуг поставщика (находится в config / app.php). В этом ServiceProvider добавьте мой псевдоним в переопределенный регистр метод

 $loader->alias('Vendor\VendorName\Class', 'App\Vendor\MyCustomClass');

https://stackoverflow.com/a/47926486/10589868

Теперь, как мне расширить переопределенный класс? Я попробовал это:

$loader->alias('ClassParent', 'Vendor\VendorName\Class');
$loader->alias('Vendor\VendorName\Class', 'App\Vendor\MyCustomClass');
...
class MyCustomClass extends ClassParent {} // not working

1 Ответ

0 голосов
/ 04 ноября 2018

Первое, что вам нужно сделать, это расширить класс Vendor:

class MyCustomClass extends Vendor\VendorName\Class {}

Теперь у этого класса есть свойства и методы класса Vendor, а также добавленные вами свойства и методы.

Тогда ваш пользовательский класс может стать псевдонимом:

 $loader->alias('App\Vendor\MyCustomClass', 'Vendor\VendorName\Class');
...