Rumah >pembangunan bahagian belakang >tutorial php >Model pembangunan PHP tanpa menggunakan rangka kerja

Model pembangunan PHP tanpa menggunakan rangka kerja

WBOY
WBOYasal
2023-05-24 08:06:05954semak imbas

PHP ialah bahasa skrip sebelah pelayan yang sangat popular. Dalam pembangunan aplikasi web, terdapat banyak rangka kerja PHP yang boleh membantu pembangun meningkatkan kecekapan dan kebolehselenggaraan. Walau bagaimanapun, dalam beberapa kes, tidak menggunakan bingkai adalah pilihan yang baik. Artikel ini akan memperkenalkan beberapa corak pembangunan PHP yang tidak menggunakan rangka kerja.

  1. Menggunakan corak reka bentuk MVC

MVC (Model-View-Controller) ialah corak reka bentuk yang biasa digunakan yang membahagikan aplikasi kepada tiga bahagian teras: Model , pandangan dan pengawal. Corak ini boleh memudahkan struktur kod dan meningkatkan kebolehselenggaraan dan kebolehujian. Tanpa menggunakan rangka kerja, kami boleh melaksanakan corak reka bentuk MVC secara manual.

Model ialah bahagian yang bertanggungjawab untuk memproses data, termasuk membaca dan menyimpan data. Pandangan adalah bahagian yang bertanggungjawab untuk memaparkan data dan menyampaikan data kepada pengguna. Pengawal adalah bahagian yang bertanggungjawab untuk menjadualkan dan memproses permintaan Ia menerima permintaan pengguna dan menghantarnya kepada model dan pandangan.

Berikut ialah contoh kod mudah:

<?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. Menggunakan penghalaan

Penghalaan ialah alat hebat yang boleh membantu kami mengendalikan permintaan URL dan Diedarkan kepada pengawal yang sepadan. Tanpa menggunakan rangka kerja, kami boleh melaksanakan penghalaan secara manual dan menyepadukan penghalaan dan pengawal dengan ketat.

Berikut ialah contoh kod mudah:

<?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. Kelas Akses Data Tersuai

Bagi kebanyakan aplikasi, pengendalian pada data merupakan bahagian penting. Tanpa menggunakan rangka kerja, kami boleh menulis kelas akses data kami sendiri untuk mengendalikan operasi pangkalan data. Melakukannya membantu mengasingkan lapisan akses data dan juga membantu meningkatkan kebolehgunaan semula kod.

Berikut ialah contoh kod ringkas:

<?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'));

Ringkasan

Artikel ini memperkenalkan beberapa corak pembangunan PHP yang tidak menggunakan rangka kerja. Dengan melaksanakan corak reka bentuk MVC, menggunakan penghalaan dan kelas capaian data tersuai, kami dapat menyelenggara dan melanjutkan aplikasi kami dengan lebih baik sambil memperoleh pemahaman yang lebih mendalam tentang cara aplikasi itu berfungsi. Sudah tentu, rangka kerja masih merupakan alat yang sangat berguna apabila ia berkaitan dengan aplikasi yang kompleks.

Atas ialah kandungan terperinci Model pembangunan PHP tanpa menggunakan rangka kerja. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn