Как правильно объявить объект класса в другом классе?
Мне нужно создать экземляр класса в конструкторе. Это облегчённый вопрос, чтобы не пришлось кидать кучу кода. Я пытался разными способами, по итогу либо эта ошибка, либо NULL вместо объекта. В общем, пару дней уже сижу с этим. Туториалы предлагают делать так:
Action.php:
<?php
namespace App\Services;
use App\Services\Test;
class Action
{
private $test;
public function __construct()
{
$this->test = new Test;
}
public function Message()
{
$this->test->Get();
}
}
?>
Я делаю так, получаю:
Fatal error: Uncaught Error: Using $this when not in object context in /home/ryir/www/test.asd/app/Services/Action.php:17 Stack trace: #0 /home/ryir/www/test.asd/index.php(5): App\Services\Action::Message() #1 {main} thrown in /home/ryir/www/test.asd/app/Services/Action.php on line 17
Остальной код:
Test.php
<?php
namespace App\Services;
class Test {
public function Get()
{
echo "Hello";
}
}
?>
index.php
<?php
use App\Services\Action;
require_once __DIR__ . "/vendor/autoload.php";
Action::Message();
?>