[英]How to use a PHP variable in a public class?
我在公共課外有一個變量。 該變量是:
$userid
我想在以下PHP類中使用變量,但出現問題:
public function printJavascript() {
if ($this) {
$page = $this - > page;
$order = (($this - > order) ? implode(':', $this - > order) : '');
$filter = (($this - > filter) ? implode(':', $this - > filter) : '');
}
echo "<script type=\"text/javascript\">\n";
echo "var params = ''; var tblpage = '".$page."'; var tblorder = '".$order."'; var tblfilter = '".$filter."';\n";
echo "function tblSetPage(page) { tblpage = page; params = '&page=' + page + '&order=' + tblorder + '&filter=' + tblfilter; updateTable(); }\n";
echo "function tblSetOrder(column, order) { tblorder = column + ':' + order; params = '&page=' + tblpage + '&order=' + tblorder + '&filter=' + tblfilter; updateTable(); }\n";
echo "function tblSetFilter(column) { val = document.getElementById('filter-value-' + column).value; tblfilter = column + ':' + val; tblpage = 1; params = '&page=1&order=' + tblorder + '&filter=' + tblfilter; updateTable(); }\n";
echo "function tblClearFilter() { tblfilter = ''; params = '&page=1&order=' + tblorder + '&filter='; updateTable(); }\n";
echo "function tblToggleCheckAll() { for (i = 0; i < document.dg.checkbox.length; i++) { document.dg.checkbox[i].checked = !document.dg.checkbox[i].checked; } }\n";
echo "function tblShowHideFilter(column) { var o = document.getElementById('filter-' + column); if (o.style.display == 'block') { tblClearFilter(); } else { o.style.display = 'block'; } }\n";
echo "function tblReset() { params = '&page=1'; updateTable(); }\n";
echo "</script>\n";
}
}
我將如何完成? 請提出建議,我感謝大家的幫助。
您可以通過添加global $userid;
將$userid
定義為全局global $userid;
在類方法的開頭,就像Dave Chen在評論中所說的那樣,您可以通過構造函數或其他方法將其傳遞給對象。 我認為第二種選擇是更好的實施方法。
最好通過構造將該變量傳遞給類或作為另一個附加參數,但是,如果該變量已經是公共變量,則應該可以使用它。
<?php
global $var;
$var = 'there';
class test {
public function testy() {
global $var;
echo 'hi ' . $var;
}
}
$class = new test();
$class->testy();
輸出:
tim@roflcopter /tmp $ vim lol.php
hi there
更好的選擇(如上所述)是通過函數的參數傳遞變量。
<?php
$var = 'there';
class test {
public function testy($who) {
echo 'hi ' . $who;
}
}
$class = new test();
$class->testy($var);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.