我正在尝试在本机 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;
";
可能是什么问题?
凤凰求蛊
精慕HU