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

    +144

    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
    function constructor(){
    		parent::XXXModule();
    		if (!class_exists('XXXSU'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSU.php'));
    			
    		if (!class_exists('XXXSUsRouter'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUsRouter.php'));
    			
    		if (!class_exists('XXXSUFingerprint'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUFingerprint.php'));
    			
    		if (!class_exists('XXXSUDao'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUDao.php'));
    			
    		if (!class_exists('XXXSUCategory'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUCategory.php'));
    		if (!class_exists('XXXSUsLocale'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUsLocale.php'));
    			
    		if (!class_exists('XXXSUsHelper'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUsHelper.php'));
    			
    		if (!class_exists('XXXSUsEmailTemplate'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUsEmailTemplate.php'));
    		if (!class_exists('XXXSUsEmailTemplatesDao'))
    			require_once(join_path(dirname(__FILE__), 'classes', 'class.XXXSUsEmailTemplatesDao.php'));
    	}

    конструктор класса - после некоторой маскировки имен(constructor,XXX,SU,join_path).

    Писал javист, волею судеб, но против своей, пересевший на ненавистный php

    функция join_path - не его, а из некоторого говновелосипеда.

    Запостил: Lure Of Chaos, 23 Августа 2010

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

    • XXX Helper с картинками.
      Ответить
      • чуть позанудствую: вместо ХХХ там другие три буквы. Кто-то шепчет, что надо было переименовать в XYU?
        Ответить
    • join_path - это хорошо, но блин стока тут копипаста...
      Ответить
      • да х с ним с копипастом. Я вот не понял 2 вещи:
        1. зачем проверка class_exists
        2. зачем это все в конструкторе, когда это все можно было вынести перед классом, что бы классы подключались при подключении файла, а не каждый раз при создании нового обьекта

        ну и конечно, join_path тут вообще как пятая колонна
        Ответить
        • каммент ниже
          Ответить
          • выяснили, зачем class_exists

            оказалось, некоторые классы копипастом в разных модулях. И если два таких модуля юзаются одновременно, то require_once заинклудит два разных файла, но с тем же классом - и помрет.
            Ответить
    • 1) я так понимаю чтобы не всегда инклудить библиотеки, но другой стороны автор просто не знает как работает require_once..
      2) ну это не конструктор, а так хз..

      ага, напоминает мне рубийный File.join
      Ответить
      • 1. я поинтересовался мнением автора - у него почему то кое-где была ошибка, что класс уже определен, поэтому он теперь везде проверяет
        2. нет, это был конструктор класса - я просто переименовал, что бы сам класс не палить - все таки это работает и продается. Зачем в конструкторе - он как истинный джавист, инициализацию проводит в конструкторах ))
        Ответить
        • foreach (array('SU', 'UsRoute', 'UFingerprint') as $className) {
            require_once join_path(dirname(__FILE__), 'classes', "class.XXX{$className}.php");
          }
          Ответить
          • $cp=dirname(__FILE__).'/classes/class.XXX';
            foreach (array('SU', 'UsRoute', 'UFingerprint') as $cls) {
              require_once ($cp.$cls.'.php');
            }
            Ответить

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