最近自己寫了乙個php框架,github位址如下:
blakefez-php-framework
/command //該目錄用於存放cli模式下的command類
/controller //該目錄用於存放cgi模式下的controller類
/frame //該目錄用於存放框架的核心**
blakefez.php //這是框架的核心檔案
command.php //command的基類,所有的command類都要繼承該類
commonmysql.php //實現的乙個mysql類
commonrequest.php //實現的乙個獲取url請求類,最好使用
//commonrequest::getrequest('option')來代替
//$_get['option']和$_post['option']
controller.php //controller類的基類,所有的controller類都要
//繼承該類
model.php //model類的基類,所有的model都要繼承該類
/model //該目錄用於存放model類
/service //該目錄用於存放公用的service類
/static
//該目錄用於存放js、css、等
/view //該目錄用於存放前端模板檔案
該框架支援cgi和cli兩種模式。
在cgi模式下,使用方法如下:
①、路由方式
比方有這樣乙個url:http://host/index.php?c=index&a=welcome
則實際會請求/controller目錄下indexcontroller類的welcome方法。
②、前端渲染
在controller裡面,使用:
$this->out['title'] = 'welcome to china';
則會把變數title輸出到前端。在前端模板檔案中,可以這樣使用該變數:
<?php
echo
$title;?>
title>
前端檔案的命名方式是這樣的:
比如indexcontroller類的welcome方法對應的前端檔案是:
如果是非同步請求的,不需要前端渲染,可以在controller中這樣寫:
$this
->outtype =
'json';
在cgi模式下,使用方法如下:
php src_path/index.php -c index -a index
這行命名將會執行command目錄下indexcommand類的index方法。
乙個超級簡單的伺服器框架
1.本伺服器端框架採用epoll 執行緒池 任務佇列 2.epoll和sernasock是我封裝的,threadpool用的是 epoll.h by gzh 2017.12.12 可以改進的地方 epollin 接收資料read 處可以優化,現在每次可以接收1kb的資料 ifndef gzh epo...
乙個超級簡單的伺服器框架
1.本伺服器端框架採用epoll 執行緒池 任務佇列 2.epoll和sernasock是我封裝的,threadpool用的是 epoll.h by gzh 2017.12.12 可以改進的地方 epollin 接收資料read 處可以優化,現在每次可以接收1kb的資料 ifndef gzh epo...
乙個簡單的AOP框架
乙個簡單的aop框架 aop非常的有趣,它可以幫助我們解決很多 橫向的很多問題,如果你不了解aop.請參看相關的文章.現在介紹的乙個aop框架,來自codeproject 作者andrea bioli.文章名稱the st aop scenario in c 現在我們來使用這個框架來演示乙個aop的...