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

    +140

    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
    <?php
    /**
      * @desc Локализация сайта
      *
      **/
    class System_Message{
      private function openLangFail($lang){
        $path = '/../message/'.$lang.'.php';
        if (file_exists($path)) {
          return 'File with languages not found';
        } else {
          return include $path; 
        }
      } 
      
      public function getLang($value, $lang='ru'){
        $lang = self::openLangFail($lang);
        if($lang[$value] != '') {
          return $lang[$value];
        } else {
    	  return false;
    	}
      }
    }

    Ну как?

    Запостил: Dev_18, 12 Мая 2015

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

    •  
      Ответить
    • Это что? Это ты называешь PHPDoc? openLangFail? Fail? Ты серьезно? А прикаждом вызове getLang ты будешь подгружать файл? А что будет, если getLang будет вызван с несуществующим языком? А что если папка с языками переедет? А что если cwd поменяется?
      Неуд короч. Ладно бы это был блистательный говнокод, но этого и так на просторах полно.
      Ответить
      • Спасибо за советы, сейчас всё поменяю и чтобы не подгружать файл я сделаю кеширование.
        Ответить
        • И Fail это поломка, а не File.
          Ответить
          • Примерно так улучшил:

            <?php
            class Open_File{
            private $_cache = array();

            public function __construct() {
            $_cache = $this->_cache;
            }

            public function openFile($dir) {
            if(file_exists($dir)) {
            return false;
            } else {
            $file = include $dir;
            if($_cache['dir'] == $dir) {
            return $_cache['body'] ? $_cache['body'] : '';
            } else {
            $_cache['dir'] = $dir;
            return $_cache['body'] = $file;
            }
            }
            }

            }
            ?>
            Ответить
            • А класс System_Message наследует этот класс(Open_File).
              Ответить
    • Эй говнюки, схрена заминусовали-то?
      Ответить
      • простите, ваш ID больше 10000 и вы идете нахуй
        Ответить
    • - Почему ты обнимался со своим этим, как его там, одноклассником?
      Ответить

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