<?php
declare(strict_types=1);
namespace Domain\Mixins {
trait ContentAware {
protected string $content;
public function getContent() {
return $this->content;
}
public function setContent(string $content) {
$this->content = $content;
}
}
use Domain\user\User;
trait UserAware {
protected User $author;
public function getAuthor() {
return $this->author;
}
public function setAuthor(User $author) {
$this->author = $author;
}
}
}
namespace Domain\User {
class User {
public function __construct(public string $name){}
}
}
namespace Domain\Forum {
use Domain\Mixins;
class Message {
use Mixins\ContentAware, Mixins\UserAware;
}
}
namespace {
use Domain\Forum\Message;
use Domain\User\User;
$message = new Message;
$message->setContent('Hello');
$message->setAuthor(new User('greg'));
echo sprintf('%s %s', $message->getContent(), $message->getAuthor()->name);
}
Parse error: syntax error, unexpected 'public' (T_PUBLIC), expecting variable (T_VARIABLE) in /in/frW8k on line 35
Process exited with code 255.
Output for 7.3.0 - 7.3.33
Parse error: syntax error, unexpected 'string' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in /in/frW8k on line 7
Process exited with code 255.