PHP는 웹 애플리케이션 개발에 널리 사용되는 인기있는 서버 측 스크립팅 언어입니다. PHP 프레임 워크를 직접 구축하면 프로젝트를 더 잘 관리하고 코드의 재사용 성과 확장 성을 향상시킬 수 있습니다. 이 기사에서는 기본 PHP 프레임 워크를 처음부터 구축하고 관련 코드 예제를 제공하는 방법을 보여줍니다.
먼저 프레임 워크 파일을 저장하는 디렉토리를 만들어야합니다. "myframework"와 같은 선호도에 따라이 디렉토리를 지정할 수 있습니다. 이 디렉토리에서는 다음 구조를 만듭니다.
myframework
├── app
│ ├── controllers
│ ├── models
│ └── views
├── config
├── public
├── vendor
└── index.php
이 구조에서 앱 디렉토리는 컨트롤러, 모델 및 뷰를 포함한 응용 프로그램 코드를 저장하는 데 사용됩니다. 구성 디렉토리는 구성 파일에 사용됩니다. 공개 디렉토리는 공공 자원 파일 (예 : CSS 및 JavaScript)에 사용됩니다. 공급 업체 디렉토리는 타사 라이브러리에 사용됩니다. index.php는 프레임 워크의 입력 파일입니다.
다음으로 앱 디렉토리에서 프레임 워크의 기본 클래스로 Framework.php라는 파일을 만듭니다. 이 클래스의 작업은 요청, 라우팅 및 스케줄링 컨트롤러를 처리하는 것입니다.
class Framework {
public function __construct() {
// 프레임 워크 초기화
}
public function run() {
// 프로세스 요청 및 라우팅
$route = $this->getRoute();
$controller = $this->getController($route['controller']);
$action = $route['action'];
if (method_exists($controller, $action)) {
$controller->$action();
} else {
// 존재하지 않는 방법
}
}
private function getRoute() {
// 해결 요청URL,컨트롤러와 방법을 얻으십시오
$route = $_SERVER['REQUEST_URI'];
return ['controller' => $controller, 'action' => $action];
}
private function getController($controllerName) {
// 컨트롤러 이름을 기반으로 컨트롤러 인스턴스를 만듭니다
$controllerClass = $controllerName . 'Controller';
$controllerFile = 'app/controllers/' . $controllerClass . '.php';
if (file_exists($controllerFile)) {
require_once $controllerFile;
return new $controllerClass;
} else {
// 존재하지 않는 컨트롤러를 처리합니다
}
}
}
위의 코드에서`__construct ()`메소드는 프레임 워크를 초기화하는 데 사용되며`run ()`메소드는 요청을 처리하고 컨트롤러 메소드를 스케줄합니다. `getRoute ()`는 요청 된 URL을 구문 분석하고 해당 컨트롤러 및 메소드를 가져 오는 데 사용되며`getController ()``는 컨트롤러 이름을 기반으로 컨트롤러 인스턴스를 작성해야합니다.
다음으로 App/Controllers 디렉토리에서 예제 컨트롤러로 emailplecontroller.php라는 파일을 만듭니다.
class ExampleController {
public function index() {
// 홈페이지 로직을 처리하십시오
}
public function about() {
// 페이지 논리에 대한 처리
}
// 다른 방법...
}
이 코드에서는 examplecontroller라는 클래스를 생성하고 두 가지 방법`index ()`및`about ()`를 예제로 정의합니다.
앱/뷰 디렉토리에서 샘플보기로 index.php라는 파일을 만듭니다. 이보기에서는 HTML 및 PHP를 작성하여 페이지 컨텐츠를 생성 할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<title>My Framework</title>
</head>
<body>
<h1>Welcome to my framework!</h1>
</body>
</html>
위의 코드는 프레임 워크의 프론트 엔드 페이지 역할을하는 간단한 HTML보기를 보여줍니다.
프레임 워크의 루트 디렉토리에서 index.php라는 파일을 만들고 프레임 워크 클래스를 소개하고 프레임 워크 객체를 만들고 프레임 워크를 실행하십시오.
require_once 'app/Framework.php';
$framework = new Framework();
$framework->run();
`http : // yourdomain.com`를 방문하면 샘플보기를 볼 수 있습니다.
위의 단계를 통해 0에서 간단한 PHP 프레임 워크를 성공적으로 구축했습니다. 이것은 필요에 따라 더 확장하고 사용자 정의 할 수있는 기본 프레임 워크입니다. 자신의 PHP 프레임 워크를 구축하면 코드의 유지 관리 및 확장 성을 향상시킬 수있을뿐만 아니라 프레임 워크 설계 원칙에 대한 이해가 심화 될 수 있습니다. 이 기사가 도움이되기를 바랍니다!