У меня есть этот класс:вызов функции члена получить на не-объект
class Search
{
protected static $Basics;
public function __construct() {
self::$Basics = new Basics();
}
public static function getT() {
return self::$Basics->get('keywords/t');
}
public static function isAvailable($keyword) {
return self::$Basics->get('keywords/available', ['keyword' => $keyword])['available'];
}
}
Класс Basics
действительно простой класс:
class Basics
{
public function __construct()
{
//some code..
}
public function get($keyword, $param = null)
{
return ['available' => true];
}
}
Призыв к getT
функции:
use App\Libraries\Search;
class GV
{
public function test() {
echo Search::getT() ? 'ok' : 'bad';
}
}
Но, когда я запускаю функцию getT
в классе Search
, он возвращает эту ошибку: Call to a member function get() on a non-object
Что я могу сделать?
Как ваш 'получить()' метод имеет 2 обязательных аргументов, называя его только 1 ('Самовозврат :: $ Основы -> get ('keywords/t'); ') сбой –
@MarkBaker Я отредактировал мой вопрос –
В противном случае нет никаких проблем с кодом, указанным –