首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >名称空间autoloading_register未明错误:找不到类

名称空间autoloading_register未明错误:找不到类
EN

Stack Overflow用户
提问于 2020-05-18 16:21:59
回答 1查看 260关注 0票数 1

我试图在我的php文件中使用名称空间。一切都很顺利,直到我把它放到网上。比我有这样的错误:

致命错误:未捕获错误:在/home/serafvc355/domains/imdbuddy.be/public_html/login.php:18堆栈跟踪中找不到类‘

\Buddy\User’:#0 {main}抛出在第18行的/home/serafvc355/domains/imdbuddy.be/public_html/login.php中

login.php

代码语言:javascript
复制
<?php

  include_once(__DIR__ . "/bootstrap.include.php");

  include_once 'autoload.php';


   if (!empty($_POST)) {

    //Put fields in variables
    $email = $_POST['email'];
    $password = $_POST['password'];

    if (!empty($email) && !empty($password)) {
    //If both fields are filled in, check if the login is correct

      if (classes\Buddy\User::checkPassword($email, $password)) {
      $user = new classes\Buddy\User($email);

        if ($_POST['captcha'] == $_SESSION['digit']) {
          if ($user->getActive() == 1) {
          $_SESSION['user'] = $email;
          header("Location: index.php");
         } else {
          $error = "Please confirm your account";
         }
      } else {
       $error = "Wrong Captcha";
      }
   } else {
     $error = "Sorry, we couldn't log you in.";
   }
 } else {

  //If one of the fields is empty, generate an error
  $error = "Email and password are required.";
  }
  }

 ?>

autoload.php

代码语言:javascript
复制
<?php
    spl_autoload_register(function($className) {
    $file = dirname(__DIR__) . '\\' . $className . '.php';
    $file = str_replace('\\', DIRECTORY_SEPARATOR, $file);
    echo $file;
    if (file_exists($file)) {
    include $file;
}
});

User.php

代码语言:javascript
复制
<?php

  namespace classes\Buddy;

  class User
  {
   private $id
   ...

文件结构

代码语言:javascript
复制
classes > Buddy > User.php 
EN

回答 1

Stack Overflow用户

发布于 2020-05-18 18:54:48

可能可以通过以下方式加以解决:

代码语言:javascript
复制
require 'autoload.php';
use classes\Buddy\User;
//in login.php

然后用类似的

代码语言:javascript
复制
if (User::checkPassword($email, $password))

但可能类没有加载,或者名称空间错误,不确定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61874223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档