Задать вопрос
kemply
@kemply
школьник

Как объявить функцию класса вне класса или внутри __construct()?

Интересует такая задача:
Есть некий класс, который будет каждый раз модифицироваться. И чтобы было легко это сделать, решил разделить функции класса по разным папкам.
config (главная папка)
-- link (папка функции для работы с link)
-- title (папка функции для работы с title)

и т.д.

При помощи цикла, который находится в __construct() или можно вне самого класса, подгружаю каждый файл. Но я не знаю, как объявить функцию для это класса, чтобы сработал этот код:
Class config {
   function __construct(){
      // здесь подгружаются файлы
   }
}
// или подгружать здесь
$config = new config();
$config->getLink('protocol');

Как это можно реализовать? Если есть альтернативы, то рад узнать. Главное, чтобы все функции из разных файлов работали при помощи одной переменной, вроде $config;
  • Вопрос задан
  • 263 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
DevMan
@DevMan
нет такого костыля, который не сможет придумать пхпешник.
- создайте базовый абстрактный класс, от которого дальше наследуйтесь
- https://ru.wikipedia.org/wiki/Декоратор_(шаблон_пр...
- runkit
- ответ D' Normalization

но все это в данном случае нахер не упало: удобнее редактировать класс (с автокомплитом и прочими ништяками), а не 100500 отдельных функций, размазанных ровным слоем по диску.
Ответ написан
Denormalization
@Denormalization
1) Использовать магические методы
2) Использовать трейты
3) Использовать что-то вроде $config->load('link')->get('protocol');

Выбирайте.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽