>백엔드 개발 >PHP 튜토리얼 >매우 간단한 PHP 프레임워크

매우 간단한 PHP 프레임워크

WBOY
WBOY원래의
2016-07-29 09:15:523046검색

최근에 제가 직접 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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.