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

    +3

    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    final class SimpleToArrayTransformer
    {
        /**
         * @var SimpleToArrayTransformer
         */
        private static $instance = null;
    
        private function __construct()
        {/*_*/}
    
        /**
         * @return SimpleToArrayTransformer
         */
        public static function me()
        {
            if (!self::$instance) {
                self::$instance = new self();
            }
    
            return self::$instance;
        }
    
        public function transform($item)
        {
            return (array) $item;
        }
    }
    
    // используем так
    $data = SimpleToArrayTransformer::me()->transform($item);
    
    // нужно было 
    $data = (array) $item;

    Запостил: vyachin, 28 Октября 2015

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

    • /*_*/
      Ответить
      • С ушами лучше:
        {/*_*/}
        Ответить
        • это не ужи, это клинки, а вместе это иллидан

          http://vignette3.wikia.nocookie.net/warcrafterss/images/6/69/25_11779_oboi_illidan_s_klinkami_1920x1200.jpg/revision/latest?cb=20140116190415&path-prefix=ru
          Ответить
          • Но это не отменяет того, что с ушами лучше, чем без ушей.
            Ответить
            • смотри, щас кааааак почувствуешь ярость 10000 лет...
              Ответить
    • Ну а вдруг это для контроля? Если SimpleToArrayTransformer::$instance не null, то это означает, что метод transform вызывался хотя бы один раз.

      Идея:
      final class SimpleToArrayTransformer
      {
          /**
           * @var SimpleToArrayTransformer
           */
          private static $instance = null;
          private static $count = 0;
      
          private function __construct()
          {/*_*/}
      
          /**
           * @return SimpleToArrayTransformer
           */
          public static function me()
          {
              if (!self::$instance) {
                  self::$instance = new self();
              }
              ++self::$count;
      
              return self::$instance;
          }
      
          public function transform($item)
          {
              return (array) $item;
          }
      
          public function getCount()
          {
               return self::$count;
          }
      }
      
      ...
      
      echo 'Методы класса SimpleToArrayTransformer вызывались ' . SimpleToArrayTransformer::me()->getCount() . ' раз.' . PHP_EOL;
      Ответить
    • P.S. Просто в копилку:
      https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
      https://github.com/Herzult/SimplePHPEasyPlus
      Ответить

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