Я играю с CMS, который использует пространства имен, и я пытаюсь использовать его вместо того, чтобы включать файлы и использовать функции в этих файлах.Использование функции внутри пространства имен PHP
Из того, что я понял и попробовал, у меня есть файл, загруженный как PSR-4 с объявленным пространством имен, классом и функцией, внутри которой я бы хотел получить доступ. Это выглядит следующим образом:
namespace MyFunctions;
class basic {
function say_hello($a) {
echo "Hello, $a";
}
}
И из другого файла, я могу видеть, что пространство имен «MyFunctions» действительно загружается при проверке с использованием get_declared_classes() функции. Однако я полностью потерял возможность использования функции say_hello().
Я пробовал:
use MyFunctions;
// instantiate class
$a = new basic();
// this gives me 'call to undefined function'
echo say_hello("Bob");
Я пытался рыть в других примерах, и я чавканье на бит пытается получить доступ к этой функции. Может ли кто-нибудь дать мне пример того, как я мог бы использовать функцию say_hello() из другого файла? Любая помощь была бы высоко оценена, спасибо!
Несмотря на то, что класс содержит имена, вам все равно необходимо создать экземпляр, прежде чем обращаться к его методам. –