在 php 中,对象可以通过引用或值传递给函数,传递引用允许函数修改原始对象,传递值则会创建原始对象的副本。实战案例中,员工管理系统使用对象引用传递,允许函数修改原始员工对象的薪水。
如何在 PHP 中传递对象作为函数参数?
在 PHP 中,对象可以通过引用或值传递给函数。无论哪种方法,函数都将获得对该对象的引用或副本。
传递对象引用
通过引用传递对象允许函数修改原始对象。要做到这一点,使用 &
符号传递对象:
class Person { public $name; public function __construct($name) { $this->name = $name; } } function changeName(&$person) { $person->name = "John Doe"; } $person = new Person("Jane Doe"); changeName($person); echo $person->name; // 输出 "John Doe"
传递对象值
通过值传递对象会创建原始对象的副本。这允许函数修改副本,而不会影响原始对象:
class Person { public $name; public function __construct($name) { $this->name = $name; } } function changeName($person) { $person->name = "John Doe"; } $person = new Person("Jane Doe"); changeName($person); echo $person->name; // 输出 "Jane Doe"
实战案例
员工管理系统
假设我们有一个员工管理系统,其中一个函数需要访问员工信息进行修改。
class Employee { public $name; public $salary; } function updateSalary(Employee $employee, $newSalary) { $employee->salary = $newSalary; } $employee = new Employee(); $employee->name = "Jane Doe"; $employee->salary = 1000; updateSalary($employee, 1200); echo $employee->salary; // 输出 "1200"
在这种情况下,使用对象引用传递 $employee
对象,使 updateSalary()
函数能够修改原始对象的薪水。