Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Парсинг JS файла


Автор: Onis 15.5.2009, 00:08
Пишу шаблонизатор, проблему парсинга JS файлов решил так:
Код

<script language="JAVASCRIPT" src="/action/?action=javascript&file=upload.js"></script>


В папке action находится файл index.php с таким содержимым:

Код

    require_once('---');
    require_once(PARENT_DIR.'/code/php/Template.class.php');
    
    switch ($_REQUEST['request'])
    {
        case 'javascript':
            $tmpObj = new Template();
            if(ob_get_length())
                ob_clean();
            $tmpObj->printJSFile('/code/js/'.$_REQUEST['file']);
        break;
    }


Если захожу по прямой ссылке "http://myurl.com/action/?action=javascript&file=upload.js" код выводиться.
Но в
Код

<script language="JAVASCRIPT" src="/action/?action=javascript&file=upload.js"></script>

он не инкюдиться. В файр баге там видна страница "The requested URL was not found on this server."

Что я делаю не так?

Автор: bars80080 15.5.2009, 00:18
потому что /action/?action=javascript&file=upload.js не равно http://myurl.com/action/?action=javascript&file=upload.js ?

каков там заголовок в файербаге?

Автор: Nigel 15.5.2009, 11:12
А зачем нужно парсить js средствами пхп, можно поинтересоваться? И можно взглянуть на ваш синтаксический анализатор? Под парсингом вы понимаете http://ru.wikipedia.org/wiki/Парсинг?

Автор: nerezus 15.5.2009, 12:49
Спамер пишет вероятно...

Автор: Onis 15.5.2009, 16:32
Nigel, 
У меня в движке строгое распределение обязанностей, php обрабатывает информацию и возвращает только данные в xml а JS занят UI, соответственно в коде JS много текста (названия кнопок, массивы с месяцами etc ) для того чтобы движ поддерживал различные языки, строки у меня заменены на маски которые класс Template заменяет на  нужные строки в зависимости от языка. Я примерно это имел в виду.
Раньше я делал это просто - класс Template в шаблоне искал строки вида "[|common.js|]" и просто вписывал вместо их код этого файла, но это решение мне не нравилось.
bars80080, 
Я вроде пытался делать полные ссылки но эфект был тот-же. Сейчас приду с работы посмотрю точнее что файрбаг пишет.

Автор: Onis 15.5.2009, 19:57
Вывод ошибок был выключен и я не заметил синтаксической ошибки. Всё работает даже лучше чем я ожидал. Пардоню\.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)