최근에 제가 직접 php 프레임워크를 작성했는데, github 주소는 다음과 같습니다.
blakeFez-PHP-프레임워크
이 프레임워크는 상대적으로 기능이 적고 소규모 개인 웹사이트에 더 적합합니다.
프레임워크의 디렉토리 구조는 다음과 같습니다.
<code>/command <span>//该目录用于存放cli模式下的command类</span> /controller <span>//该目录用于存放cgi模式下的controller类</span> /frame <span>//该目录用于存放框架的核心代码</span> BlakeFez.php <span>//这是框架的核心文件</span> Command.php <span>//command的基类,所有的command类都要继承该类</span> CommonMysql.php <span>//实现的一个mysql类</span> CommonRequest.php <span>//实现的一个获取url请求类,最好使用</span><span>//CommonRequest::getRequest('option')来代替</span><span>//$_GET['option']和$_POST['option']</span> Controller.php <span>//controller类的基类,所有的controller类都要</span><span>//继承该类</span> Model.php <span>//model类的基类,所有的model都要继承该类</span> /model <span>//该目录用于存放model类</span> /service <span>//该目录用于存放公用的service类</span> /<span>static</span><span>//该目录用于存放js、css、图片等</span> /view <span>//该目录用于存放前端模板文件</span></code>
프레임워크는 CGI 모드와 CLI 모드를 모두 지원합니다.
CGI 모드에서의 사용방법은 다음과 같습니다.
①、라우팅 방법
예를 들어, 다음과 같은 URL이 있습니다: http://host/index.php?c=index&a=welcome
그러면 /controller 디렉토리에 있는 IndexController 클래스의 Welcome 메소드가 실제로 요청됩니다.
②, 프론트엔드 렌더링
컨트롤러에서
<code>$<span>this</span>-><span>out</span>[<span>'title'</span>] = <span>'welcome to china'</span>;</code>
을 사용하여 변수 제목을 프런트 엔드에 출력합니다. 프런트엔드 템플릿 파일에서 이 변수를 다음과 같이 사용할 수 있습니다.
<code><span><<span>title</span>></span><span><span><?php</span><span>echo</span><span>$title</span>;<span>?></span></span><span></<span>title</span>></span></code>
프런트엔드 파일의 이름 지정 방법은 다음과 같습니다.
예를 들어 IndexController 클래스의 Welcome 메소드에 해당하는 프런트엔드 파일은 다음과 같습니다.
/view/index/welcome.php
비동기 요청이고 프런트 엔드 렌더링이 필요하지 않은 경우 컨트롤러에서 다음과 같이 작성할 수 있습니다.
<code><span>$this</span><span>-></span>outType <span>=</span><span>'json'</span>;</code>
CGI에서 모드의 사용방법은 다음과 같습니다.
php SRC_PATH/index.php -c 인덱스 -a 인덱스
이 이름 지정 줄은 명령 디렉터리에 있는 IndexCommand 클래스의 인덱스 메서드를 실행합니다.
저작권: 본 글은 해당 블로거의 원문을 게재할 경우 출처를 밝혀주시기 바랍니다.
위 내용은 다양한 측면을 포함하여 매우 간단한 PHP 프레임워크를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.