如何将$ _GET中的值传递给常量?

时间:2016-08-05 10:01:50

标签: php class oop get

当我在class“Product”中创建常量时,我​​可以在其他具有Product :: id的类中使用此常量,并且一切都很好。 :-)

<?php
class Product
{ 
    const id = "4325536";
}
...

但是当我尝试从URL获取值到const时,没有任何作用:

<?php
class Product
{ 
    const id = $_GET['product'];    
}
...

如何从URL获取值到对象?

3 个答案:

答案 0 :(得分:3)

你不能。类常量的值需要在编译/解析时确定。请求中传递的值只能在运行时进行评估。

有关如何在PHP中使用类常量的更多详细信息,请参阅文档:http://php.net/manual/pl/language.oop5.constants.php

答案 1 :(得分:1)

你可以做这样的事情

<?php

define('ID',$_GET['product']); 

class Product
{ 
    const id = ID;    
}

我不确定,但请参考。 http://php.net/manual/en/language.oop5.constants.php示例#3

答案 2 :(得分:0)

class Y
{
    public function __construct($var)
    {
        define("X",$var);
    }
}

new Y($_GET['x']);