Закрытие Google через PHP с помощью Externs

Я пытаюсь использовать Google Closure, но позвонил через библиотеку php.

Это код, с которым я пытаюсь работать

https://code.google.com/p/php-closure/

Пока что, похоже, все работает хорошо. Однако теперь мне нужно использовать функцию «Externs» в Google Closure.

Я просмотрел код библиотеки php, но не уверен, как добавить эту функцию. Похоже, что библиотека вызывает API-код Google Closure, поэтому я предполагаю, что для добавления функции externs мне просто нужно передать правильную строку, прикрепленную к правильной переменной.

Я не буду публиковать здесь всю библиотеку, так как это будет трудно читать, но я приложил усилия, чтобы включить эту функцию.

Для начала я добавил переменную в библиотеку

var $_srcs = array();
var $_mode = "WHITESPACE_ONLY";
var $_warning_level = "DEFAULT";
var $_use_closure_library = false;
var $_pretty_print = false;
var $_debug = true;
var $_cache_dir = "";
var $_code_url_prefix = "";
var $_extern_file = ""; //my new code

добавить к хэш-функции

function _getHash() {
return md5(implode(",", $this->_srcs) . "-" .
$this->_mode . "-" .
$this->_warning_level . "-" .
$this->_use_closure_library . "-" .
$this->_pretty_print . "-" .
$this->_extern_file . "-" .     //here again
$this->_debug);
}

добавить, чтобы получить список параметров

function _getParamList() {
$params = array();
...
$params["warning_level"] = $this->_warning_level;
$params["extern_file"] = $this->_extern_file;      //again here
if ($this->_pretty_print) $params["formatting"] = "pretty_print";
if ($this->_use_closure_library) $params["use_closure_library"] = "true";
$params["output_info_1"] = "compiled_code";
$params["output_info_2"] = "statistics";
$params["output_info_3"] = "warnings";
$params["output_info_4"] = "errors";
return $params;
}

моя функция добавления внешних файлов

function externs($file) {
$this->_extern_file = $file;
return $this;
}

тогда мой пользовательский звонок

$c->add("js/my-app.js")
->add("js/popup.js")
->externs("js/externs.js")    //new code
->cacheDir("/tmp/js-cache/")
->write();

При попытке выполнить код я получаю тот же результат, что и исходный код. Похоже, файл externs, который я пытаюсь передать, не обрабатывается.

Если кто-то еще заинтересован в этой функции / библиотеке, пожалуйста, не стесняйтесь размещать любые идеи.

Благодарю.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]