首頁  >  文章  >  後端開發  >  yii在視圖裡建立變數(保護php的程式碼),在js檔案裡呼叫之前建立的變數的程式碼實例

yii在視圖裡建立變數(保護php的程式碼),在js檔案裡呼叫之前建立的變數的程式碼實例

PHP中文网
PHP中文网原創
2017-03-30 14:51:051360瀏覽

先上程式碼:

這是視圖site/reg.php裡

    $cs = Yii::app()->getClientScript();
    $cs->registerScriptFile('/js/verify-code.js',CClientScript::POS_END);

這是layout/main.php

$commonValue = json_encode([
            'SmsVerifycodeUrl' => Yii::app()->createAbsoluteUrl('site/SendSmsCode'),
            'WaitSecond' => WapMember::DEFAULT_INTERVAL,
    ]);
Yii::app()->clientScript->registerScript("var commonValue = $commonValue",CClientScript::POS_END);

這是chrom瀏覽器報的錯

verify-code.js:1 Uncaught ReferenceError: CommonValue is not defined
回复內容:一個參數。結果是這樣子滴:

var initSecond = (typeof CommonValue.WaitSecond) == "undefined" ? 180 : CommonValue.WaitSecond,
    waitSecond =initSecond,
    SmsVerifyCode = function(btn, form) { this.getBtn = btn; this.form = form;},
       SCF;

commonValue 的POS_END 簡單地調整為POS_HEAD.

或確定$commonValue 在main.php 中放到render('reg.php') 之前, 兩次registerScript 是有先後順序的

ps:

verify-code.js 能不能回傳

函數

物件

, 而不是在這個檔案中

引用

全域

變數之前維護過這樣的程式碼,噁心的一比 以上就是yii在視圖裡創建變數(保護php的程式碼),在js檔案裡調用之前創建的變數的程式碼實例的內容,更多相關內容請關注PHP中文網(www.php.cn)!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn