从学PHP到现在将近半年时间,今天在李炎恢老师的课程中看到一个这样的语句
class Factory { static private $_action = null; static public function setAction() { eval(‘self::$_action = new ‘.ucfirst(isset($_GET[‘a‘]) ? $_GET[‘a‘] : ‘Index‘).‘Action();‘); return self::$_action; } }
第五行代码在课程中出现根本没有看懂,就百度查找了一些资料。
第五行代码属于三元运算符的应用。
该代码的含义检测new一个对象,对象是通过三元运算符判断得到。
$Get方法是否接收到东西,如果接收到,就new一个$_Get[]接收到的值,如果没有接收到,就new IndexAction();
举一个简单例子:
$a = 1; $b = 2; $c = 3; $d = $a>$b ? $b : $c; echo $d;
输出结果为3
时间: 2024-10-03 22:49:45