Как правильно вызвать класс внутри другого класса? Есть два класса: 1 - отвечает за регистрацию, 2 - отвечает за сохранение сообщения.
Обязаловки реги нет, но хочется сделать скрытую. При запросе на сервер, классы добавляются по вызову, то есть по одному (как бы роутинг). Как бы все запросы идут на одну страницу и там обрабатываются. К каждому запросу подключается определенный класс. При вызове второго класса без реги, должен осуществится вызов первого класса и по тем же данным.
Или тупо вот так сделать правильно?public function message($args) {
require 'firstclassfile.php';
$fco = new firstclassfile;
}
Как это удобнее сделать?

21 Авг 2019 в 07:00
199 +1
0
Ответы
1

Чтобы правильно вызвать один класс внутри другого, можно воспользоваться пространством имен и автозагрузкой классов. Например, в первом классе вы можете установить пространство имен, например:

namespace App;
class Registration {
public function register() {
// Регистрация пользователя
}
}

А во втором классе, чтобы вызвать класс Registration, можно сделать следующим образом:

namespace App;
class Message {
public function saveMessage() {
$registration = new Registration();
$registration->register();
// Сохранение сообщения
}
}

Таким образом, при вызове метода saveMessage класса Message будет автоматически вызван метод register класса Registration.

Также можно использовать зависимость внедрения чтобы передать экзкмпляр первого класса второму классу:

namespace App;
class Message {
private $registration;
public function __construct(Registration $registration) {
$this->registration = $registration;
}
public function saveMessage() {
$this->registration->register();
// Сохранение сообщения
}
}

Но если у вас нет такой возможности использовать пространство имен и автозагрузку классов, можно использовать require или require_once, как вы указали в примере:

require 'firstclassfile.php';
$fco = new firstclassfile;

Выбор способа зависит от ваших предпочтений и требований вашего проекта.

20 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 989 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир