


Bagaimana untuk menulis kod PHP yang elegan dan menarik? Perbincangan ringkas mengenai standard penulisan
Aug 24, 2021 pm 04:16 PMBagaimana 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.
Pengenalan
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. . .
Spesifikasi Asas
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:
- Nama kaedah dinamakan dalam kotak unta Cuba kawal bilangan baris kaedah kepada kira-kira 80 baris terangkan untuk apa fungsi tersebut digunakan.
- Kurung kerinting menduduki satu baris, contohnya:
- foreach Gunakan petikan dengan berhati-hati Contohnya, kod berikut akan menghadapi masalah:
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:
- Elakkan
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 menggunakanmatch
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.
Spesifikasi rangka kerja
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.
Pengesahan parameter
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?
- Buat direktori
Requsts
di bawah direktori http Laravel untuk menyimpan kelas pengesahan parameter yang diminta. Cipta kelasBaseRequest
:
Sebagai contoh, log masuk memerlukan pengesahan parameter dan kemudian buat kelas LoginRequest
untuk mewarisi BaseRequest
ini.
- Apabila menggunakannya, hanya masukkan kelas permintaan ini ke dalam kaedah Pengawal.
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.
Pengawal
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.
- Buat folder Perkhidmatan dalam direktori aplikasi Laravel untuk menyimpan kelas Perkhidmatan dan buat kelas BaseService:
Kemudian Cipta UserService untuk mengendalikan logik perniagaan yang berkaitan dengan pengguna.
Suntikan UserService ini ke dalam UserController menggunakan:
Model
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:
Malar
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:
- Pemalar tersuai boleh diuruskan secara berpusat.
- Apabila mengubah suai nilai tetap, anda hanya perlu mencari pengubahsuaian sekali dalam kelas ini Kemas kini kod mudah diselenggara.
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!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP
