SlightPHP slightphp框架手册
项目地址:http://code.google.com/p/slightphp/
源码地址:http://slightphp.googlecode.com/svn/trunk/
你有两种方法使用SlightPHP类:
一、使用普通的php方法
index.php的代码如下:
<?php
require_once("SlightPHP.php");
$SlightPHP = new SlightPHP;
$SlightPHP->run();
?>
二、使用php模块方法
index.php的代码如下:
<?php
if(!extension_loaded(''SlightPHP'')) {
if (strtoupper(substr(PHP_OS, 0, 3) == ''WIN'')) {
$rt = dl(''SlightPHP.dll'');
} else {
$rt = dl(''SlightPHP.so'');
}
if($rt===false){
die("skip");
}
}
$SlightPHP = new SlightPHP;
$SlightPHP->run();
?>
那么你就可以这样访问
index.php/$zone/$object/$method
这样的方式
他就会执行APP_DIR/$zone/$object.class.php的Page$method方法
你要做的就是建立 APP_DIR/$zone/$object.class.php文件,里面定议类名为$zone_$object的类和Page$method方法就行了,相当简单!
APP_DIR/$zone/$object.class.php的代码如下:
<?php
class $zone_$object{
function Page$method(){}
}
?>
第一个示例,HelloWorld!
第一步:index.php文件内容
<?php
require_once("SlightPHP.php");
$SlightPHP = new SlightPHP;
$SlightPHP->run();
?>
第二步:请在index.php所在目录下新建zone目录,在zone目录下新建default.class.php,源代码如下:
<?php
class zone_default{
function PageEntry($inPath){
echo "Hello, world!";
}
}
?>
第三步:正常访问你的index.php
SlightPHP 1.0 (正式发布!)
SlightPHP是一个轻量级的PHP框架,支持PHP5及以上版本。
成功案例
1.优酷网
http://lipton-icha.youku.com/
3.优酷电台
http://youku.fm
4.其它
如果您正使用这个框架,请联系我们,我们将会展示到这里
主要特点
1 支持模块和普通方式加载,用模块方式请编译pecl目录下的源码2 支持数据库读写库分离3 支持Apache的Rewrite,精简URL4 扩展Sphinx类5 核心代码非常小,就6K,速度快效率高,几乎和原生的一样6 其它Hello, world!
第一步 建立index.php
<?phprequire_once("SlightPHP.php");//或者你也可以用动态库方式 dl("SlightPHP.so");SlightPHP::run();?>
第二步 请在index.php所在目录下新建zone目录,在zone目录下新建page.page.php
<?php class zone_page{ function PageEntry($inPath){ echo "Hello, world!"; } } ?>
第三步 请在你的地址栏里访问index.php,如
http://localhost/index.php
基本概念
zone 映射为一个目录名,默认为"zone"page 映射为一个文件名,以.page.php为扩展名,默认为"page"entry 映射为方法名,以Page开头的方法名,默认为"entry"appDir 应用程序目录,默认为".",就是当前目录splitFlag 分割符,默认为"/"inPath entry入口参数,数组,下面会有更详细的介绍一、地址解析
这个地址 http://localhost/index.php
实际上和 http://localhost/index.php/zone/page/entry 一样
会执行你的
$appDir/zone/page.page.php下的pageEntry方法
你可以改变其默认规则
SlightPHP::setDefaultZone("user");SlightPHP::setDefaultPage("profile");SlightPHP::setDefaultEntry("update");
当访问 http://localhost/index.php 时,就会执行
$appDir/user/profile.page.php里的pageUpdate方法,其实就是
http://localhost/index.php/user/profile/update
这个URL
二、高级地址解析-别名
如果加了这代码
SlightPHP::setZoneAlias("user","u");
你访问这个地址
http://localhost/index.php/u/profile/update
和
http://localhost/index.php/user/profile/update
会是一样的效果
它的作用是增加user一个别名u
三、分隔符(splitFlag)
zone,page,entry的分隔默认是用/来分的,你可以改成自己想要的,如
SlightPHP::setSplitFlag(".")
就可以这样访问了
http://localhost/index.php/user.profile.update
或者更好看,加上.html
http://localhost/index.php/user.profile.update.html
这样的方式
你也可以这样,用多个分割符
SlightPHP::setSplitFlag("-.")
http://localhost/index.php/user-profile-update.html
和上面的是一样
四、Apache Rewrite
在你的.htaccess里或者apache的配置文件里加下类似代码
RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.php/$1 [L]
你就可以直接这样访问了
http://localhost/user/profile/update
如果你还加上了
SlightPHP::setSplitFlag(".");
那么就可以用这样的方式 http://localhost/user.profile.update
五、短路由
如你要直接这样,更短的地址
http://localhost/profile/update
请在apache的配置文件里加上类似这样的代码
RewriteRule ^(/profile/.*)$ /index.php/user/profile/update/$1 [E=PATH_INFO:$1,L]六、关于$inPath
$inPath[0] 就是当前的 zone的名字$inPath[1] 就是当前的 page的名字$inPath[2] 就是当前的 entry的名字$inPath[...] 超过以前的就是后面更多的参数,如html
如 http://localhost/index.php/user/profile/update/other1/other2/... inPath是这样的
$inPath=array("user","profile","update","other1","other2","...")七、appDir,程序目录设置
你可以自定义你的程序目录
SlightPHP::setAppDir("/home/www/myAppdir");
如http://localhost/index.php/user/profile/update
就会执行
/home/www/myAppdir/user/profile.page.php下的pageUpdate方法
建议你的appDir目录不要让外部访问到
八、插件导航
SDb数据库插件
SCache缓存插件
更多插件功能请看samples下的示例
更多阅读
网页中的框架应用详解 spring框架详解
框架标记<frameset>??? 在HTML中,使用框架标记<frameset>可以将一个窗口分割成儿个子窗口,以便在每个窗口中同时显示几个不同的HTML文件。??? 框架结构的文件格式与一般的HTML文件类似,只是将<frameset>标记代替了<body>标记,它不包含具
易迅电子病历系统-住院医生使用手册完美版 易迅电子病历破解版
易迅电子病历系统-住院医生使用手册(完美版)——简介《易迅电子病历》是根据易迅电子病历个人版美化而成的。是一套专业的可帮助住院医生规范、高效的完成日常住院病历的书写和维护的管理软件。并帮助和提醒住院医生查阅当前己完成和
怎么在word中添加箭头等框架流程符号? 精 流程图箭头
怎么在word中添加箭头等框架流程符号? 精——简介办公过程中经常会使用WORD工具制作文本,初入职场的你还在简单敲一堆又一堆的字儿就上交领导吗?怎样让你的文本更生动立体呢?今天小编给大家分享一下,在word文档中添加箭头框架等流程符号
有聊电话操作手册 操作手册模板
有聊电话操作手册——简介用过的通话质量最好的免费通话软件!有聊电话操作手册——工具/原料有聊电话软件有聊电话操作手册——方法/步骤有聊电话操作手册 1、一、注册及登陆首次登陆有聊电话,点击注册账号,输入手机号,获取短信验证码
安卓各版添加谷歌服务框架及google play的方法 google play 添加账户
大家都知道国行手机都没有内置谷歌服务框架(GoogleServicesFramework),在使用过程中如果安装谷歌地图(google map)和谷歌商城(google play)之类的官方应用时就会闪退或者报错,而且无法玩需要通过商城验证的游戏。其中谷歌服务框架GoogleS