





Вы должны использовать статическую функцию. Попробуйте заменить свою функцию приведенным ниже кодом.
public static function disk($disk)
{
$instance = new MyStorage();
$instance->disk = $disk;
return $instance;
Кроме того, я предлагаю вам изучить шаблон проектирования одиночка
Вам не нужно заменять все, просто добавьте static для функции, к которой вы хотите получить глобальный доступ, например MyStorage :: disk ('dropbox'), и да, вы ничего не меняете, кроме добавления static.
после изменения на общедоступную статическую функцию disk ($ disk) вызовите MyStorage :: disk ('dropbox') -> ...... получил ошибку 'Использование $ this, когда не в контексте объекта'
Извините, это была моя ошибка, я изменил код, попробуйте еще раз.
ой, я обнаружил некоторые проблемы со своей статической версией, поэтому я удалил ее @Deno - это аккредитованный ответ для моего OP, мне нужно сначала узнать больше о статике, спасибо
после замены всех функций на статические, как насчет строки 'return $ this;' мне нужно что-то изменить? Благодарность