Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从Codeigniter中的视图调用身份验证方法可以吗?_Php_Codeigniter_Authentication_Tankauth - Fatal编程技术网

Php 从Codeigniter中的视图调用身份验证方法可以吗?

Php 从Codeigniter中的视图调用身份验证方法可以吗?,php,codeigniter,authentication,tankauth,Php,Codeigniter,Authentication,Tankauth,我正在使用带有Codeigniter的TankAuth,我想知道从视图调用特定于库的方法是否可以,而不是从控制器传递它们?比如说, $this->tank_auth->is_logged_in() 从视图调用比从控制器传递变量更便于输出动态HTML。但是,它安全吗?这是可以接受的做法吗 没有理由不能这样做,但这与MVC概念背道而驰。您可以在扩展控制器的构造函数中设置这类内容,以便在所有控制器中都可以使用$is\u logged\u等变量,以使其更简单。最好是在控制器中设置模板变量

我正在使用带有Codeigniter的TankAuth,我想知道从视图调用特定于库的方法是否可以,而不是从控制器传递它们?比如说,

$this->tank_auth->is_logged_in() 

从视图调用比从控制器传递变量更便于输出动态HTML。但是,它安全吗?这是可以接受的做法吗

没有理由不能这样做,但这与MVC概念背道而驰。您可以在扩展控制器的构造函数中设置这类内容,以便在所有控制器中都可以使用$is\u logged\u等变量,以使其更简单。

最好是在控制器中设置模板变量$user(例如),当用户未登录时,该变量等于false,或者在他登录时使用用户信息的数组:)这样你就可以知道它是否为假,或者使用他的用户数据..正如@Svetlio建议的那样,最好在控制器中执行,而且在我看来总是会更好(如果你使用一些复杂的身份验证结构)把它放在一个模型中,让控制器只把信息传递给它,然后得到合法的结果。控制器不是数据警察:(它不仅适用于ZF,也适用于所有其他框架IMHO)它不是“反对MVC概念”,只是反对大多数不理解MVC的框架所需要的。视图可以访问可视化应用程序当前状态所需的任何内容。如果这意味着在对象上调用方法,那很好。它不应该对这些对象做任何“活动”的事情。必须在变量中设置所有内容的控制器完全是反MVC模式。