인터넷 기술의 지속적인 발전으로 인해 PHP는 개발 언어로서 빠르게 개발자의 첫 번째 선택이 되었습니다. 그러나 프로그램의 크기가 계속 증가함에 따라 기존 MVC 프레임워크도 개발 중에 많은 문제에 직면하게 됩니다.
따라서 점점 더 많은 개발자가 프레임워크가 없는 아키텍처를 탐색하기 시작하고 동시에 PHP 자체의 개발을 지속적으로 장려하여 PHP를 더 나은 프로그래밍 언어로 만들고 있습니다.
이 기사에서는 프레임워크 없이 PHP 코드를 작성하는 몇 가지 방법과 기법을 살펴보겠습니다.
1. PHP는 기본적으로 MVC 패턴을 구현합니다.
MVC 패턴은 현재 웹 개발에서 매우 인기 있는 디자인 패턴입니다. 모델, 뷰 및 컨트롤러의 세 부분으로 나뉩니다. 모델 레이어는 데이터를 처리하고, 뷰 레이어는 디스플레이를 처리하며, 컨트롤러 레이어는 비즈니스 로직을 처리합니다.
프레임워크 개발 없이도 PHP의 기본 기능과 구문을 통해 MVC 패턴을 구현할 수 있습니다.
1. 모델 계층
모델 계층은 주로 데이터베이스 작업, 파일 작업, 데이터 계산 및 기타 기능을 포함한 데이터 서비스를 처리합니다. 이러한 함수를 별도의 PHP 파일에 캡슐화하고 이름을 "model.php"로 지정할 수 있습니다.
model.php에서는 모든 데이터 작업을 관리하는 클래스를 정의할 수 있습니다. 예:
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); } // ...其他数据库操作方法 }
위 코드에서는 주로 데이터베이스와의 상호 작용을 관리하는 데 사용되는 Model 클래스를 정의합니다. 생성자를 통해 PDO 데이터베이스 연결을 생성하고 이를 개인 속성 $db에 저장합니다. 다음으로, getAll(), getById() 등 데이터베이스를 운영하기 위한 몇 가지 메소드를 정의했는데, 이는 각각 모든 사용자를 획득하고, ID를 기반으로 사용자 정보를 획득하는 데 사용됩니다.
2. 뷰 레이어
뷰 레이어는 주로 페이지 표시 기능을 담당하며 일반적으로 HTML, CSS, JS와 같은 프런트 엔드 기술을 포함합니다. PHP 파일에 직접 HTML 코드를 작성하고 PHP 구문과 결합된 특정 처리를 수행할 수 있습니다.
예를 들어 다음과 같이 별도의 PHP 파일에 HTML 코드를 정의할 수 있습니다.
<!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>
위 코드에서는 HTML 페이지를 정의하고 PHP의 구문을 사용하여 표 형식의 데이터를 처리합니다. 그 중 $users는 Controller 레이어에서 전달된 데이터입니다.
3. 컨트롤러 계층
컨트롤러 계층은 주로 비즈니스 로직 계층으로, 요청 매개변수 처리, 모델 계층 호출을 통해 데이터 획득, 뷰 계층 호출을 통해 데이터 및 기타 기능 제공을 담당합니다.
예를 들어 다음과 같이 별도의 PHP 파일에 Controller 레이어를 구현할 수 있습니다.
<?php require_once "model.php"; $model = new Model(); $users = $model->getAll(); include "view.php";
위 코드에서는 먼저 model.php 파일을 도입하고 Model 객체를 생성했습니다. 다음으로 Model 개체의 getAll() 메서드를 호출하여 모든 사용자 정보를 가져왔습니다. 마지막으로 view.php 파일을 도입하고 페이지 렌더링을 위해 $users를 View 레이어에 전달했습니다.
2. 프레임워크 없이 라우팅 기능 구현
웹 개발에서 라우팅 기능은 매우 중요하며 주로 다양한 요청 URL을 처리하는 데 사용됩니다. 일반적으로 프레임워크를 사용하여 Laravel, ThinkPHP 등과 같은 라우팅 기능을 구현할 수 있습니다. 그러나 프레임워크 개발 없이도 PHP의 기본 구문을 직접 사용하여 라우팅 기능을 구현할 수 있습니다.
예를 들어 아래와 같이 별도의 PHP 파일에 라우팅 기능을 구현할 수 있습니다.
<?php $path = $_SERVER['REQUEST_URI']; if ($path == '/') { echo "欢迎访问首页!"; } elseif ($path == '/about') { echo "欢迎访问关于我们页面!"; } elseif ($path == '/product') { echo "欢迎访问产品页面!"; } else { echo "404 Not Found"; }
위 코드에서는 먼저 현재 요청의 URL 경로를 얻은 후 다른 URL 경로 작업을 판단하여 다른 실행을 실행합니다. . 예를 들어, 현재 경로가 /이면 "홈페이지에 오신 것을 환영합니다!"를 인쇄하고, 현재 경로가 /about이면 "회사 소개 페이지에 오신 것을 환영합니다!"를 인쇄합니다. 제품 페이지!" ", 그렇지 않으면 "404 Not Found"를 인쇄합니다.
요약:
프레임워크 없이도 PHP의 기본 구문과 기능을 사용하여 MVC 모드 및 라우팅 기능과 같은 일반적인 웹 개발 요구 사항을 구현할 수 있습니다.
이 방법을 사용하려면 많은 코드를 수동으로 작성해야 하지만 웹 개발의 본질을 더 깊이 이해하고 기술 수준을 향상시킬 수도 있습니다. 동시에 이 방법은 프레임워크로 인한 성능 손실을 줄이고 프로그램의 응답 속도를 향상시킬 수도 있습니다.
위 내용은 프레임워크 없이 PHP 코드를 작성하는 몇 가지 방법과 기법을 요약합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!