Интерфейс пространства имен - PullRequest
5 голосов
/ 09 августа 2011

У меня есть структура:

/VBAL/
/VBAL/Interface/
/VBAL/Interface/Named.php
....
/VBAL/Component.php

component.php:

namespace JV\VBAL; 
class Component implements \JV\VBAL\Interface\Named {}

Named.php:

namespace JV\VBAL\Interface;
interface Named {}

Но у меня есть ошибка разбора:

Ошибка разбора: синтаксическая ошибка, неожиданное '{', ожидание T_STRING или T_NAMESPACE или T_NS_SEPARATOR

Как вы называете каталог "пространством имен" или размещаете файлы?

Ответы [ 2 ]

13 голосов
/ 09 августа 2011

Interface - зарезервированное слово в PHP. Вы не можете использовать его как часть своего пространства имен.

1 голос
/ 05 марта 2017

Как упоминалось ранее Interface является зарезервированным словом и не может использоваться как часть пространства имен.

Две хорошие альтернативы:

Base - в котором вы можете хранить множество базовых классов, из которых вы расширяете, например, интерфейсы, абстрактные классы, признаки

или Interfaces, но этот, на мой взгляд, используется немного реже из-за его пластической формы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...