所以我查看了一些 php 脚本,并且看到了 $session->isAdmin()
,我喜欢它在代码中的显示方式...
我意识到这是在调用一个函数;但是,我无法让它工作。我可以调用一个函数,但由于某种原因无法弄清楚如何将其标记为 $session->isAdmin()
而不是仅调用 isAdmin()
例如:
创建函数
function isAdmin() {
return 1;
}
回显函数
if (isAdmin() == 1) {
echo "admin";
}
如何将 isAdmin()
更改为 $session->isAdmin()
?
我基本上是在尝试学习新东西,同时也这样做,因此非常感谢任何关于这方面的文档。
最佳答案
您所观察到的可能是其他框架用于用户 session 处理的包装器对象。
将您的代码更改为一个对象将是一种很好的做法,并且可以像这样工作:
<?php
/** Session.php */
class Session
{
protected $isAdmin = 0;
public function __construct()
{
// ... do your session initialisation here ...
if (USER_HAS_SOMESPECIAL_RIGHTS)
$this->isAdmin = 1;
}
/**
* Do we have admin rights?
* @return bool
*/
public function isAdmin() {
return $this->isAdmin;
}
/**
* Echoing out the current role in the system
* @return string
*/
public function getRole() {
if ($this->isAdmin)
return "admin";
return "normal mortal being (at least not an admin)."
}
}
用法:
include 'Session.php';
$session = new Session(); // This is when your code in __construct will be evaluated
echo $session->getRole();
当然,这只是一个简单的例子,一旦你接触了 OOP,你就会发现你可以在更大程度上抽象它。希望这对您有所帮助!
关于php - 如何将 isAdmin() 更改为 $session->isAdmin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15193101/