Как подключить трейт? почему у меня класс не может найти трейт?
Я вроде как понял тему трейта. Но когда дошло дело до практики, то просто мягко говоря не мог подключить трейт к классу.
Структура моей папки был таким:
1.index.php
2.main.php(class)
3.single.php(train)
index.php
main.php
single.php
Вроде, все ясно и понятно и все должно работать. Но он не может найти трейт Выдовая такую ошибку:Fatal error: Trait 'single' not found in C:\OSPanel\domains\text\public\main.php on line 9

21 Авг 2019 в 06:58
207 +1
0
Ответы
1

Проблема здесь в том, что при использовании трейта внутри класса, трейт должен быть доступен на момент объявления класса, а не только при подключении файла в index.php.

Для решения этой проблемы вы можете внести изменения в структуру папок вашего проекта:

Создайте папку "traits" в корне вашего проектаПереместите single.php в эту папку

После этого ваша структура файлов будет выглядеть так:

index.phpmain.phptraits
single.php

Измените свой main.php следующим образом:

<?php
require_once 'traits/single.php';
class main
{
use single;
}

Теперь трейт будет доступен на момент объявления класса main и ошибка должна исчезнуть.

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