У меня возникли проблемы с вызовом функции из класса с именами в другом классе с именами. В приведенном ниже примере фиктивного я хотел бы знать, как использовать Class2 в Class1. Я получаю сообщение об ошибке:Функция вызова из разных классов и пространства имен
Trait 'name1\name2\Class2' not found in class1.php
Код:
#file index.php
require "class1.php";
require "class2.php";
$class1 = new name1\Class1();
$class1->sayHello();
#file class1.php
namespace name1{
class Class1{
use name2\Class2;
public function sayHello(){
echo Class2::staticFunction();
}
}
}
#file class2.php
namespace name2{
class Class2{
public static function staticFunction(){
return "hello!";
}
}
}
Спасибо за любые советы.
Вы синтаксическая ошибка: не 'публичного статического staticFunction()' ', но общественная статическая функция staticFunction()' – zavg
Также в index.php: не просто 'SayHello()', но '$ class1-> SayHello(); ' – zavg
Да @zavg thanks :), как я прокомментировал в других сообщениях, ошибки присутствовали, потому что это не фактический код. Это был просто (действительно плохо написанный :() фиктивный пример.: S – AlbertoGarrido