Bagaimana untuk menulis kod PHP yang elegan dan menarik? Artikel ini akan membawa anda melalui spesifikasi penulisan asas dan spesifikasi rangka kerja kod PHP Memahaminya akan menjadikan kod PHP anda lebih elegan.
Lao Wang memberitahu saya hari ini bahawa kodnya sangat teruk, ia seperti kucar-kacir. Tanya saya cara
meningkatkan kualiti kod saya dan menjadikan kod saya lebih sedap mata memandang dan lebih selesa, sama seperti
mata saya bersinar apabila saya melihat seorang gadis berkaki panjang.
Jadi saya: Awak buat ini dulu, kemudian ini, dan kemudian itu. . . . . .
Rakan Sekelas Lao Wang: Berhenti membuat masalah, apa sebenarnya yang berlaku?
Baiklah, saya akan mula berpura-pura berumur 13 tahun. . .
Mari kita bincangkan perkara yang paling asas dahulu:
Pembolehubah Gunakan camelCase untuk nama. Jangan gunakan pinyin untuk perkataan yang anda tidak faham sebaliknya, cari kamus untuk mencari perkataan yang sepadan.
Gunakan garis bawah modal apabila menamakan pemalar. Seperti: SYSTEM_EROOR = 50000
.
Gunakan kekunci Tab untuk lekukan, jangan taip sekumpulan ruang untuk lekukan.
Huruf pertama nama kelas adalah dalam kotak unta Anda perlu melihat nama untuk memahami maksudnya. Contohnya:
Hasil yang dijangkakan ialah output: 2 4 6
, hasil sebenar. ialah 2 4 4
, mengapa ia boleh
Lihat artikel saya sebelum ini: Adakah anda benar-benar memahami PHP中
& simbol Kaedah 。 可以使用
array_walk` mengelakkan masalah ini, contoh:
if
, elese
bersarang terlalu mendalam boleh dihapuskan dengan penamatan awal Contoh mudah: Adalah disyorkan untuk menggunakan. kaedah kedua Dengan cara ini, jika syarat tidak dipenuhi, ia akan dikembalikan secara langsung, dan selebihnya adalah syarat simbolik, jadi anda boleh mengelak daripada menulis banyak kod dalam if.
Gunakan suis dan bukannya berbilang if/else
versi PHP8.0 boleh menggunakan match
untuk menjadi lebih ringkas. Pasang pemalam
phpstorm
SonarLint
. Jika terdapat garis putus-putus dalam kod yang anda tulis, ini bermakna ia tidak sesuai, maka anda boleh mengubah suainya mengikut gesaan . Contohnya:
Kaedah tidak digunakan dan nama kaedah tidak diseragamkan. Saya telah memberitahu anda bahawa anda boleh mengubah suainya dengan cepat atau mengubah suainya diri sendiri.
Perkara yang dinyatakan di atas adalah agak asas, dan yang seterusnya ialah kandungan utama.
Saya percaya ramai pelajar telah menggunakan salah satu rangka kerja yang popular seperti thinkphp
丶laravel
丶yii
.
Rangka kerja ini semuanya berdasarkan seni bina MVC saya telah melihat banyak kod orang dan sama ada menulis logik perniagaan dalam pengawal atau dalam Model adalah lebih baik daripada menulis dalam Model. Yang di dalam pengawal adalah lebih baik. Malah, ia tidak begitu mesra dengan projek berskala besar.
Yang berikut menggunakan rangka kerja Laravel sebagai contoh.
API memerlukan pengesahan parameter, tetapi di manakah cara yang paling elegan untuk menulis pengesahan parameter? Ramai orang mungkin mentakrifkan peraturan dalam pengawal dan kemudian memanggil kaedah pengesahan Kemudian kod pengesahan akan muncul dalam setiap API, seperti yang ditulis oleh rakan sekerja saya.
Kod ini akan muncul sekali dalam setiap API. Jadi bagaimana cara menyelesaikannya?
Requsts
di bawah direktori http Laravel untuk menyimpan kelas pengesahan parameter yang diminta. Cipta kelas BaseRequest
: Sebagai contoh, log masuk memerlukan pengesahan parameter dan kemudian buat kelas LoginRequest
untuk mewarisi BaseRequest
ini.
Apabila parameter permintaan diperoleh di sini, borang akan disahkan Jika tidak, jika pengesahan parameter gagal, kaedah yang ditakrifkan oleh pengumpulan Permintaan adalah dipanggil dan pengecualian Json akan dibuang, dan maklumat akan dikembalikan kepada pelanggan.
Beban kerja utama pengawal adalah untuk mendapatkan data permintaan dan mengembalikan kandungan, dan tidak sepatutnya melakukan lebih banyak perkara, maka anda boleh menentukan lapisan Perkhidmatan untuk mengendalikan logik perniagaan. Jadi pengawal saya hanya mempunyai satu baris kod.
Kemudian Cipta UserService untuk mengendalikan logik perniagaan yang berkaitan dengan pengguna.
Suntikan UserService ini ke dalam UserController menggunakan:
Model tidak mengesyorkan menulis logik perniagaan. Model digunakan terutamanya untuk menentukan beberapa kandungan dan tidak boleh memanipulasi data.
Manipulasi data model hendaklah diletakkan dalam Repositori dan buat folder Repositories
dalam direktori aplikasi Laravel.
Tentukan BaseRepository:
Tentukan UserRepository untuk operasi berkaitan data pengguna, inject UserModel dalam pembina:
Bagaimana untuk menentukan banyak pemalar dalam projek?
Buat direktori Constant dalam direktori apl, dan kemudian buat kelas Constant untuk menyimpan pemalar tersuai ini.
Kelebihan ini ialah:
Pembelajaran yang disyorkan: "Alamat asal: https://juejin.cn/post/6957290009682509854
Pengarang: ClassmateLin
Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menulis kod PHP yang elegan dan menarik? Perbincangan ringkas mengenai standard penulisan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!