亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法在常規 php 文件中導入 PHP 類

無法在常規 php 文件中導入 PHP 類

PHP
郎朗坤 2021-12-03 14:56:18
我正在嘗試在本機 php 中構建一個兒子 api。我創建了一個帶有類的結構,現在我嘗試在常規 php 文件中使用這些類,該文件將使用 http 客戶端從外部調用。問題是我無法從這些類中實例化新對象,當我做的一切都停止并且我無法繼續執行我的文件時。用戶.php :use Actions\Users\UserMethods;if ($_SERVER['REQUEST_METHOD'] === 'GET') {   try{       $Methods = new UserMethods();       if($_GET["id"]!==null){           $user = $Methods->getUser($_GET["id"]);           var_dump($user);           echo json_encode(['user'=>$user]);       }   }catch (Exception $exception){       returnError($exception->getMessage());   }}在我分配 $Methods 之前,我可以 vardump 任何東西,但在我分配之后什么都不起作用。用戶方法類:namespace Actions\Users;use Models\UserModel;use database\dbconnect;use Constants\DbConfig;class UserMethods{    private $DataBase;    private $userValidator;    /**     * UserMethods constructor.     */    public function __construct()    {        try{            $this->userValidator = new UserValidator();            $this->DataBase = new dbconnect(DbConfig::$BD_HOST.":".DbConfig::$DB_PORT,                DbConfig::$DB_USERNAME,DbConfig::$DB_PASSWORD,DbConfig::$DB_DBNAME);        }catch(\Exception $exception){            var_dump($exception);        }    }    public function createUser(UserModel $userModel){        try{            $this->userValidator->validate($userModel);            $name=$userModel->getName();            $email= $userModel->getEmail();            $sqlQuery="Insert into users(email,name) values ($$email,$$name)";            return $this->handleQuery($sqlQuery);        }catch(\Exception $exception){            throw $exception;        }    }    public function updateUser(UserModel $userModel){        try{            $this->userValidator->validate($userModel);            $name=$userModel->getName();            $email= $userModel->getEmail();            $id=$userModel->getId();            $sqlQuery="                UPDATE users                SET                     name = $$name,                    email = $$email,                    ...                WHERE                    id=$$id;            ";可能是什么問題?
查看完整描述

2 回答

?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

您似乎錯過了文件的導入。使用命名空間時,為了使導入幾乎自動,最好實現自動加載器,我建議檢查如何使用 composer 啟用自動加載

如果您的類很少,您可以避免使用自動加載器而只是手動導入每個類,在這種情況下,您應該:

require UserMethods.php

在 User.php 文件的開頭。


查看完整回答
反對 回復 2021-12-03
?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

包括自動加載功能或添加 require('pathToClass/ClassName.php') 嘗試正確的路徑命名空間大小字母。


查看完整回答
反對 回復 2021-12-03
  • 2 回答
  • 0 關注
  • 221 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號