简体   繁体   English

PHP,致命错误:调用未定义的方法,从另一个 class 调用 function

[英]PHP, Fatal error: Call to undefined method calling function from another class

I have a simple PHP structure.我有一个简单的 PHP 结构。

In admin_keys.php i have:在 admin_keys.php 我有:

<?php
class admin_keys
{
    public $key;
    private $arr_keys = array("1", "2", "3");
    public function check_key_admin()
    {
        if(in_array($this->key,$this->$arr_keys))
        {
            return true;
        }else
        {
            return false;
        }
    }
}
?>

In ok.php i have:在 ok.php 我有:

<?php
include_once '../../all_keys.php';
$admin_keys = new admin_keys();
$admin_keys->key = "vailozluon";
$_isAdmin = $admin_keys->check_key();
  if( _isAdmin== false)
  {
    echo 'deo phai';
  }else { echo 'ok';}
?>

Im new so just bear with me I don't know why this is return Uncaught Error: Call to undefined method admin_keys::check_key any help will be appreciated.我是新手,所以请耐心等待我不知道为什么会返回未捕获的错误:调用未定义的方法 admin_keys::check_key 任何帮助将不胜感激。

thanks!谢谢!

you are refering to function (ie check_key()) that does not exists in your class admin_keys .您指的是 class admin_keys 中不存在的class admin_keys (即 check_key())。 You have function named check_admin_key() but you are trying to access it as check_key() which does not exist apparently throwing an error.您有名为 check_admin_key() 的 function 但您试图以 check_key() 的形式访问它,但显然不存在会引发错误。 So just change the name of the function being called as所以只需将 function 的名称更改为

$_isAdmin = $admin_keys->check_admin_key();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM