Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk menghantar objek sebagai parameter fungsi dalam PHP?

Bagaimana untuk menghantar objek sebagai parameter fungsi dalam PHP?

WBOY
WBOYasal
2024-04-11 11:18:02794semak imbas

Dalam PHP, objek boleh dihantar ke fungsi melalui rujukan atau nilai Meluluskan rujukan membolehkan fungsi mengubah suai objek asal, manakala menghantar nilai mencipta salinan objek asal. Dalam kes sebenar, sistem pengurusan pekerja menggunakan lulus rujukan objek untuk membolehkan fungsi mengubah suai gaji objek pekerja asal.

如何在 PHP 中传递对象作为函数参数?

Bagaimana untuk menghantar objek sebagai parameter fungsi dalam PHP?

Dalam PHP, objek boleh dihantar ke fungsi melalui rujukan atau nilai. Sama ada cara, fungsi akan mendapatkan rujukan atau salinan objek.

Melalui Rujukan Objek

Melalui objek melalui rujukan membolehkan fungsi mengubah suai objek asal. Untuk melakukan ini, lulus objek menggunakan notasi &: & 符号传递对象:

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()rrreee

Melalui objek mengikut nilai🎜🎜Melalui objek mengikut nilai menghasilkan salinan objek asal. Ini membolehkan fungsi mengubah suai salinan tanpa menjejaskan objek asal: 🎜rrreee🎜Contoh praktikal🎜🎜Sistem Pengurusan Pekerja🎜🎜Andaikan kita mempunyai sistem pengurusan pekerja dan salah satu fungsi perlu mengakses maklumat pekerja untuk pengubahsuaian. 🎜rrreee🎜Dalam kes ini, menghantar objek $employee menggunakan rujukan objek membolehkan fungsi updateSalary() mengubah suai gaji objek asal. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menghantar objek sebagai parameter fungsi dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn