从学PHP到现在将近半年时间,今天在李炎恢老师的课程中看到一个这样的语句
成都创新互联是一家专注于成都网站制作、成都网站设计与策划设计,岐山网站建设哪家好?成都创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:岐山等地区。岐山做网站价格咨询:18982081108
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