下面的视图代码生成如下所示的html代码。
Q1。第一行是做什么的?
<?php $ci_uri = trim($this->uri->uri_string(), '/'); $att = ' id="active"';?>Q2。为什么
生成id="active"?
Q3。的目的是什么?
<?= substr($ci_uri, 0, 7) == 'example'? $att: ''?>
<?= $ci_uri == $this->config->item('FAL_login_uri')? $att: ''?>
...
...
<?= $ci_uri == $this->config->item('FAL_changePassword_uri')? $att: ''?>
etc.它是否使用三元运算符?
查看代码
<?php $ci_uri = trim($this->uri->uri_string(), '/'); $att = ' id="active"';?>
<ul id="navlist">
<li<?= $ci_uri == ''? $att: ''?>><?=anchor('', 'home')?></li>
<li<?= substr($ci_uri, 0, 7) == 'example'? $att: ''?>><?=anchor('example', 'examples')?></li>
<li<?= $ci_uri == $this->config->item('FAL_login_uri')? $att: ''?>><?=anchor($this->config->item('FAL_login_uri'), 'login')?></li>
<li<?= $ci_uri == $this->config->item('FAL_register_uri')? $att: ''?>><?=anchor($this->config->item('FAL_register_uri'), 'register')?></li>
<li<?= $ci_uri == $this->config->item('FAL_forgottenPassword_uri')? $att: ''?>><?=anchor($this->config->item('FAL_forgottenPassword_uri'), 'forgotten password')?></li>
<li<?= $ci_uri == $this->config->item('FAL_changePassword_uri')? $att: ''?>><?=anchor($this->config->item('FAL_changePassword_uri'), 'change password')?></li>
<li<?= substr($ci_uri, 0, 5) == 'admin'? $att: ''?>><?=anchor('admin', 'admin')?></li>
</ul>HTML代码
<ul id="navlist">
<li id="active"><a href="http://127.0.0.1/ci_freak_auth/index.php">home</a></li>
<li><a href="http://127.0.0.1/ci_freak_auth/index.php/example.html">examples</a></li>
<li><a href="http://127.0.0.1/ci_freak_auth/index.php/auth/login.html">login</a></li>
<li><a href="http://127.0.0.1/ci_freak_auth/index.php/auth/register.html">register</a></li>
<li><a href="http://127.0.0.1/ci_freak_auth/index.php/auth/forgotten_password.html">forgotten password</a></li>
<li><a href="http://127.0.0.1/ci_freak_auth/index.php/auth/changepassword.html">change password</a></li>
<li><a href="http://127.0.0.1/ci_freak_auth/index.php/admin.html">admin</a></li>
</ul>发布于 2009-09-30 09:49:12
总而言之,整个过程就是对指向当前页面的链接设置不同的样式。
代码:
<?= $ci_uri == $this->config->item('FAL_login_uri')? $att: ''?>意思是:
<?= // this is a shortcut for <?php echo
// If the current url is the same as the url for "FAL_login_uri"
$ci_uri == $this->config->item('FAL_login_uri')
// then
?
// use $att in the echo
$att
// else
:
// use an empty string in the echo
''
?>$x ? $y : $z语法是一种ternary operator --这几乎是执行if / else的一种简单方法
https://stackoverflow.com/questions/1497084
复制相似问题