Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   PHP код и JavaScript в одном файле. (https://javascript.ru/forum/dom-window/23658-php-kod-i-javascript-v-odnom-fajjle.html)

lexnext1 01.12.2011 11:47

PHP код и JavaScript в одном файле.
 
Ребята, всем привет!
Каким образом сие можно оформить.
Есть файл JavaScript и в нем находится php вставки, к примеру:
edittype:'select',
        editoptions:{
            value:
            '<?$str="";
             $i=0;
            foreach($this->TypePerson as $m){ 
                if($i!=0)
                    $str.=";";
                $str.= $m->getIdTypePerson().":".$m->getName()."";
                $i++;
            }
                print($str);?>'
        }

Генерируется все хорошо, вот только чем сложнее логика тем больше бесится рабочая среда NetBeans - все красное, мол ошибок до хрена.
И вот вопрос как бы сделать так, чтобы этот PHP код завуалировать?
Что подскажите? Комментарии /* */ не особо помагают.

ваый 01.12.2011 13:23

Во-первых, используй шаблонизаторы. Если не хочется, можно сделсть банальное подключение шаблона через include, в котором уже будут нужные переменные.
В шаблонах. Выводи данные максимально лаконичнее, предварительно произведя все манипуляции с данными в контроллере (а идеально - в моделе). Согласись, это:
edittype: 'select',
editoptions:{
    value: '<?php echo $editOptions; ?>'
}
выглядит гораздо читабельнее, чем у тебя.
Наконец, глубже учи язык, на котором пишешь, чтобы делать вещи самым оптимальным образом, замени свою лабуду на это:
$str = implode(';', array_map(function($el) {
    return $el->getIdTypePerson() . ':' . $el->getName();
}, $this->TypePerson));

p.s. Поставь PHPStorm, по интеллектуальности он покруче сетевого боба.

Kolyaj 01.12.2011 13:26

Кодогенерация -- это, конечно, круто. Но всё-таки лучше её использовать в самых крайних случаях. Тем более, она и нужна только в самых крайних случаях.


Часовой пояс GMT +3, время: 22:55.