How write JavaScript with Zend Framework and netbe

2019-05-26 18:36发布

I am writing JavaScript like that:

<?php $this->headScript()->captureStart();?>
$(function(){
    // some javascript magic
});
<?php $this->headScript()->captureEnd(); ?>

But problem is that it is not highlighted and there is no autocomplete... I have tried write like this:

<?php $this->headScript()->captureStart();?>
//<script>
$(function(){
    // some javascript magic
});
<?php $this->headScript()->captureEnd(); ?>

Now it is highlighted but netbeans is not happy about not closed <script> tag and some other issues with Zend... Then after some more googling found this:

<?php if( false ) {?><script><?php } ?>
$(function(){
    // some javascript magic
});
<?php if( false ) { ?></script><?php } ?>

Works fine but maybe there is better solution for this?

2条回答
Deceive 欺骗
2楼-- · 2019-05-26 19:11

You can extend HeadScript, this is simplest solution:

class My_View_Helper_HeadScript extends Zend_View_Helper_HeadScript
{
    public function captureEnd()
    {
        $content = ob_get_contents();
        ob_clean();
        echo strip_tags($content, 'script');

        parent::captureEnd();
    }
}

Specify helper path:

resources.view.helperPath.My_View_Helper = "My/View/Helper"

Usage:

<?php $this->headScript()->captureStart();?>
    <script>
      alert(1);
    </script>  
<?php $this->headScript()->captureEnd(); ?>
查看更多
虎瘦雄心在
3楼-- · 2019-05-26 19:15

Write your js in external JS files.

It will allow for better separation, better caching, better aggregation, better highlighting, etc.

Here are some links that may help you:

查看更多
登录 后发表回答