Lolly - 轻量级 PHP Web 框架
MIT
跨平台
PHP
软件简介
Lolly
项目介绍
一款轻量级的PHP框架,可快速开发中小型项目
功能介绍
-
内置模板引擎,支持部分语句(if for goto …)
-
内置强大的Medoo框架,踩上了巨人的肩膀
-
内置Composer,快捷的依赖管理
-
轻量级高性能,节省更多的开销
代码演示
路由设置:
//设置单个路由
$lolly->route('/','index');
//设置多个路由
$lolly->routeList([
'/' => 'index',
'/user' => 'user'
]);
//直接读取route.php的配置文件
$lolly->routeConf();
模板引擎:
//输出变量的值
{{$name}}
//if语句
{{if 1 + 1 == 2}}
//else语句
{{ else }}
//elseif语句
{{elif 1 + 1 == 3 }}
//for语句
{{ for $i = 1;i < 10;i++ }}
//循环遍历
{{ loop $name($k,$v) }}
//while
{{ while true }}
//结束语句(通用)
{{ end }}
......
简单的Hello world
<?php
/*
* lolly入口文件
*
*/
use Lolly\Lolly;
define('Lolly',dirname(__FILE__) . '/');
//引用自动加载文件
require_once(Lolly . 'vendor/autoload.php');
$lolly = new Lolly();
$lolly->route('/hello','hello');
//index函数
function hello($arg){
arg可以获取二级Path
if(sizeof($arg) > 2){
return \Lytpl\Lytpl::render_err('404',[]);
}
return "hello:" . $arg[1];
}
//访问 /hello/name会输出一个 "hello:name" 如果访问的是 /hello/name/XXX 会出现404
$lolly->run();
模板继承代码:
index.php
<?php
/*
* lolly入口文件
*
*/
use Lolly\Lolly;
define('Lolly',dirname(__FILE__) . '/');
//引用自动加载文件
require_once(Lolly . 'vendor/autoload.php');
$lolly = new Lolly();
$lolly->route('/hello','hello');
function hello(){
return \Lytpl\Lytpl::render_tpl('index.html',[])
}
Lolly/view/public/index.html
{{GlobalFun::extend('head/head.html',['test' => 'test msg'])}}this is in Lolly/view/public/index.html
Lolly/view/public/head/head.html
{{$test}} this is in Lolly/view/public/head/head.html
siege测试
循环输出10个 hello world
MBP:~ mrxzx$ siege -c 100 -t 30s localhost/lolly
Transactions: 16352 hits
Availability: 99.79 %
Elapsed time: 29.78 secs
Data transferred: 3.53 MB
Response time: 0.11 secs
Transaction rate: 549.09 trans/sec
Throughput: 0.12 MB/sec
Concurrency: 60.91
Successful transactions: 16441
Failed transactions: 34
Longest transaction: 0.42
Shortest transaction: 0.01