php传参的方法有:1、调用者直接传参,无需对参数进行处理加工;2、把参数组合成一个数组的形式,整一个数组当做参数进行传递;3、传递一个数据结构对象当做参数。
php传参的方法有:
第一种
直接传参,每个参数一个个的排好队写上,例如:
优点:
传入的参数清晰,明确可以知道传入参数有多少个,分别代表什么意思,从语义上一目了然。
调用方便,调用者直接传参,无需对参数进行处理加工。
对新手来说更加友好,更容易理解。
缺点:
形参太多,代码失去了美感,太随性了。
当某个参数需要改动的时候,简直是牵一发而动全身,比如$param5改为选填参数,并且默认值为test:
缺点很明显,这个时候由于php参数顺序的问题,选填参数必须在最后,所以所有调用者都需要起码把原来的param5去除,放在参数最后位置,改动代价高。
总结:当参数少的时候,可以使用直接一个个参数传递,这样是最好的,但是当参数过多,或者改动需求大的时候,这种方法无疑是繁重的。
所以针对上面这种,当参数数量过多的时候,可以使用方法二:
第二种
把参数组合成一个数组的形式,整一个数组当做参数进行传递。例如:
优点:
代码更加整洁了。
代码更加灵活,现在就算有一个参数需要改动,也无需修改函数的参数,只需要在调用者处增加参数即可。
缺点:
没有了php的语法限制。例如没有了string这种的类型限制,没有了带默认值的选填参数的语法限制。这样子就需要你做多一层参数的检查。
参数可读性差了。函数的数组里面有哪些参数是不能通过形参看出来的,需要查看调用者的数组组成。
总结:总体来说这种方法可以解决第一种传参方式的弊端,但是也自身带来了更加大的弊端,参数的限制需要另外增加一层钩子去处理,可以说是性价比比较低的一种方法。
综合上面两种方法的利弊,我总结出第三种传参方式:
第三种
传递一个数据结构对象当做参数,例如:
优点:
参数为一个数据结构,保证数据的完整性。就是传进来的数据结构必然能包含所需的参数。
当参数需要更加或者减少的时候,只需要修改数据结构模型的对象属性即可。
把数据的控制和限制可以统一放在模型层进行处理。
缺点:
可能需要多个数据结构模型。
总结:总体来说这种方法可以比较全面的解决第一第二种方法的弊端,就是需要建立多种数据结构模型,增加了代码量。
相关学习推荐:PHP编程从入门到精通
Atas ialah kandungan terperinci php传参的方法有哪些?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membandingkan model pangkalan data asid dan asas, memperincikan ciri -ciri mereka dan kes penggunaan yang sesuai. Asid mengutamakan integriti data dan konsistensi, sesuai untuk aplikasi kewangan dan e-dagang, sementara asas memberi tumpuan kepada ketersediaan dan

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Artikel ini membincangkan manfaat menggunakan password_hash dan password_verify dalam php untuk mendapatkan kata laluan. Hujah utama ialah fungsi ini meningkatkan perlindungan kata laluan melalui penjanaan garam automatik, algoritma hashing yang kuat, dan secur

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Artikel ini membincangkan strategi untuk mencegah serangan XSS di PHP, memberi tumpuan kepada sanitisasi input, pengekodan output, dan menggunakan perpustakaan dan kerangka kerja yang meningkatkan keselamatan.

Artikel ini membincangkan penggunaan antara muka dan kelas abstrak dalam PHP, memberi tumpuan kepada masa untuk menggunakan setiap. Antara muka menentukan kontrak tanpa pelaksanaan, sesuai untuk kelas yang tidak berkaitan dan warisan berganda. Kelas Abstrak Memberi Funct Biasa


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna