1. PHP / Говнокод #16670

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    public function toArray()
            {
                    $that = $this;
                    $profile = $this->getProfile();
                    return [
                            'sex' => $profile->getSex(),
                            'distance' => (int) $profile->get($profile::FIELD_DISTANCE),
                            'balance' => new Object_Response_Model_User_Balance($profile->get($profile::FIELD_BALANCE)),
     
                            'payments' => call_user_func(function() use ($that) {
                                    $return = [];
                                    $checkoutTypes = $that->getRelationCheckoutTypes()->find_all()->as_array();
                                    foreach($checkoutTypes as $checkoutType) {
                                            if (json_decode($checkoutType->data)[0]->value) {
                                                    $return[] = $checkoutType;
                                            }
                                    }
                                    return $return;
                            }),
                            'vk' => $this->getRelationSocial()->getProfileUrl(),
                            'validate' => $this->getValidate()
                    ];
            };

    Автор: просто php нам дало анонимные функции, почему бы ими не пользоваться?

    Запостил: limitium, 09 Сентября 2014

    Комментарии (13) RSS

    • Почему бы и нет?
      Жаль нельзя 'payments' => (function () { ... }) ()
      Ответить
    • В этом вашем PHP ещё и контекст замыкания надо вручную прописывать?
      Ответить
      • А без знания контекста-то как? В PHP нет способа объявить локальные переменные.
        Ответить
        • > В PHP нет способа объявить локальные переменные.
          Глобальный питух.
          Ответить
      • Зато интерпретатору (наверно) чуть-чуть легче, меньше вероятность, что по глупости утащатся все переменные. Перфоманс!
        Ответить
    • > $profile->getSex(),
      По Фрейду.
      Ответить
      • А что не так-то? Едва ли не более употребимая форма, чем gender. И, насколько знаю, чаще встречается в паспортах, чем gender.

        http://i455.photobucket.com/albums/qq280/EvilEvilAnchovies/PassportExample.png
        Ответить
        • Та не, всё в порядке. Но это "$profile->getSex()" похоже на платную функцию какой-то социлачки :)
          Ответить
          • Хуеалочки, блядь. Это по вам и по вашим посещениям сайтов фрейд страдает.
            Ответить
            • Фрейд был гомо-сексуалистойм
              Ответить
              • Что не мешает тебе так трепетно переживать за сообщения в интернете
                Ответить
                • Ты тоже удали все посторонние предметы из ануса и жизнь будет тёплой и светлой.
                  Ответить
    • - Но так же неромантично... - Мэт со всей своей лёгкостью подошёл ко мне, держа в руке свой скейтборд.
      Ответить

    Добавить комментарий