Я совершенно новый для PHP. Я сделал что-то такое:
class Foo
{
@BeforeSuite
public static function prePare()
{
$obj = new Foo;
$obj->iVisit("https://google.com");
}
}
public function iVisit($url)
{
if ($url != null) {
$this -> getSession() -> visit($url);
}
else {
throw new PendingException();
}
}
}
Но это бросает эту ошибку:
PHP Неустранимая ошибка: вызов функции-члена getSession() для объекта без объекта
Отредактировано:
Мой сценарий - загрузить URL-адрес, прежде чем запускать другие тестовые примеры. Поэтому я выбираю загрузить URL-адрес в функцию @beforesuite
, но в режиме behash @beforesuite
является статической функцией. Мне пришлось вызвать метод iVisit из статической функции.
Есть ли другое решение для этой проблемы?
Это не концепция php, а просто концепция программирования.
Вы не можете просто вызвать нестационарный метод в любом месте, просто потому, что вам нужно сделать экземпляр (или обратиться к уже существующему экземпляру) этого класса для вызова функции.