За последние 24 часа нас посетили 20785 программистов и 1133 робота. Сейчас ищут 347 программистов ...

Вопрос о допустимости использования global

Тема в разделе "Решения, алгоритмы", создана пользователем Awilum, 20 июл 2020.

Метки:
  1. Awilum

    Awilum Активный пользователь

    С нами с:
    15 ноя 2009
    Сообщения:
    324
    Симпатии:
    25
    Адрес:
    Earth
    Доброго Времени Суток!

    Как вы считаете допустимо ли в моем случае использовать global, для того что бы немного упросить доступ к обьекту в DI контейнере ?

    было:
    PHP:
    1. $bible = $flextype->entries->fetchCollection('English/book1/chapter1');
    стало:
    PHP:
    1. $bible = entries()->fetchCollection('English/book1/chapter1');
    в хелпере прописано:
    PHP:
    1. function entries()
    2. {
    3.     global $flextype;
    4.     return $flextype['entries'];
    5. }
    p.s. простите за неправильный раздел для этого топика
     
    #1 Awilum, 20 июл 2020
    Последнее редактирование: 20 июл 2020
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    выскажусь - не используй global, если используешь ООП
    --- Добавлено ---
    не ты, так к твоему коду, случайно употребят данную переменную для своих нужд. GGWP
     
    #2 MouseZver, 20 июл 2020
    Последнее редактирование: 20 июл 2020
  3. Awilum

    Awilum Активный пользователь

    С нами с:
    15 ноя 2009
    Сообщения:
    324
    Симпатии:
    25
    Адрес:
    Earth
    нууу в ларке тоже ооп, и там функции хелперы... тот же collect()
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.816
    Симпатии:
    735
    Адрес:
    Татарстан
    и global есть в Ларке? - не верю
    имхо - упрощения доступа нет никакого, чуть короче запись, хелпер никаких доп полезных функций не создает
     
  5. Awilum

    Awilum Активный пользователь

    С нами с:
    15 ноя 2009
    Сообщения:
    324
    Симпатии:
    25
    Адрес:
    Earth
    нет конечно в ларке глобалов, там хелперы это у функции которые создают объект, ну я подумал, можно ли хелперы юзать для уже созданных объектов, а без глобалов же к ним никак не добраться внутри плоской функции, вот и задумался
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    Может тебе static пригодится внутри функции-хелпера?
    PHP:
    1. function serviceX()
    2. {
    3.     static $object;
    4.     if (!isset($object)) {
    5.         $object = new \App\ClassX();
    6.     }
    7.     return $object;
    8. }
    9.  
    10. function getXprop($name)
    11. {
    12.     return serviceX()->$name;
    13. }
    но вообще сюда просится некий реестр, а хелперы будут работать с ним.