ФорумПрограммированиеPHP для идиотов → Вид вложений вид фреймворк(codeigniter)

Вид вложений вид фреймворк(codeigniter)

  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 22 августа 2010 г. 16:15, спустя 11 минут 12 секунд


    я говорю, надо подраздел какой-нибудь про фреймворки)))

    Да, я согласен, можно его сделать в php для профи => фреймворки => cake, zend, ci etc
  • ukroficer

    Сообщения: 66 Репутация: N Группа: Кто попало

    Spritz 22 августа 2010 г. 16:21, спустя 6 минут 31 секунду

    Всем спасибо особенно  krasun.Вроде все запахало методом вызова
    $this->load->view('script_name');
       из  вида.Но еще маленький консультативный вопросик имеется!Грубо говоря метод может вернуть две переменных или я сам могу их определить в контролере, а в виде проверять если есть $a то выполнить такое действие если $b то такое все хорошо когда обе переменные переданы…Но когда любая переменная не передана генерируется  сообщения типа :
    A PHP Error was encountered

    Severity: Notice

    Message: Undefined variable: header

    Filename: views/view_main.php

    Line Number: 18
    Я уже и в хелпер функцию написал



    function _isset_($var)
    {
       
     if (!isset($var))
       $var = "";  
       return $var;
    }



    Все равно сообщение генерится.Может просто банально отключить вывод предупреждений?Но это тоже не выход?!
    Еще раз Огромное Спасибо профессионалам!
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 августа 2010 г. 16:24, спустя 2 минуты 47 секунд

    if (isset($a)) echo $a;
    не выход?
    Спустя 40 сек.
    а, ты на автомат хочешь это дело
  • ukroficer

    Сообщения: 66 Репутация: N Группа: Кто попало

    Spritz 22 августа 2010 г. 16:29, спустя 4 минуты 35 секунд

    Да хочу автоматом долго каждый раз вызывать
    if (isset($a)) echo $a;
    или
     if (isset($a)) include_once $a;
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 августа 2010 г. 16:35, спустя 6 минут 25 секунд

    function _isset_($var)
    {
    if (!isset($var))
    $var = "";
    return $var;
    }

    ошибка вызывается, потому что ты пытаешься в функцию несуществующую переменную передать.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 августа 2010 г. 16:39, спустя 4 минуты 15 секунд

    ukroficer, Sinkler, случаем не empty имели ввиду?)
    Сапожник без сапог
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 августа 2010 г. 16:48, спустя 8 минут 8 секунд

    phpdude, думаю, ТЗ так тоже не захочется:
    if (!empty($a)) echo $a;
    Спустя 273 сек.
    ukroficer, а вообще, плохая идея, нужно всегда знать и контролировать, какие переменные у тебя есть, а каких нету
  • ukroficer

    Сообщения: 66 Репутация: N Группа: Кто попало

    Spritz 22 августа 2010 г. 16:48, спустя 11 секунд


    function _isset_($var)
    {
     if (!isset($var))
       $var = "";  
       return $var;
    }

    ошибка вызывается, потому что ты пытаешься в функцию несуществующую переменную передать.


    А как же по другому?
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 22 августа 2010 г. 16:50, спустя 2 минуты 4 секунды

    может быть что-то типа

    function _isset_($var = null)
    {
    if (!isset($var))
    $var = "";
    return $var;
    }
    Спустя 24 сек.

    function _isset_($var)
    {
    if ($var != null)
    $var = "";
    return $var;
    }
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 августа 2010 г. 16:53, спустя 3 минуты 38 секунд

    krasun, нет, ты даже ошибку не понял))
    Сапожник без сапог
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 22 августа 2010 г. 17:01, спустя 7 минут 27 секунд

    phpdude, да, ты прав, я не подумал
  • ukroficer

    Сообщения: 66 Репутация: N Группа: Кто попало

    Spritz 22 августа 2010 г. 17:56, спустя 54 минуты 49 секунд

    Спасибо всем.В принципе решил.Смотрите
    1)для вывода переменых просто передаю пустое значение


    $data['header'] = "";


    а в хелпере таже старая функция


    function _isset_($var)
    {
    if (empty($var))
    $var = "";
    return $var;
    }

    работает даже с массивами


    дальше для подключения файлов вот такая функция в хелпере


    function _inc_($inc)
    {
    if (!empty($inc))
    {
    $inc_val = '$this->load->view(\''.$inc.'\');';
    return $inc_val;
    }
    }

    и уже в виде с которого я хочу подключит другой вид я пишу

    eval (_inc_($inc)) ;



    Но соответственно я тоже в любом случае должен отправлять пустое значения для инклуда в контролере.Вот так.
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 августа 2010 г. 17:59, спустя 3 минуты 32 секунды

    eval (_inc_($inc)) ;

    ukroficer, это написать легче и работать будет быстрее чем
    if (!empty($a)) echo $a;
    ?))))
  • ukroficer

    Сообщения: 66 Репутация: N Группа: Кто попало

    Spritz 22 августа 2010 г. 18:04, спустя 5 минут 6 секунд


    eval (_inc_($inc)) ;

    ukroficer, это написать легче и работать будет быстрее чем
    if (!empty($a)) echo $a;
    ?))))


    Да нет же если нужно сделать просто echo то это выглядет вот так
    echo _isset_($header);

    а тут соль была вот такого
    if (empty($a)) $this->load->view($inc); 
    вот такое
    eval (_inc_($inc)) ;
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 августа 2010 г. 18:08, спустя 3 минуты 26 секунд

    а
    работать будет быстрее

    ?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!