私はPHPにはとても新しく、多くのチュートリアルとその投稿を読んでも問題は解決できません。 私はカスタムクラス(ユーザー)を持っていて、PHPコードでインスタンス化したいと思いますが、それを含めてもこのエラーが発生します。クラスをインスタンス化することはできません
Fatal error: Class 'User' not found in D:\wamp64\www\MyFirstPhp\formPhp.php on line 17
私が間違っていることを知って助けてください。ここ
<?php
/**
* Created by IntelliJ IDEA.
* User: molnard
* Date: 2017. 06. 06.
* Time: 15:36
*/
namespace infopro;
class User
{
private $username;
private $userage;
private $sex;
public function __construct($username, $userage, $sex)
{
if (!is_null($username)) $this->username = $username;
if (!is_null($userage)) $this->userage = $this->userage;
if (!is_null($sex)) $this->sex = $sex;
}
/**
* @return mixed
*/
public function getUsername()
{
return $this->username;
}
/**
* @param mixed $username
*/
public function setUsername($username)
{
$this->username = $username;
}
/**
* @return mixed
*/
public function getUserage()
{
return $this->userage;
}
/**
* @param mixed $userage
*/
public function setUserage($userage)
{
$this->userage = $userage;
}
/**
* @return mixed
*/
public function getSex()
{
return $this->sex;
}
/**
* @param mixed $sex
*/
public function setSex($sex)
{
$this->sex = $sex;
}
}
?>
そして、私は、ユーザーのクラスをインスタンス化したいのですが、私のform.phpクラスです:
は、ここに私のユーザークラスです。
<!Doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Form php</title>
</head>
<body>
<?php
include("User.php");
$name = $_POST["name"];
$age = $_POST["age"];
$sex = $_POST["sex"];
echo "New user<br>name: " . $name . "<br>" .
"age: " . $age . "<br>" . "sex: " . $sex."<br>";
$newuser = new User($name, $age, $sex);
$newAge = $newuser->getAge();
echo $newAge;
?>
</body>
</html>
ユーザがいる場所のネームスペースを忘れている可能性があります。 – codekaizer
'namespace infopro;' ....あなたのクラスは[namespaced]です(http://www.php.net/manual/en/language.namespaces .php): '$ newuser = new \ infopro \ User($ name、$ age、$ sex);' –
名前空間がなくても私にとってはうまくいきます。あなたのPHPランナーは何ですか?バージョンは何ですか?あなたのプロジェクト構造体は何ですか? –