WindowsプログラマのWebアプリへの挑戦日記。あとパンとか。

cakePHPでJavascriptを出力する

2月 3rd, 2008 Posted in cakePHP, PHP

HTMLに以下のようなJavascriptのコードを埋め込み、srcでPHPなどの動的な処理をするファイルを指定すると、静的なHTMLに動的な処理を埋め込むことが出来ます。アクセス解析のサービスなどでよくありますね。

  1. <script src="xxx.php" type="text/javascript"></script>

で、srcにPHPのファイルを指定し、PHP側でJavascriptのコードを出力する処理を書けば実現できます。詳しいやり方は、PHP:JS(JavaScript)からPHPを呼び出しHTML上に出力する方法に丁寧に書かれているので参考にしてください。

で、cakePHPでこの処理を書こうと思ったわけです。まずは、Javacsriptを呼び出すHTML側では、

  1. <script src="/app/[コントローラー]/[メソッド]/[プロパティ]" type="text/javascript" charset="utf-8"></script>

のように書きます。controller側のメソッドでは、最初に

  1. header("Content-type: application/x-javascript");

を書く必要があるようです。viewでheaderを出力すると、Javascriptとして認識されません。

cakePHPの/app/core.phpのDEBUGモードが0以外だと余計なモノが出力されるのでJavascriptとして認識されないみたいです。ボクは動作確認はDEBUGモードを0にしてやっています。特定の場合だけDEBUG出力を抑制することは出来ないモノですかね。

こちらもオススメ!

Trackback URL

  1. 2 Responses to “cakePHPでJavascriptを出力する”

  2. By cakephpユーザ on 6月 1, 2010

    >特定の場合だけDEBUG出力を抑制することは出来ないモノですかね

    controllerに
    Configure::write(‘debug’, 0);を書けばよいです

    function foo() {
    Configure::write(‘debug’, 0);

    }

    みたいな感じです

  3. By yosuke on 1月 3, 2011

    ありがとうございます。

Post a Comment