Не зная, как работают фасады Laravel, на основе моих знаний PHP я попытался расширить фасад Storage, добавив некоторые новые функции.
У меня есть этот код:
class MyStorageFacade extends Facade {
/**
* Get the binding in the IoC container
*
* @return string
*/
protected static function getFacadeAccessor()
{
return 'MyStorage'; // the IoC binding.
}
}
При загрузке поставщика услуг:
$this->app->bind('MyStorage',function($app){
return new MyStorage($app);
});
А фасад это:
class MyStorage extends \Illuminate\Support\Facades\Storage{
}
При его использовании:
use Namespace\MyStorage\MyStorageFacade as MyStorage;
MyStorage::disk('local');
Я получаю эту ошибку:
FatalThrowableError в строке 237 Facade.php: вызов неопределенного метода Namespace \ MyStorage \ MyStorage :: disk ()
Также попытался расширить MyStorage
форму Illuminate\Filesystem\Filesystem
и получил ту же ошибку другим способом:
BadMethodCallException в строке 74 Macroable.php: Диск метода не существует.