PHP保护变量

时间:2013-08-08 10:52:58

标签: php variables protected

无论如何要将变量设置为受保护并且不能覆盖到php?

p.s:不在课堂上或定义。

例如;

<?php
$var ="something";
$var ="test";
echo $var;
?>

我希望这段代码返回“某些东西”而不是“测试”。

你对此有什么想法吗?

3 个答案:

答案 0 :(得分:1)

从技术上讲,您可以使用辅助函数和global(yuck)关键字,但类/ define要好得多(但您仍然必须使用函数并更改所有$var = "something" 1}}行到set_var("something")):

<?php
    set_var("something");
    set_var("test");

    var_dump($var); //string(9) "something"

    function set_var($newVar) {
        static $varIsSet;

        global $var;

        if (!$varIsSet) {
            $var = $newVar;
            $varIsSet = true;
        }
    }
?>

DEMO

答案 1 :(得分:1)

这将违背变量的全部内容

变量的全部目的是它在值上是可变的,它可以在程序中稍后更改。

我可以使用哪些内容?

但你可以使用constant

// Works on PHP 5.3.0 and later
const SOME_CONSTANT = "Some value.";

OR

// Far more well known, works on older PHPs, does the same thing
define("SOME_CONSTANT", "Some value");

如何使用常量?

然后使用它就像使用变量一样:

echo SOME_CONSTANT;

你几乎可以在任何使用变量的方式中使用常量,传统上你会使用大写的大写名称(这不是在PHP中强制实施),它不会以{开头} {1}}符号(这是强制执行的)......哦,当然,你不能重新分配它。

注意:因为使用$关键字定义的常量是在编译时定义的,所以不能在循环结构,const语句,if语句等中使用此语法,并且必须使用switch代替。

答案 2 :(得分:0)

您可以使用函数来模拟该行为:

function var() {
  return "something";
}

但如果您不想更改“变量”,请使用常量。