Dalam tutorial ini, kami akan mencipta Mini Blog API menggunakan Lithe, rangka kerja PHP yang ringkas dan fleksibel serta ORM yang fasih, yang memudahkan interaksi dengan pangkalan data. Lithe sudah mengkonfigurasi Eloquent secara automatik, jadi kerja yang perlu kami lakukan adalah mudah: laraskan pembolehubah persekitaran dan cipta model serta migrasi untuk data kami.
Mari ikut panduan langkah demi langkah mudah untuk membina API ini dengan cekap dan tanpa komplikasi.
Langkah 1: Pasang Lithe
Langkah pertama ialah memasang Lithe dalam projek anda. Jika anda belum melakukan ini lagi, jalankan sahaja arahan berikut dalam terminal:
composer create-project lithephp/lithephp mini-blog-api
Arahan ini mencipta projek baharu menggunakan Lithe. Lithe sudah mengkonfigurasi Eloquent untuk anda secara automatik, tetapi kami perlu melaraskan beberapa tetapan dalam fail .env untuk menyambung ke pangkalan data.
Langkah 2: Konfigurasi Pangkalan Data
Sekarang, mari kita konfigurasi pangkalan data. Buka fail .env dalam akar projek anda dan edit tetapan pangkalan data. Untuk menggunakan Eloquent ORM dengan MySQL, tetapan hendaklah seperti ini:
DB_CONNECTION_METHOD=eloquent DB_CONNECTION=mysql DB_HOST=localhost DB_NAME=lithe_eloquent DB_USERNAME=root DB_PASSWORD= DB_SHOULD_INITIATE=true
Kini, memandangkan Lithe sudah mengkonfigurasi Eloquent secara automatik, langkah seterusnya ialah memastikan Eloquent ORM dipasang. Jika anda belum berbuat demikian, jalankan arahan di bawah untuk memasang Eloquent ORM:
composer require illuminate/database
Selepas pemasangan, Lithe akan sedia untuk menggunakan Eloquent ORM dan berinteraksi dengan pangkalan data. Dengan ini, pangkalan data dikonfigurasikan dengan betul untuk Blog Mini kami!
APILangkah 3: Cipta Templat dan Berhijrah ke Siaran
Sekarang, mari buat model dan migrasi yang akan mentakrifkan jadual siaran dalam pangkalan data kami.
Mula-mula, buat templat Post dengan arahan:
php line make:model Post
Kemudian, buat migrasi untuk jadual siaran:
php line make:migration create_posts_table
Model dan migrasi telah pun dibuat, sekarang mari kita konfigurasikannya.
Templat Siar
Model Post terletak di src/models/Post.php. Edit fail seperti ini:
namespace App\Models; use Illuminate\Database\Eloquent\Model; class Post extends Model { // A tabela associada ao modelo protected $table = 'posts'; // Campos que podem ser preenchidos via mass-assignment protected $fillable = ['title', 'content']; // Usar timestamps para created_at e updated_at public $timestamps = true; }
Dalam kod ini, kami mentakrifkan medan tajuk dan kandungan sebagai boleh diisi, bermakna ia boleh diisi secara automatik apabila kami membuat atau mengemas kini siaran.
Penghijrahan Jadual Catatan
Penghijrahan yang dijana akan berada dalam src/database/migrations/{timestamp}_create_posts_table.php. Edit migrasi untuk mencipta struktur jadual siaran:
composer create-project lithephp/lithephp mini-blog-api
Di sini, kami sedang mencipta jadual siaran dengan medan id, tajuk, kandungan dan medan tarikh dan masa dibuat_pada dan dikemas kini_pada.
Langkah 4: Jalankan Migrasi
Dengan migrasi dan model sedia, mari jalankan migrasi untuk mencipta jadual siaran dalam pangkalan data. Jalankan arahan berikut:
DB_CONNECTION_METHOD=eloquent DB_CONNECTION=mysql DB_HOST=localhost DB_NAME=lithe_eloquent DB_USERNAME=root DB_PASSWORD= DB_SHOULD_INITIATE=true
Arahan ini akan mencipta jadual siaran dalam pangkalan data dengan medan yang kami takrifkan dalam penghijrahan.
Langkah 5: Cipta Pengawal untuk Siaran
Sekarang, mari buat pengawal untuk mengurus siaran API. Pengawal akan bertanggungjawab untuk mengendalikan permintaan HTTP dan mengembalikan data dengan cara yang teratur.
Untuk mencipta pengawal, jalankan:
composer require illuminate/database
Ini akan menjana fail di src/http/Controllers/PostController.php. Edit fail ini untuk memasukkan kaedah CRUD (buat, baca, kemas kini dan padam) untuk siaran.
Berikut ialah contoh rupa PostController:
php line make:model Post
Di sini, kami mempunyai lima kaedah asas:
- indeks: Menyenaraikan semua siaran.
- tunjukkan: Memaparkan siaran tertentu.
- kedai: Buat siaran baharu.
- kemas kini: Mengemas kini siaran sedia ada.
- musnahkan: Memadamkan siaran.
Langkah 6: Tentukan Laluan API
Sekarang, mari kita tentukan laluan untuk API siaran kami. Buka fail src/App.php dan tambah kod berikut:
php line make:migration create_posts_table
Kod di atas mencipta contoh aplikasi Lithe. Baris $app->set('routes', __DIR__ . '/routes'); memberitahu Lithe tempat untuk mencari fail laluan. Lithe akan memuatkan semua fail secara automatik ke dalam folder src/routes. Setiap fail laluan akan dipetakan ke URL berdasarkan namanya. Contohnya:
- Fail cart.php pergi ke laluan /cart.
- Fail admin/dashboard.php pergi ke laluan /admin/dashboard.
$app->listen(); menyebabkan Lithe mula "mendengar" permintaan, iaitu, ia menunggu permintaan dan mengarahkannya ke laluan yang ditentukan.
Sekarang, buat fail bernama posts.php di dalam folder src/routes/posts untuk mewakili laluan /posts dan tambah kod berikut:
namespace App\Models; use Illuminate\Database\Eloquent\Model; class Post extends Model { // A tabela associada ao modelo protected $table = 'posts'; // Campos que podem ser preenchidos via mass-assignment protected $fillable = ['title', 'content']; // Usar timestamps para created_at e updated_at public $timestamps = true; }
Laluan ini menghubungkan kaedah PostController ke URL API.
Langkah 7: Uji API
Sekarang semuanya telah disediakan, anda boleh menguji API anda dengan alatan seperti Posmen atau Insomnia. Berikut ialah titik akhir yang boleh anda uji:
- DAPATKAN /siaran: Mengembalikan semua siaran.
- DAPATKAN /posts/:id: Mengembalikan siaran tertentu.
- POST /siaran: Mencipta siaran baharu.
- PUT /posts/:id: Mengemas kini siaran sedia ada.
- PADAM /siaran/:id: Memadamkan siaran.
Sekarang, anda baru sahaja mencipta Mini Blog API dengan Lithe dan ORM Fasih! Lithe mengkonfigurasi Eloquent secara automatik untuk anda, dan kami baru sahaja membuat beberapa pengubahsuaian pada pembolehubah persekitaran dan mencipta model dan pengawal yang diperlukan. Kini anda mempunyai API RESTful yang lengkap untuk mengurus catatan blog.
Untuk mendapatkan maklumat lanjut dan butiran tentang cara menggunakan Lithe dan Eloquent ORM, lawati dokumentasi Lithe rasmi di sini: Lithe Documentation.
Atas ialah kandungan terperinci Mencipta API Blog Mini dengan Lithe dan Fasih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

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

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

TosecurelyhandleAuthenticationandauthorizationInphp, ikuti: 1.alwayshashpasswordswithpassword_hash () andverifyUsingPassword_verify (), usePePreparedStatementStopreventsqlInjection, andStoreUserDatain $ _SessionAsLogin.2.implescureRoleRoleRoleRoleRole

Untuk mengendalikan muat naik fail dengan selamat di PHP, terasnya adalah untuk mengesahkan jenis fail, menamakan semula fail, dan menyekat kebenaran. 1. Gunakan finfo_file () untuk memeriksa jenis mime sebenar, dan hanya jenis tertentu seperti imej/jpeg dibenarkan; 2. Gunakan uniqid () untuk menghasilkan nama fail rawak dan simpannya dalam direktori akar bukan web; 3. Hadkan saiz fail melalui borang php.ini dan html, dan tetapkan kebenaran direktori ke 0755; 4. Gunakan Clamav untuk mengimbas malware untuk meningkatkan keselamatan. Langkah -langkah ini dengan berkesan menghalang kelemahan keselamatan dan memastikan bahawa proses muat naik fail adalah selamat dan boleh dipercayai.

Dalam PHP, perbezaan utama antara == dan == adalah ketat pemeriksaan jenis. == Penukaran jenis akan dilakukan sebelum perbandingan, contohnya, 5 == "5" pulangan benar, dan === meminta nilai dan jenis adalah sama sebelum benar akan dikembalikan, sebagai contoh, 5 === "5" mengembalikan palsu. Dalam senario penggunaan, === lebih selamat dan harus digunakan terlebih dahulu, dan == hanya digunakan apabila penukaran jenis diperlukan.

Kaedah menggunakan operasi matematik asas dalam PHP adalah seperti berikut: 1. Tanda tambahan menyokong bilangan bulat dan nombor terapung, dan juga boleh digunakan untuk pembolehubah. Nombor rentetan akan ditukar secara automatik tetapi tidak disyorkan kepada kebergantungan; 2. Tanda -tanda pengurangan - tanda, pembolehubah adalah sama, dan penukaran jenis juga terpakai; 3. Tanda -tanda pendaraban menggunakan tanda *, yang sesuai untuk nombor dan rentetan yang serupa; 4. Bahagian menggunakan / tanda, yang perlu mengelakkan pembahagian dengan sifar, dan perhatikan bahawa hasilnya mungkin nombor terapung; 5. Mengambil tanda modulus boleh digunakan untuk menilai angka ganjil dan bahkan, dan apabila memproses nombor negatif, tanda -tanda selebihnya selaras dengan dividen. Kunci untuk menggunakan pengendali ini dengan betul adalah untuk memastikan bahawa jenis data adalah jelas dan keadaan sempadan ditangani dengan baik.

Ya, PHP boleh berinteraksi dengan pangkalan data NoSQL seperti MongoDB dan Redis melalui sambungan atau perpustakaan tertentu. Pertama, gunakan pemacu MongoDBPHP (dipasang melalui PECL atau komposer) untuk membuat contoh pelanggan dan mengendalikan pangkalan data dan koleksi, penyisipan sokongan, pertanyaan, pengagregatan dan operasi lain; Kedua, gunakan perpustakaan predis atau lanjutan phpredis untuk menyambung ke REDIS, lakukan tetapan dan pengambilalihan nilai utama, dan mengesyorkan PHPREDI untuk senario berprestasi tinggi, sementara Predis mudah untuk penempatan pesat; Kedua-duanya sesuai untuk persekitaran pengeluaran dan didokumentasikan dengan baik.

Tostaycurrentwithphpdevelopmentsandbestpractices, followeyNewsssourcesLikePhp.netandphpweekly, engageWithCommunitiesonforumsandconference, keeptoolingupdatedandgraduallyAdoptNewFeatures, dan readribcoursourcourceSource

Phpbecamepopularforwebdevelopmentduetoitseaseoflearning, seamlessintegrationwithhtml, widespreadhostingsupport, andalargeecosystemincludingframeworkslikelaravelandcmsplatformsLikeWordPress.itexcelsinhandessubmissions

TosetTheRightTimeZoneinPhp, USEDATE_DEFAULT_TIMEZONE_SET () functionAtthestArtAfyourscriptwithavalididentifiersuchas'america/new_york'.1.usedate_default_timeSet ()
