


Rangka Kerja API PHP Tulisan Tangan (1) Spesifikasi PSR
Artikel ini membawakan anda pengetahuan yang berkaitan tentang PHP terutamanya mengenai piawaian pengekodan dengan anda juga disyorkan agar anda cuba mengikuti piawaian semasa pembangunan membantu anda.
Niat asal penciptaan
- Pernahkah anda bosan menggunakan CURD?
- Adakah pelbagai rangka kerja agak menggembirakan?
- Pernahkah anda cuba mereka bentuk rangka kerja sendiri?
- Saya telah mempelajari sintaks PHP, tetapi saya tidak mempunyai projek untuk mempraktikkannya, jadi saya boleh meletakkan asas yang kukuh
Saya harap ia dapat membantu anda membina sendiri dengan cepat rangka kerja dan membawa beberapa faedah kepada kerja atau kajian anda. Datang untuk mendapatkan bantuan dan inspirasi.
Apa yang anda boleh pelajari
Spesifikasi PSR
Penggunaan komposer
Bina dengan cepat rangka kerja antara muka API
Redis aplikasi pelbagai jenis data
Analisis aplikasi cache
Sebelum membangunkan rangka kerja, izinkan saya memperkenalkan spesifikasi diikuti dengan pembangunan rangka kerja.
Kebanyakan bahasa pengaturcaraan mempunyai set standard pengekodan mereka sendiri Sebagai "bahasa terbaik di dunia", PHP pastinya mempunyai piawaian pengekodannya sendiri. Spesifikasi ini ialah Pengesyoran Standard PHP (pendek kata PSR).
Sudah tentu, dari kerja saya sendiri, saya mendapati bahawa ramai pengaturcara PHP, terutamanya pengaturcara junior, tidak tahu bahawa PHP mempunyai spesifikasi sedemikian, saya rasa ini tidak saintifik.
Apakah itu PSR?
Sebelum memperkenalkan PSR, kami perlu memperkenalkan organisasi yang merumuskan spesifikasi ini -----PHP-FIG, nama penuhnya ialah PHP Framework Interoperability.
Ahli organisasi merumuskan spesifikasi dan melaksanakannya dalam projek mereka sendiri Walaupun ia bukan organisasi rasmi, ia juga mewakili kebanyakan projek komuniti PHP, seperti CakePHP, Composer, Drupal, PEAR, Slim, rangka kerja Yii, Zend. Rangka kerja tunggu. Dan semakin banyak projek menyertai dan mengikuti piawaian ini.
Tujuan projek PSR adalah untuk merumuskan piawaian kerjasama dengan tahap sekatan paling rendah melalui perbincangan antara pengarang rangka kerja atau wakil rangka kerja Setiap rangka kerja mengikut piawaian pengekodan bersatu untuk membolehkan jurutera bekerja bersama dengan lebih baik.
Sehingga kini, 20 item telah disenaraikan di laman web rasmi Tidak termasuk dalam penggubalan dan dibuang, terdapat 13 item berikut.
Mari kita lihat spesifikasi ini:
Spesifikasi Pengekodan Asas PSR-1
- Fail kod PHP mesti bermula dengan tag
- Fail kod PHP mesti dikodkan dalam UTF-8 tanpa BOM
- Kod PHP hanya perlu menentukan Untuk pengisytiharan kelas, fungsi, pemalar, dsb., atau operasi lain yang akan menghasilkan kesan sampingan (seperti menjana output fail dan mengubah suai fail konfigurasi .ini, dsb.), anda hanya boleh memilih salah satu daripada dua
- Ruang nama dan kelas mesti mematuhi PSR Spesifikasi pemuatan automatik PSR-4
- Penamaan kelas mesti mengikut konvensyen penamaan kes unta gaya StudlyCaps bermula dengan huruf besar
- Semua huruf pemalar dalam kelas mesti menggunakan huruf besar dan perkataan dipisahkan dengan garis bawah
- Nama kaedah mesti mematuhi konvensyen penamaan camelCase gaya camelCase
Spesifikasi gaya kod PSR-12
Spesifikasi PSR-12 sangat terperinci Mengandungi perihalan pengisytiharan, ruang nama, kelas dan warisan serta struktur kawalan.
Mari kita lihat demo dahulu:
<?php declare(strict_types=1); namespace Vendor\Package; use Vendor\Package\{ClassA as A, ClassB, ClassC as C}; use Vendor\Package\SomeNamespace\ClassD as D; use function Vendor\Package\{functionA, functionB, functionC}; use const Vendor\Package\{ConstantA, ConstantB, ConstantC}; class Foo extends Bar implements FooInterface { public function sampleFunction(int $a, int $b = null): array { if ($a === $b) { bar(); } elseif ($a > $b) { $foo->bar($arg1); } else { BazClass::bar($arg2, $arg3); } } final public static function bar() { // method body } }
- Kod mesti mengikut spesifikasi pengekodan dalam [PSR-1]
- Semua fail PHP mesti gunakan Unix LF (linefeed) sebagai penamat baris; 🎜 >Bilangan aksara dalam setiap baris hendaklah disimpan dengan lembut dalam 80. Secara teori, ia mestilah tidak lebih daripada 120, tetapi mesti tiada ruang tambahan selepas baris bukan kosong; Garis kosong memudahkan anda membaca kod dan membantu memecahkan kod kepada beberapa bahagian. Setiap baris tidak boleh mengandungi lebih daripada satu pernyataan Kod mesti diinden dengan 4 ruang dan kunci tab tidak boleh digunakanSemua kata kunci PHP mestilah semuanya huruf kecil Spesifikasi asas struktur kawalan adalah seperti berikut: Terdapat banyak spesifikasi gaya pengekodan, jadi saya tidak akan menerangkannya satu per satu di sini boleh membacanya sendiri
- Pemuatan Auto PSR-4
控制结构关键词后必须有一个空格。 左括号 ( 后一定不能有空格。 右括号 ) 前也一定不能有空格。 右括号 ) 与开始花括号 { 间一定有一个空格。 结构体主体一定要有一次缩进。 结束花括号 } 一定在结构体主体后单独成行。复制代码
"Kelas" di sini merujuk kepada semua kelas, antara muka, ciri blok kod boleh guna semula dan struktur lain yang serupa.
Nama kelas yang lengkap mesti mempunyai struktur berikut:- Nama kelas yang lengkap
- mesti
menjadi A Ruang nama peringkat atas, dipanggil "ruang nama vendor";
\<命名空间>(\<子命名空间>)*\<类名>
Salin selepas log masuk- Nama kelas yang lengkap
boleh mempunyai satu atau lebih ruang kecil
- Nama kelas lengkap
mestimempunyai nama kelas akhir; >
Nama kelas lengkap boleh terdiri daripada mana-mana huruf besar dan huruf kecil; Sensitif huruf besar.
Apabila memuatkan fail yang sepadan berdasarkan nama kelas yang lengkap...
- Nama kelas yang lengkap
-
- The ruang kecil
- sejurus selepas awalan ruang nama mesti
sepadan dengan "direktori asas fail" yang sepadan dan pemisah ruang nama di dalamnya akan digunakan sebagai pemisah direktori. Nama kelas
di hujung -
mesti mempunyai nama yang sama dengan fail yang sepadan dengan akhiran
. -
Pelaksanaan pemuat auto tidak boleh
tidak boleh.php
membuang pengecualian, mencetuskan sebarang tahap mesej ralat dan - Sepatutnya
mempunyai nilai pulangan. Contoh
Jadual berikut menunjukkan laluan fail yang sepadan dengan nama kelas lengkap, awalan ruang nama dan direktori asas fail yang mematuhi spesifikasi .
Buat masa ini, kami hanya akan memperkenalkan tiga spesifikasi yang biasa digunakan ini.
- sejurus selepas awalan ruang nama mesti
Klik untuk melihat lebih banyak cadangan spesifikasi terkini
完整类名 | 命名空间前缀 | 文件基目录 | 文件路径 |
---|---|---|---|
AcmeLogWriterFile_Writer | AcmeLogWriter | ./acme-log-writer/lib/ | ./acme-log-writer/lib/File_Writer.php |
AuraWebResponseStatus | AuraWeb | /path/to/aura-web/src/ | /path/to/aura-web/src/Response/Status.php |
SymfonyCoreRequest | SymfonyCore | ./vendor/Symfony/Core/ | ./vendor/Symfony/Core/Request.php |
ZendAcl | Zend | /usr/includes/Zend/ | /usr/includes/Zend/Acl.php |
Pembelajaran yang disyorkan: "Tutorial Video PHP
"Atas ialah kandungan terperinci Rangka Kerja API PHP Tulisan Tangan (1) Spesifikasi PSR. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat 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



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
