Mengapakah Penetapan melalui Rujukan daripada Nilai Pulangan Ungkapan \'baru\' Dihentikan dalam PHP?

DDD
Lepaskan: 2024-10-24 04:29:30
asal
993 orang telah melayarinya

Why is Assigning by Reference from the Return Value of

Dihentikan Penetapan melalui Rujukan

Dalam versi PHP yang lebih awal, adalah amalan biasa untuk menetapkan objek dan struktur data lain dengan merujuk menggunakan " &" pengendali. Walau bagaimanapun, amalan ini telah ditamatkan dalam PHP5 dan lebih tinggi. Apabila cuba memberikan nilai pulangan ungkapan "baharu" melalui rujukan, pembangun mungkin menghadapi mesej ralat "Menetapkan nilai pulangan baharu melalui rujukan tidak digunakan lagi."

Sebab Penamatan

Pemberhentian pemberian melalui rujukan daripada ungkapan "baharu" bertujuan untuk meningkatkan kebolehselenggaraan dan prestasi kod. Secara lalai, objek yang dibuat menggunakan "baru" diluluskan oleh nilai, memastikan setiap objek mempunyai ruang ingatan sendiri. Menetapkan melalui rujukan boleh membawa kepada kekeliruan dan kesan sampingan yang tidak dijangka apabila bekerja dengan berbilang objek, kerana kemas kini yang dibuat pada satu objek secara tidak sengaja boleh menjejaskan objek lain yang berkongsi rujukan yang sama.

Penyelesaian Ralat

Untuk menyelesaikan isu ini, cuma alih keluar pengendali "&" daripada pernyataan tugasan. Kod berikut adalah sah dalam PHP5 dan lebih tinggi:

<code class="php">$obj_md = new MDB2();</code>
Salin selepas log masuk

Jika ralat berterusan walaupun selepas mengalih keluar pengendali "&", semak kod anda untuk kemungkinan ralat sintaks atau konflik dengan tetapan PHP yang lain. Sesetengah konfigurasi PHP mungkin masih membenarkan ciri yang ditamatkan, jadi anda disyorkan untuk mengesahkan tetapan error_reporting anda dalam fail php.ini anda.

Atas ialah kandungan terperinci Mengapakah Penetapan melalui Rujukan daripada Nilai Pulangan Ungkapan \'baru\' Dihentikan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan