ホームページ >バックエンド開発 >PHPチュートリアル >フレームワークを使用しないPHP開発モデル
PHP は非常に人気のあるサーバーサイド スクリプト言語です。 Web アプリケーションの開発では、開発者の効率と保守性の向上に役立つ PHP フレームワークが多数あります。ただし、場合によっては、フレームを使用しない方が良い場合もあります。この記事では、フレームワークを使用しない PHP 開発パターンをいくつか紹介します。
MVC (モデル-ビュー-コントローラー) は、アプリケーションを 3 つのコア部分 (モデル、ビュー、コントローラー) に分割する一般的に使用されるデザイン パターンです。 。このパターンにより、コード構造が簡素化され、保守性とテスト性が向上します。フレームワークを使用せずに、MVC デザイン パターンを手動で実装できます。
モデルは、データの読み取りや保存などのデータ処理を担当する部分です。ビューは、データを表示し、ユーザーにデータを提示する部分です。コントローラーはリクエストのスケジュールと処理を担当し、ユーザーのリクエストを受信してモデルとビューに渡します。
以下は簡単なサンプル コードです:
<?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();
ルーティングは、URL リクエストの処理と分散に役立つ優れたツールです。対応するコントローラー。フレームワークを使用せずに、手動でルーティングを実装し、ルーティングとコントローラーを緊密に統合できます。
以下は簡単なサンプル コードです。
<?php //路由规则 $routes = array( '/' => 'home.php', '/about' => 'about.php' ); //获取请求路径 $url = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); //查找路由规则 $file = $routes[$url]; //加载对应的控制器 if ($file) { include($file); }
ほとんどのアプリケーションにとって、データの操作は重要な部分です。フレームワークを使用せずに、データベース操作を処理する独自のデータ アクセス クラスを作成できます。そうすることで、データ アクセス層を抽象化することができ、コードの再利用性も向上します。
以下は簡単なサンプル コードです:
<?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'));
概要
この記事では、フレームワークを使用しない PHP 開発パターンをいくつか紹介します。ルーティングとカスタム データ アクセス クラスを使用して MVC 設計パターンを実装することで、アプリケーションの保守と拡張を改善しながら、アプリケーションがどのように動作するかをより深く理解できるようになります。もちろん、複雑なアプリケーションに関しては、フレームワークは依然として非常に便利なツールです。
以上がフレームワークを使用しないPHP開発モデルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。