За последние 24 часа нас посетили 55616 программистов и 1720 роботов. Сейчас ищут 877 программистов ...

Помогите разобраться с кодом.

Тема в разделе "PHP для новичков", создана пользователем gawk, 15 апр 2012.

  1. gawk

    gawk Активный пользователь

    С нами с:
    14 апр 2012
    Сообщения:
    5
    Симпатии:
    0
    Доброго времени суток всем, вот код:
    Код (Text):
    1.             $dto = $params->get('dto');
    2.  
    3.            
    4.             if ($params->get('wdate') == 0) {
    5.                 $date = JHTML::_('date', $row->created, $dto);
    6.             } elseif ($params->get('wdate') == 1) {
    7.                 $date = JHTML::_('date', $row->modified, $dto);
    8.             } elseif ($params->get('wdate') == 2) {
    9.                 $date = JHTML::_('date', $row->publish_up, $dto);
    10.             } elsei[code]
    f ($params->get('wdate') == 3) {
    $date = JHTML::_('date', $row->publish_down, $dto);
    }


    $lists[$i]->date = '<span class="aidanews2_date">' . $date1 . '</span><span class="aidanews2_date">' . $date . '</span>';[/code]

    В php я пока понимаю самую малость, поэтому никак не могу понять, что делает
    Код (Text):
    1. $dto = $params->get('dto');
    и
    Код (Text):
    1.             if ($params->get('wdate') == 0) {
    2.                 $date = JHTML::_('date', $row->created, $dto);
    3.             } elseif ($params->get('wdate') == 1) {
    4.                 $date = JHTML::_('date', $row->modified, $dto);
    5.             } elseif ($params->get('wdate') == 2) {
    6.                 $date = JHTML::_('date', $row->publish_up, $dto);
    7.             } elseif ($params->get('wdate') == 3) {
    8.                 $date = JHTML::_('date', $row->publish_down, $dto);
    9.             }
    Во втором случае понятно только, что это условие, причем сложное, а вот на истинность чего проверяется и зачем не понимаю.
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    что они там делают это класс читать нужно.
    а вот эту вот кашу с "парамс-гет-вэ-дэйт" надо убирать. например на свич:

    switch($params->get('wdate'))
    {
    case 0:
    break;
    case 1:
    break;
    /// ... ///
    }
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Только хотел сказать, лучше свитча используйте, отлучился, а ты меня опередил =)))
     
  4. gawk

    gawk Активный пользователь

    С нами с:
    14 апр 2012
    Сообщения:
    5
    Симпатии:
    0
    Это конечно здорово, но с кодом разобраться никто не поможет?

    p.s. спасибо предыдущим двум
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    эта строка определяет переменную dto, записывая в нее результат выполнения вызова с аргументом 'dto' метода get экземпляра params какого-то класса. не видя класс нельзя сказать что именно возвращает этот метод.

    далее (в елке иф-элсов) - вызывается этот же метот того же экземпляра того же класса, но уже с аргументом 'wdate'. при этом возвращаемое значение сравнивается с числовыми константами. если возвращенное значение равно этому числу - выполняется ветка кода.

    это логика работы этого куска кода. хотите знать больше? дайте исходники всей системы.
     
  6. gawk

    gawk Активный пользователь

    С нами с:
    14 апр 2012
    Сообщения:
    5
    Симпатии:
    0
    Спасибо, все что нужно было - узнал