Maison >développement back-end >Problème PHP >Résumer quelques méthodes et techniques pour écrire du code PHP sans framework
Avec le développement continu de la technologie Internet, PHP, en tant que langage de développement, est rapidement devenu le premier choix des développeurs. Cependant, à mesure que la taille du programme continue d'augmenter, le framework MVC traditionnel rencontrera également de nombreux problèmes au cours du développement.
Par conséquent, de plus en plus de développeurs commencent à explorer certaines architectures sans framework, et en même temps, ils favorisent constamment le développement de PHP lui-même, faisant de PHP un meilleur langage de programmation.
Dans cet article, nous explorerons quelques méthodes et techniques pour écrire du code PHP sans framework.
1. PHP implémente nativement le modèle MVC
Le modèle MVC est un modèle de conception très populaire dans le développement Web actuel. Il est divisé en trois parties : modèle, vue et contrôleur. La couche Modèle gère les données, la couche Vue gère l'affichage et la couche Contrôleur gère la logique métier.
Sans développement de framework, nous pouvons implémenter le modèle MVC via les fonctions et la syntaxe natives de PHP.
1. Couche modèle
La couche modèle gère principalement les services de données, comprenant généralement les opérations de base de données, les opérations sur les fichiers, les calculs de données et d'autres fonctions. Nous pouvons encapsuler ces fonctions dans un fichier PHP séparé et le nommer "model.php".
Dans model.php, nous pouvons définir une classe pour gérer toutes les opérations sur les données. Par exemple :
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); } // ...其他数据库操作方法 }
Dans le code ci-dessus, nous définissons une classe Model, qui sert principalement à gérer l'interaction avec la base de données. Grâce au constructeur, nous créons une connexion à la base de données PDO et la sauvegardons dans la propriété privée $db. Ensuite, nous avons défini certaines méthodes pour faire fonctionner la base de données, telles que getAll() et getById(), qui sont utilisées respectivement pour obtenir tous les utilisateurs et obtenir des informations sur les utilisateurs en fonction de leur identifiant.
2. Couche View
La couche View est principalement responsable de la fonction d'affichage des pages et comprend généralement des technologies frontales telles que HTML, CSS et JS. Nous pouvons écrire du code HTML directement dans le fichier PHP et effectuer certains traitements combinés à la syntaxe PHP.
Par exemple, nous pouvons définir le code HTML dans un fichier PHP séparé comme suit :
<!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>
Dans le code ci-dessus, nous définissons une page HTML et utilisons la syntaxe PHP pour traiter les données tabulaires. Parmi eux, $users sont les données transmises depuis la couche Controller.
3. Couche Contrôleur
La couche Contrôleur est principalement la couche de logique métier, responsable du traitement des paramètres de demande, appelant la couche Modèle pour obtenir des données, appelant la couche Vue pour présenter les données et d'autres fonctions.
Par exemple, nous pouvons implémenter la couche Controller dans un fichier PHP séparé comme suit :
<?php require_once "model.php"; $model = new Model(); $users = $model->getAll(); include "view.php";
Dans le code ci-dessus, nous avons d'abord introduit le fichier model.php et créé un objet Model. Ensuite, nous avons appelé la méthode getAll() de l’objet Model pour obtenir toutes les informations utilisateur. Enfin, nous avons introduit le fichier view.php et transmis $users à la couche View pour le rendu des pages.
2. Implémenter la fonction de routage sans framework
Dans le développement web, la fonction de routage est très importante et est principalement utilisée pour gérer différentes URL de requêtes. Habituellement, nous pouvons utiliser des frameworks pour implémenter des fonctions de routage, tels que Laravel, ThinkPHP, etc. Cependant, sans développement de framework, nous pouvons directement utiliser la syntaxe native de PHP pour implémenter la fonction de routage.
Par exemple, nous pouvons implémenter la fonction de routage dans un fichier PHP séparé, comme indiqué ci-dessous :
<?php $path = $_SERVER['REQUEST_URI']; if ($path == '/') { echo "欢迎访问首页!"; } elseif ($path == '/about') { echo "欢迎访问关于我们页面!"; } elseif ($path == '/product') { echo "欢迎访问产品页面!"; } else { echo "404 Not Found"; }
Dans le code ci-dessus, nous obtenons d'abord le chemin URL de la requête actuelle, et exécutons différentes exécutions en jugeant différentes opérations de chemins URL. . Par exemple, si le chemin actuel est /, imprimez "Bienvenue sur la page d'accueil!"; si le chemin actuel est /about, imprimez "Bienvenue sur la page à propos de nous!"; si le chemin actuel est /product, imprimez "Bienvenue sur la page produit!" " sinon, imprimez "404 Not Found".
Résumé :
Sans framework, nous pouvons utiliser la syntaxe et les fonctions natives de PHP pour implémenter les besoins courants de développement Web tels que le mode MVC et les fonctions de routage.
Bien que cette méthode nous oblige à écrire beaucoup de code manuellement, elle peut également permettre de mieux comprendre la nature du développement Web et d'améliorer notre niveau technique. Dans le même temps, cette méthode peut également réduire la perte de performances causée par le framework et améliorer la vitesse de réponse du programme.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!