最近自己寫了一個php框架,github位址如下:
blakeFez-PHP-Framework
此框架功能比較少,比較適合用於個人小型網站。
此框架的目錄結構如下:
<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方法。
②、前端渲染
在controller裡面,使用:
<code>$<span>this</span>-><span>out</span>[<span>'title'</span>] = <span>'welcome to china'</span>;</code>
則會把變數title輸出到前端。在前端範本檔案中,可以這樣使用該變數:
<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
如果是非同步請求的,不需要前端渲染,可以在controller中這樣寫:
<code><span>$this</span><span>-></span>outType <span>=</span><span>'json'</span>;</code>
在CGI模式下,使用方法如下:
php SRC_PATH/index.php -c index -a index
這行命名將會執行command目錄下IndexCommand類別的index方法。
版權聲明:本文為部落客原創文章,轉載請註明出處。
以上就介紹了一個超簡單的php框架,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。