当不在上下文中的对象中时使用$this的php错误

当不在上下文中的对象中时使用$this的php错误,php,Php,删除两个文件中的代码,使其简洁明了: controller/LessonMainController.php Model/Courses/CourseDependency.php 问题: 在没有的情况下!CourseDependency::isDependencyAccessible($\u GET['course'])一切正常,但在这种情况下,我在不在对象上下文(0)中时使用$this时出现错误。请指导我解决此问题。未收到质量帮助,搜索一小时后我解决了此问题。实际上,我试图在静态方法中调用非静

删除两个文件中的代码,使其简洁明了:

controller/LessonMainController.php Model/Courses/CourseDependency.php 问题:
在没有
的情况下!CourseDependency::isDependencyAccessible($\u GET['course'])
一切正常,但在这种情况下,我在不在对象上下文(0)中时使用$this时出现错误
请指导我解决此问题。

未收到质量帮助,搜索一小时后我解决了此问题。实际上,我试图在静态方法中调用非静态方法。所以我需要先把它转换成一个对象。如果有人想知道如何做到这一点:

 (new self)->checkId($course_id);

您没有提供任何有用的详细信息。根据您提供的单行错误消息,绝对无法知道错误发生在何处。请花些时间阅读这些页面,尤其是和。你们要求我们随机推测一个项目中发生了什么,它是mvc结构,包含巨大的文件,堆栈溢出不是一个随意的猜测,看看哪个会粘在站点上。当你花了一些时间试图隔离问题并有一个具体问题要问时,请回来,我们会尽力帮助你。阅读。当你努力的时候再来。@KenWhite,你在那里找到了几根头发,并且掉了几根。现在请指导我。第一个脚本可能不包含在方法中?或者如果它包含在方法中,它可能包含在
静态
方法中。
public static function isDependencyAccessible($course_id, $user_id = false) {
        self::checkId($course_id);
        if (!$user_id) {
            $user_id = User::getCurrentUser()->id;
        }
        $courses =  self::getDependencies($course_id);

        $access = true;
        if (!empty($courses)) {
            $user  = new User($user_id);
            $user_to_courses = CourseToUser::getAll(array('condition' => 'users_ID='.$user->id." and courses_ID IN (".implode(",", $courses).")"), array('courses_ID', 'status'));

            foreach ($user_to_courses as $value) {
                if ($value['status'] != CourseToUser::STATUS_COMPLETED) {
                     $access = false;
                }
            }
        }
        return $access;
    }

}
 (new self)->checkId($course_id);