Login nie ma prawa wiedzieć o zmiennej Request, bo nie jest ona w jego zasięgu.
Jedno z wielu rozwiązań:
Dodaj w konstruktorze, dla klasy Login, parametr Request:
class Login
{
private $request;
public function __construct(Request $request)
{
$this->request = $request;
}
public function loginUser()
{
if ( self::findUser() === true && $this->userStuff->email === $this->emailLogin)
{
if ( $this->userStuff->password === $this->passwordLogin )
{
//Session id
Session::putIntoSession('loginSession', $this->userStuff->id);
//Session true
Session::putIntoSession('loginCorrect', true);
//Redricted to board
$this->request->sendTo('board');
}
}
}
}
A w pliku z poniższym kodem:
require 'vendor/autoload.php';
$Request = new Request; // <- To jest ta zmienna
Stwórz obiekt Login wraz z parametrem $Request.
require 'vendor/autoload.php';
$request = new Request; // <- To jest ta zmienna
$login = new Login($request);
Co się tyczy innych rzeczy:
Mam przykładową klasę, w tej klasie metodę ( funkcję )
Właściwie to metodę. Wyjaśnienie "( funkcję )", nie powinno mieć tutaj miejsca, choćby z tego powodu, że jest mylące.
inicjować 'wrogich' zmiennych z innych plików do klas
Wrogich???
Btw. Login nie powinno mieć jakiegoś namespace'a, aby dołączanie autoload'a miało sens?
Jeśli jesteś twórcą tej klasy Request, to nie sądzisz, że nazwa metody "sendTo" jest myląca, choćby z prostej przyczyny, że sam wyjaśniłeś w komentarzu:
//Redricted to board
$this-request->sendTo('board');
Sugeruję zmienić jej nazwę na: redirectTo().
Poza tym polecam ten kurs, gdyż Twoje słownictwo ze świata obiektowego jest ubogie:
https://webmastah.pl/jak-programowac-obiektowo-cz-1-wstep/
Dzięki zapoznaniu się z nim, będziesz mógł z większą łatwością objaśnić swój problem, aby inni forumowicze mogli Ci lepiej pomóc.
if ( self::findUser() === true && $this->userStuff->email === $this->emailLogin)
Klasa Login nie powinna mieć statycznej metody o nazwie "findUser". Zadaniem klasy Login jest logowanie, tylko i wyłącznie. Aby nie zostawić Cię z problemem i sobie radź polecam przekazać parametry, które są potrzebne do zalogowania, podobnie, jak zrobiłem to z Requestem. Gdyby klasa Login przeistoczyła się kiedyś w metodę kontrolera o nazwie Authorization - Wyciągaj te dane z własności (property) private $request.