Php 警告:缺少参数1
我的php代码有一些问题:所有信息都会返回,但我无法找出为什么会出现错误。对于我的索引页,我只包含了实际使用该类的代码行,除了一些include之外,没有其他代码。我确信这就是我构建我的结构的方式,但我不确定这样做是否合适。在如何从索引页调用它时,我遗漏了一些东西 我的_构造的这行代码在没有错误的情况下工作,但我不希望在类中分配变量Php 警告:缺少参数1,php,class,Php,Class,我的php代码有一些问题:所有信息都会返回,但我无法找出为什么会出现错误。对于我的索引页,我只包含了实际使用该类的代码行,除了一些include之外,没有其他代码。我确信这就是我构建我的结构的方式,但我不确定这样做是否合适。在如何从索引页调用它时,我遗漏了一些东西 我的_构造的这行代码在没有错误的情况下工作,但我不希望在类中分配变量 public function __construct(){ $this->user_id = '235454'; $this->use
public function __construct(){
$this->user_id = '235454';
$this->user_type = 'Full Time Employee';
}
这是我的班级
<?php
class User
{
protected $user_id;
protected $user_type;
protected $name;
public $first_name;
public $last_name;
public $email_address;
public function __construct($user_id){
$this->user_id = $user_id;
$this->user_type = 'Full Time Employee';
}
public function __set($name, $value){
$this->$name = $value;
}
public function __get($name){
return $this->$name;
}
public function __destroy(){
}
}
?>
这是我索引页面中的代码:
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
$employee_id = new User(2365);
$employee_type = new User();
echo 'Your employee ID is ' . '"' .$employee_id->user_id. '"' . ' your employement status is a n ' . '"' .$employee_type->user_type. '"';
echo '<br/>';
?>
问题是:
$employee_type = new User();
构造函数需要一个参数,但您什么也不发送
改变
public function __construct($user_id) {
到
参见输出
$employee_id = new User(2365);
echo $employee_id->user_id; // Output: 2365
echo $employee_id->user_type; // Output: Full Time Employee
$employee_type = new User();
echo $employee_type->user_id; // Output nothing
echo $employee_type->user_type; // Output: Full Time Employee
如果只有一个用户,则可以执行以下操作:
$employer = new User(2365);
$employer->user_type = 'A user type';
echo 'Your employee ID is "' . $employer->user_id . '" your employement status is "' . $employer->user_type . '"';
哪个输出:
Your employee ID is "2365" your employement status is "A user type"
我不是PHP专家,但看起来您正在创建2个新的class user实例,在第二阶段,您没有将user_id传递给构造函数:
$employee_id = new User(2365);
在我看来,这是在创建一个新的User实例,并将该实例分配给变量$employee_id——我不认为这是您想要的
$employee_type = new User();
这看起来像是在实例化User的另一个实例,并将其分配给变量$employee_type-但是您调用了构造函数User(),没有按要求传递ID-因此出现了错误(缺少参数)
返回脚本内容看起来正常的原因是用户类的第一个实例有一个ID(因为您传入了它),第二个实例有一个employee类型,因为这是在构造函数中设置的
就像我说的,我不懂PHP,但我猜您需要更多的东西:
$new_user = new User(2365);
echo 'Your employee ID is ' . '"' .$new_user->user_id. '"' . ' your employement status is a n ' . '"' .$new_user->employee_type. '"';
在这里,您将实例化分配给变量$new_user的用户类的单个实例,然后访问该单个实例的属性
编辑:…aaaaaand-我太慢了:-)
$new_user = new User(2365);
echo 'Your employee ID is ' . '"' .$new_user->user_id. '"' . ' your employement status is a n ' . '"' .$new_user->employee_type. '"';