Maison  >  Article  >  développement back-end  >  Modèle de développement PHP sans utiliser de frameworks

Modèle de développement PHP sans utiliser de frameworks

WBOY
WBOYoriginal
2023-05-24 08:06:05934parcourir

PHP est un langage de script côté serveur très populaire. Dans le développement d'applications Web, il existe de nombreux frameworks PHP qui peuvent aider les développeurs à améliorer l'efficacité et la maintenabilité. Cependant, dans certains cas, ne pas utiliser de cadre est une bonne option. Cet article présentera quelques modèles de développement PHP qui n'utilisent pas de frameworks.

  1. Adopter le modèle de conception MVC

MVC (Model-View-Controller) est un modèle de conception couramment utilisé qui divise une application en trois parties principales : le modèle, la vue et le contrôleur. Ce modèle peut simplifier la structure du code et améliorer la maintenabilité et la testabilité. Sans utiliser de framework, nous pouvons implémenter manuellement le modèle de conception MVC.

Le modèle est la partie responsable du traitement des données, y compris la lecture et le stockage des données. La vue est la partie responsable de l'affichage des données et de la présentation des données à l'utilisateur. Le contrôleur est la partie responsable de la planification et du traitement des demandes. Il reçoit les demandes des utilisateurs et les transmet aux modèles et aux vues.

Ce qui suit est un exemple de code simple :

<?php

//模型
class Model {
    protected $db;

    public function __construct() {
        $this->db = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");
    }
}

//视图
class View {
    protected $data;

    public function render($template) {
        include($template);
    }

    public function assign($key, $value) {
        $this->data[$key] = $value;
    }
}

//控制器
class Controller {
    protected $model;
    protected $view;

    public function __construct($model, $view) {
        $this->model = $model;
        $this->view = $view;
    }

    public function index() {
        $result = $this->model->get_data();
        $this->view->assign('data', $result);
        $this->view->render('template.php');
    }
}

//实例化控制器
$model = new Model();
$view = new View();
$controller = new Controller($model, $view);

//处理请求
$controller->index();
  1. Utilisation du routage

Routing est un excellent outil qui peut nous aider à gérer les requêtes d'URL et à les distribuer au contrôleur correspondant. Sans utiliser de framework, nous pouvons implémenter le routage manuellement et intégrer étroitement le routage et les contrôleurs.

Voici un exemple de code simple :

<?php

//路由规则
$routes = array(
    '/' => 'home.php',
    '/about' => 'about.php'
);

//获取请求路径
$url = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);

//查找路由规则
$file = $routes[$url];

//加载对应的控制器
if ($file) {
    include($file);
}
  1. Classe d'accès aux données personnalisée

Pour la plupart des applications, l'exploitation des données est une partie importante. Sans utiliser de framework, nous pouvons écrire nos propres classes d'accès aux données pour gérer les opérations de base de données. Cela permet de supprimer la couche d'accès aux données et contribue également à améliorer la réutilisabilité du code.

Ce qui suit est un exemple de code simple :

<?php

//数据访问类
class DataAccess {
    private $connection; 

    public function __construct($host, $username, $password, $database) {
        $this->connection = new PDO("mysql:host=$host;dbname=$database", $username, $password);
    }

    public function query($query) {
        return $this->connection->query($query);
    }

    public function prepare($query) {
        return $this->connection->prepare($query);
    }

    public function lastInsertId() {
        return $this->connection->lastInsertId();
    }

    public function beginTransaction() {
        return $this->connection->beginTransaction();
    }

    public function commit() {
        return $this->connection->commit();
    }

    public function rollBack() {
        return $this->connection->rollBack();
    }
}

//实例化数据访问类
$database = new DataAccess('localhost', 'username', 'password', 'mydatabase');

//使用数据访问类执行查询操作
$result = $database->query('SELECT * FROM users');

//使用数据访问类执行预处理操作
$stmt = $database->prepare('INSERT INTO users (username, password) VALUES (:username, :password)');
$stmt->execute(array('username' => 'john', 'password' => 'password123'));

Résumé

Cet article présente certains modèles de développement PHP sans utiliser de frameworks. En implémentant le modèle de conception MVC, en utilisant le routage et les classes d'accès aux données personnalisées, nous sommes en mesure de mieux maintenir et étendre nos applications tout en acquérant une meilleure compréhension de leur fonctionnement. Bien entendu, les frameworks restent des outils très utiles lorsqu’il s’agit d’applications complexes.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn