PhpStorm выделяет следующее пространство имен как ошибку. <?php namespace App\Http\Controllers\Public; Ошибка: Expected: identifier В целом. Являются ли зарезервированные ключевые слова, такие как public , function , class неприемлемыми для пространства имен?
скрипт с именем tester.php <?php namespace my; class Tester { public function greet() { echo "Hello ! <br />"; } } новый скрипт с именем tester1.php : <?php use my; $obj = new Tester(); $obj->greet(); Когда я запускаю tester1.php я получаю эту ошибку: Warning: The use statement with non-compound name 'my' has no effect in […]
Я пытаюсь использовать один из моих классов в моем пространстве имен, но получаю ошибку класса, не найденную: PHP Fatal error: Class 'ChatManager' not found in /var/www/soFitTest/chat/src/MyApp/Chat.php on line 17 Вот код: namespace MyApp; use Ratchet\MessageComponentInterface; use Ratchet\ConnectionInterface; include_once __DIR__.'/ChatMananger.php'; class Chat implements MessageComponentInterface { protected $clients; public function __construct() { $this->clients = new \SplObjectStorage; echo […]
I namespaced класс, чтобы использовать псевдонимы, чтобы предоставить сокращения для некоторых длинных имен классов: namespace some_namespace; use \VeryLongClassnameWhichIUseOften as Short; class MyClass { public static method do_stuff() { Short::do_something(Short::do_other_stuff()); } } Теперь есть сторонний код, который ожидает MyClass в глобальном пространстве имен. Могу ли я каким-либо образом экспортировать MyClass в глобальное пространство имен? Я пытался […]
Я пытаюсь выполнить php-скрипт с помощью ajax, но я получаю эту ошибку. Fatal error: Class 'backoffice\controllers\TypesManager' not found хотя я использовал пространство имен. Это php-файл, который я назвал его функцией ajax: namespace backoffice\controllers; use backoffice\controllers\TypesManager; $tm = new TypesManager(); echo $tm->getAllTypes(); И это мой класс TypesManager : namespace backoffice\controllers; /** * TypesManager */ class TypesManager{ […]
Допустим, у меня есть следующий класс: <?php namespace ImTheVendor\Project5; use ImTheVendor\Project1\SomeClass, ImTheVendor\Project2\SomeOtherClass; use ImTheVendor\Project5\SomeClass; class Something { } Как я могу получить все пространства имен, объявленные с использованием инструкции? Должен ли я повторно использовать сам файл или есть ли более простой способ сделать это?
При использовании пространств имен в PHP вы можете делать такие вещи, как: <?php use \mynamspace\MyClass; $a = new MyClass(); ?> Можно ли использовать строку … в файле include? Если есть десятки из тех, которые используют заявления, очень обидно писать их в каждом файле, в котором они вам нужны. Но оператор use работает только для текущего […]
Я использую пространства имен PHP в течение некоторого времени, и я думаю, что это отличное дополнение к моему программированию. Сегодня утром я задавался вопросом о чем-то относительно заявления о use . Мне интересно, влияет ли порядок use на функциональность моего PHP-кода. Согласно PHP.net Возможность ссылаться на внешнее полное имя с псевдонимом или импортом является важной […]
Мне действительно нужна помощь в использовании пространств имен. Как получить следующий код для правильной работы? <?php $mytv = simplexml_load_string( '<?xml version="1.0" encoding="utf-8"?> <mytv> <mytv:channelone> <mytv:description>comedy that makes you laugh</mytv:description> </mytv:channelone> </mytv>' ); foreach ($mytv as $mytv1) { echo 'description: ', $mytv1->children('mytv', true)->channelone->description; } ?> Все, что я пытаюсь сделать, это получить содержимое внутри элемента name.
namespace MyClass\Util; class Sample { public function each(Object $f) { } } Из вызывающего файла (не именуемого) $sample = new Sample(); $sample->each(new stdClass()); Производит: Допустимая фатальная ошибка: аргумент 1, переданный MyClass \ Util \ Sample.php, должен быть экземпляром MyClass \ Util \ Object, экземпляр объекта