Я пробовал все вышеперечисленные 2 подхода:
-обмена переменных TEMP и TMP enviromental
- <ServiceOutputDirectory>
path
и не работает. В моем случае мне пришлось переместить весь проект на более короткий путь C: \ и работать. Я использую W7 и VS12.
Если вас беспокоит тип или поведение возвращаемого класса, вам действительно следует определить интерфейс для этого:
interface KeyInterface
{
public function getKey(): ?string;
public function getValidTill(): ?string;
}
Затем анонимный класс реализует интерфейс:
public function getApi(): KeyInterface
{
$api = $this->api ?: [];
return new class ($api) implements KeyInterface
...
}
Анонимные классы могут по-прежнему реализовывать интерфейсы и наследоваться от других классов.