Php 新的(相对)编码点火器:一些基本问题

Php 新的(相对)编码点火器:一些基本问题,php,codeigniter,templates,Php,Codeigniter,Templates,我是在iPad上输入的,所以请原谅我说得简洁有点粗鲁。我的问题是: 在视图中有简单的逻辑可以吗?比如说, <HTML> <!-- ... Stuff --> <?php if($this->session->userdata('authorized'): ?> <p>You are authorized</p> <?php else: ?> <p>You are not authorized</

我是在iPad上输入的,所以请原谅我说得简洁有点粗鲁。我的问题是:

在视图中有简单的逻辑可以吗?比如说,

<HTML>
<!-- ... Stuff
-->
<?php if($this->session->userdata('authorized'): ?>
<p>You are authorized</p>
<?php else: ?>
<p>You are not authorized</p>
<?php endif; ?>  // Question 1, is this the proper use of an endif:?
<!-- .. Stuff
->>
</HTML>

/* Starting to type the rest of message on my laptop.  Big thank yous to the coders on
   this site   who made my pc login transfer my unsaved, half typed iPad post */


在回答第一个问题时: 这是正确使用
endif
,所有这些都是有效的,是codeigniter推荐的方法

对于第二个问题,这种方法可以在视图文件中使用;但是,我建议在传递到页面的
$data
数组中使用它,这意味着它将作为
$authorized
访问;我这样说是因为它对前端设计师更有意义

可以找到有关
$data
数组的信息,只需导航到“向控制器添加逻辑”


我希望这对您有所帮助。

在回答第一个问题时: 这是正确使用
endif
,所有这些都是有效的,是codeigniter推荐的方法

对于第二个问题,这种方法可以在视图文件中使用;但是,我建议在传递到页面的
$data
数组中使用它,这意味着它将作为
$authorized
访问;我这样说是因为它对前端设计师更有意义

可以找到有关
$data
数组的信息,只需导航到“向控制器添加逻辑”

我希望这对您有所帮助。

使用存储您的“您已授权”和“您未授权”文本。在控制器中执行会话检查,并将正确的语言值传递给数据数组中的视图

编辑:来自STONYFTW的附加问题:

对于更复杂的代码,应该采取什么方法,例如:

    <?php if(!$this->session->userdata('isLoggedIn')): ?>
          <div id="login_form">
              <?php echo form_open('login/validateCredentials'); ?>
              <?php echo form_input('username', 'Username'); ?>
              <?php echo form_password('password', 'Password'); ?>
              <?php echo form_submit('submit', 'Log In'); ?>
              <div id="login_form_link_container">
                  <?php echo anchor('login/register', 'Register')." ".anchor('login/recover','Forgot Pass?'); ?>
              </div>
          </div>
   <?php endif; ?>

使用存储您的“您已授权”和“您未授权”文本。在控制器中执行会话检查,并将正确的语言值传递给数据数组中的视图

编辑:来自STONYFTW的附加问题:

对于更复杂的代码,应该采取什么方法,例如:

    <?php if(!$this->session->userdata('isLoggedIn')): ?>
          <div id="login_form">
              <?php echo form_open('login/validateCredentials'); ?>
              <?php echo form_input('username', 'Username'); ?>
              <?php echo form_password('password', 'Password'); ?>
              <?php echo form_submit('submit', 'Log In'); ?>
              <div id="login_form_link_container">
                  <?php echo anchor('login/register', 'Register')." ".anchor('login/recover','Forgot Pass?'); ?>
              </div>
          </div>
   <?php endif; ?>

我建议您在控制器中针对每种情况使用不同的视图:

// In the controller
if($this->session->userdata('authorized')
  $this->load->view('not_autorized.php');
else
  $this->load->view('view.php');

因此,您可以获得干净的代码和视图。

我建议您在控制器中针对每种情况使用不同的视图:

// In the controller
if($this->session->userdata('authorized')
  $this->load->view('not_autorized.php');
else
  $this->load->view('view.php');

因此,您可以获得清晰的代码和视图。

谢谢您的回答。非常感谢你的回答。一个明确的帮助。同样的方法?我从未上过语言课。在这种情况下,我认为最好还是按照porquero回答中的独立观点建议来做。谢谢你的持续帮助。我很感激。同样的方法?我从未上过语言课。在这种情况下,我认为最好还是按照porquero回答中的独立观点建议来做。谢谢你的持续帮助。我很感激。那么你能建议对页面上的每一块“视觉”都有一个视图吗?我的意思是,同时提出许多不同的观点可以接受吗?+1。您可能希望返回视图的内容,并将其作为包含html内容的变量传递到另一个视图中(即,
),您可以盲目输出。可以调用多个视图。您一定认为视图不是html页面所必需的。它可以是任何文件。那么您是否建议对页面上的每一个“可视”部分都进行查看?我的意思是,同时提出许多不同的观点可以接受吗?+1。您可能希望返回视图的内容,并将其作为包含html内容的变量传递到另一个视图中(即,
),您可以盲目输出。可以调用多个视图。您一定认为视图不是html页面所必需的。它可以是任何文件。