Zend_View_Helper_HeadScriptを使用してWebページのヘッドにjavascript関数定義を表示し、必要に応じてファイルからjavascriptコードを取得するように拡張しました。私が知りたいのは、私がjavascriptファイルの内容を取得して出力したと仮定して、headScript出力(基本的には一連のxhtmlスクリプト要素)でjavascript関数定義を検索する簡単な方法があるかどうかです。 srcs。)つまり、「function」、関数名の文字、「(」の順に検索できますが、コード内のコメントの可能性は考慮されていません。PHPに組み込まれているこのためのクイック関数はありますか?それはjavascript関数定義を検索できますか?または何か他のものが事前に構築されていますか?
サンプル出力:
<script type="text/javascript">
// function testMe() {}
function otherTest() {alert('Just testing!');}
/*
function testMe() {}
*/
</script>
明らかに、testMe()は実際にはここで定義されていません...
明確にするために、私は次のようなことをしようとしています:
<?php
$htmlScriptElements = $view->headScript()->toString();
$functionName = 'testMe';
$file = '/path/to/testMe.js';
$type = 'text/javascript';
$attrs = array();
$getScript = TRUE;
if (!js_function_definition_found($functionName, $htmlScriptElements)) {
$view->headScript()->appendFile($file, $type, $attrs, $getScript);
}
headScriptヘルパーは自作です。$ getScriptがtrueの場合、url / srcを使用してjsファイルを含める代わりに、file_get_contents()を使用してjsコンテンツを取得し、それを追加します。含まれているjsファイルに定義が見つからないことに気づきました。私はそれで大丈夫です。