Как писать JavaScript с Zend Framework и netbeans?

Я пишу JavaScript следующим образом:

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

Но проблема в том, что она не подсвечена и нет автозаполнения … Я пробовал написать вот так:

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

Теперь он подсвечен, но netbeans недовольны не закрытым <script> и некоторыми другими проблемами с Zend … Затем после того, как еще один поисковый запрос нашел это:

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

Отлично работает, но, возможно, для этого есть лучшее решение?

Вы можете расширить HeadScript, это самое простое решение:

 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(); } } 

Укажите вспомогательный путь:

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

Применение:

 <?php $this->headScript()->captureStart();?> <script> alert(1); </script> <?php $this->headScript()->captureEnd(); ?> 

Напишите js во внешних JS-файлах.

Это обеспечит лучшее разделение, лучшее кэширование, лучшую агрегацию, лучшую подсветку и т. Д.

Вот некоторые ссылки, которые могут вам помочь:

  • Управление CSS / JS с Zend
  • Управление CSS / JS с Zend (другая точка зрения)
  • Настройка пути сборки javascript (для автоматического завершения и т. Д.)