Dengan perkembangan teknologi Internet yang berterusan, PHP, sebagai bahasa pembangunan, telah menjadi pilihan pertama pembangun dengan pantas. Walau bagaimanapun, apabila saiz program terus meningkat, rangka kerja MVC tradisional juga akan menghadapi banyak masalah semasa pembangunan.
Oleh itu, semakin ramai pembangun mula meneroka seni bina tanpa rangka kerja, dan pada masa yang sama, mereka sentiasa mempromosikan pembangunan PHP itu sendiri, menjadikan PHP bahasa pengaturcaraan yang lebih baik.
Dalam artikel ini, kami akan meneroka beberapa kaedah dan teknik untuk menulis kod PHP tanpa rangka kerja.
1. PHP melaksanakan corak MVC secara asli
Corak MVC ialah corak reka bentuk yang sangat popular dalam pembangunan Web semasa: Model, View dan Controller. Lapisan Model mengendalikan data, lapisan Paparan mengendalikan paparan dan lapisan Pengawal mengendalikan logik perniagaan.
Tanpa pembangunan rangka kerja, kami boleh melaksanakan corak MVC melalui fungsi asli dan sintaks PHP.
1. Lapisan model
Lapisan Model terutamanya mengendalikan perkhidmatan data, biasanya termasuk operasi pangkalan data, operasi fail, pengiraan data dan fungsi lain. Kita boleh merangkum fungsi ini dalam fail PHP yang berasingan dan menamakannya "model.php".
Dalam model.php, kita boleh menentukan kelas untuk mengurus semua operasi data. Contohnya:
class Model { private $db; public function __construct() { $this->db = new PDO("mysql:host=localhost;dbname=test", "root", ""); } public function getAll() { $sql = "SELECT * FROM `users` ORDER BY `id` DESC"; $stmt = $this->db->query($sql); return $stmt->fetchAll(PDO::FETCH_ASSOC); } public function getById($id) { $sql = "SELECT * FROM `users` WHERE `id` = ?"; $stmt = $this->db->prepare($sql); $stmt->execute([$id]); return $stmt->fetch(PDO::FETCH_ASSOC); } // ...其他数据库操作方法 }
Dalam kod di atas, kami mentakrifkan kelas Model, yang digunakan terutamanya untuk mengurus interaksi dengan pangkalan data. Melalui pembina, kami mencipta sambungan pangkalan data PDO dan menyimpannya dalam harta persendirian $db. Seterusnya, kami menentukan beberapa kaedah untuk mengendalikan pangkalan data, seperti getAll() dan getById(), yang digunakan untuk mendapatkan semua pengguna dan mendapatkan maklumat pengguna berdasarkan ID masing-masing.
2. Lapisan Paparan
Lapisan Paparan bertanggungjawab terutamanya untuk fungsi paparan halaman, biasanya termasuk HTML, CSS, JS dan teknologi bahagian hadapan yang lain. Kami boleh menulis kod HTML terus dalam fail PHP dan melakukan pemprosesan tertentu digabungkan dengan sintaks PHP.
Sebagai contoh, kami boleh mentakrifkan kod HTML dalam fail PHP yang berasingan seperti berikut:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>用户信息</title> <link rel="stylesheet" href="style.css"> </head> <body> <h1>用户信息</h1> <table> <thead> <tr> <th>ID</th> <th>姓名</th> <th>性别</th> <th>年龄</th> </tr> </thead> <tbody> <?php foreach ($users as $user): ?> <tr> <td><?php echo $user['id']; ?></td> <td><?php echo $user['name']; ?></td> <td><?php echo $user['sex']; ?></td> <td><?php echo $user['age']; ?></td> </tr> <?php endforeach; ?> </tbody> </table> </body> </html>
Dalam kod di atas, kami mentakrifkan halaman HTML dan menggunakan sintaks PHP untuk memproses data jadual . Antaranya, $users ialah data yang dihantar dari lapisan Pengawal.
3. Lapisan Pengawal
Lapisan Pengawal adalah terutamanya lapisan logik perniagaan, bertanggungjawab untuk memproses parameter permintaan, memanggil lapisan Model untuk mendapatkan data, memanggil lapisan Lihat untuk mempersembahkan data dan fungsi lain .
Sebagai contoh, kami boleh melaksanakan lapisan Pengawal dalam fail PHP yang berasingan seperti berikut:
<?php require_once "model.php"; $model = new Model(); $users = $model->getAll(); include "view.php";
Dalam kod di atas, kami mula-mula memperkenalkan fail model.php dan objek Model A dicipta. Seterusnya, kami memanggil kaedah getAll() objek Model untuk mendapatkan semua maklumat pengguna. Akhir sekali, kami memperkenalkan fail view.php dan menyerahkan $users ke lapisan View untuk pemaparan halaman.
2. Laksanakan fungsi penghalaan tanpa rangka kerja
Dalam pembangunan web, fungsi penghalaan adalah sangat penting dan digunakan terutamanya untuk mengendalikan URL permintaan yang berbeza. Biasanya, kita boleh menggunakan rangka kerja untuk melaksanakan fungsi penghalaan, seperti Laravel, ThinkPHP, dsb. Walau bagaimanapun, tanpa pembangunan rangka kerja, kita boleh terus menggunakan sintaks asli PHP untuk melaksanakan fungsi penghalaan.
Sebagai contoh, kami boleh melaksanakan fungsi penghalaan dalam fail PHP yang berasingan seperti berikut:
<?php $path = $_SERVER['REQUEST_URI']; if ($path == '/') { echo "欢迎访问首页!"; } elseif ($path == '/about') { echo "欢迎访问关于我们页面!"; } elseif ($path == '/product') { echo "欢迎访问产品页面!"; } else { echo "404 Not Found"; }
Dalam kod di atas, kami mula-mula mendapatkan laluan URL permintaan semasa, Lakukan berbeza operasi dengan menilai laluan URL yang berbeza. Sebagai contoh, jika laluan semasa ialah /, cetak "Selamat datang ke halaman utama!"; jika laluan semasa adalah /tentang, cetak "Selamat datang ke halaman tentang kami!"; halaman produk!" "; jika tidak, cetak "404 Tidak Ditemui".
Ringkasan:
Tanpa rangka kerja, kami boleh menggunakan sintaks dan fungsi asli PHP untuk melaksanakan keperluan pembangunan web biasa seperti mod MVC dan fungsi penghalaan.
Walaupun kaedah ini memerlukan kami menulis banyak kod secara manual, ia juga boleh memberikan pemahaman yang lebih mendalam tentang sifat pembangunan web dan meningkatkan tahap teknikal kami. Pada masa yang sama, kaedah ini juga boleh mengurangkan kehilangan prestasi yang disebabkan oleh rangka kerja dan meningkatkan kelajuan tindak balas program.
Atas ialah kandungan terperinci Ringkaskan beberapa kaedah dan teknik untuk menulis kod PHP tanpa rangka kerja. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!