从学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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。