Банальный вопрос по ООП

V2oD2o

Новичок
Всем привет, столкнулся с такой проблемой:
кусок кода из класса:

class SQL {
function makeBlock($block) {
$html=html::FS_block(html::sectionHeader("Таблицы баз данных").html::makeTable(1, self::getBlockData($block)));
}
}

как то можно обойти вот это:
html::FS_block(html::sectionHeader("Таблицы баз данных").html::makeTable(1, self::getBlockData($block))

и выйти вот на это:
html::FS_block(sectionHeader("Таблицы баз данных").makeTable(1, self::getBlockData($block))

т.е. не писать каждый раз html::, а обращаться к тому же классу, внутри которого сейчас что то делается определенной функцией - какой то маркер чтоли.. что то вроде как в JS - this
 

AnrDaemon

Продвинутый новичок
То, что у вас в первом посте, вообще к ООП отношения не имеет.

И, да,
(а ещё там [/php] есть…)
 

Kotofey

FloodMaster.
Как вариант, выкрутиться можно следующим образом:

Код:
html::FS_block("Таблицы баз данных",1, self::getBlockData($block));
....
class html{
...
//public static function FS_block(String $paramName){
public static function FS_block($p1, $p2, $p3){
$paramName= self::sectionHeader($p1) . self::makeTable($p2,$p3);
......
}
 

Yaponchick

Новичок
PHP:
<?php

class SQL {
    function ya_hochu_chtobi_bilo_ochen_korotko_ne_izuchaya_nichego_prosto_tak($block) {
        $html = html::FS_block(html::sectionHeader("Таблицы баз данных") . html::makeTable(1, self::getBlockData($block)));
    }
   
    function makeBlock($block) {
        ya_hochu_chtobi_bilo_ochen_korotko_ne_izuchaya_nichego_prosto_tak($block);
    }
}
 

Василий М.

Новичок
выкинь свой код в помойку, весь.
отдохни неделю
потом бери книгу Гради Буча "ОО анализ и проектирование" и читай. С начала. Вдумчиво.
а потом http://php.net/manual/ru/language.oop5.basic.php

когда до тебя дойдет, что написал жуткое дерьмище - тогда считай, что ты что то понял
 
Сверху