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

    +164

    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
    // КЛАСС: класс 1
    class clsClass1 {
    	public function Test1() {
    		echo('Вызов из объекта clsClass2');
    	}
    }
    // КЛАСС: класс 2
    class clsClass2 {
    	public function Test2() {
    		objClass1()->Test1();
    	}
    }
    
    // ФУНКЦИЯ: возвращает объект
    function objClass1() {
    	// объявление глобальной переменой
    	global $objClass1;
    	// создание объекта
    	if (!isset($objClass1)) $objClass1 = new clsClass1();
    	// сохранение результата
    	return $objClass1;
    }
    
    // создание объекта класса 2
    $objClass2 = new clsClass2;
    
    // вызываем метод Test2() класса 2
    $objClass2->Test2();

    Как вызвать из метода класса метод другого класса? Это же очевидно!
    1. Обмазаться глобальными переменными
    2. Навелосипедить недосирглтон
    3. ?????
    4. PROFIT!

    http://www.sql.ru/forum/1136133/kak-obratitsya-k-obektu-iz-funkcii-klassa

    Запостил: Stallman, 09 Февраля 2015

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

    • ну не в курил ООП бывает.
      Ответить
    • http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1136 133&msg=17093417
      Ответить
      • ААААА

        > А теперь посмотрите то, что вы мне предлагаете:
        > 1) protected
        > 2) static
        > 3) public static
        > 4) ::
        >
        > Усложнение синтаксиса приводит к дополнительным ошибкам. Из всего вами предложенного я в своем проекте ещё даже не использовал. И все отлично работает без этих странных конструкций.


        http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1136 133&msg=17094714
        Ответить
        • > ::
          > странные конструкции
          Да у него же T_PAAMAYIM_NEKUDOTAYIM
          Ответить
    • Наследование пока не нужно. Планирую использовать в будущем, но именно наследование в своем прямом предназначении (наследование методов и свойств родительского объекта). Пока что на этапе описания глобальных объектов и они у меня все разношерстные. Когда уже буду описывать логику там да, наследование пригодится.
      у меня начал дергаться левый глаз.
      Ответить
    • Вот из за таких кадров пхп приобрел дурную славу. П.С. рекомендую посмотреть другие темы данного человека на том форуме. Можно много откровенного бреда всяких довольно интересных вещей прочитать.
      Ответить
    • Бля))))))))) Как я смеялся...... Чуть не умер.
      Ответить

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