php frame框架,noFramePHP开发框架

noFrame在oschina托管地址:https://git.oschina.net/yii153/noFrame

noFrame在github托管地址:https://github.com/yii153/noFrame

目前noFrame的结构如下

|-Databases 数据库目录,该目录只能包含数据库类,且除Database类之外的所有类都要实现Database接口【仅供参考】

|-Database.class.php 数据库连接类,应用中链接数据库只需要引用该类并创建该类的对象【仅供参考】

|-Database.interface.php 数据库接口,定义了数据库类要实现的方法【仅供参考】

|-Mysql.class.php mysql数据库类,需要实现Database接口【仅供参考】

|-SqlServer.class.php sqlserver数据库类,需要实现Database接口【仅供参考】

|-Example 示例目录【仅供参考】

|-System.class.php 系统类,提供了欢迎信息,版本信息,入库示例,查询示例。可直接通过$webRoot/entrance.php/Example/System/$method调用获取信息【仅供参考】

|-Utils 工具目录【仅供参考】

|-Util.class.php 工具类,提供了请求执行成功,请求执行失败,请求执行成功并返回数据。可引用Util类并通过Util::$method调用【仅供参考】

|--LICENSE LICENSE文件

|--README.md README文件

|--entrance.php 入口文件【核心文件】

注:【仅供参考】部分可根据实际项目需要修改或删除。

noFrame 实现单一入口,类自动载入,全局类映射(可以通过单一入口映射任意目录中的任意类的任意公用方法,不局限于目录和层级),noFrame提供pathinfo模式和兼容模式两种入口模式,noFrame默认全局开启session,noFrame自带错误处理。noFrame不需要额外安装任何拓展和环境部署,只需拷贝到noFrame到您的web根目录下即可使用。并且,所有这些功能的实现都是通过一个文件来完成的。

noFrame以entrance.php(入口文件)作为核心文件。使用只需将该文件拷贝到应用根目录下,便可以快速开发出一套基于MVC、单一入口、类自动载入的应用。

noFrame基于PSR-0规范,类文件除类外不得有其他执行代码,所有类使用命名空间,命名空间和类的绝对路径一致,类名和路径名首字母大写,所有类自动载入。

下面以调用未知目录下的$Class类的$method方法为例

namespace $Folder_a\$Folder_b\Folder_c\...\$Folder_z; 命名空间与该文件的路径保持一致

use $Folder_d\$Folder_e\Folder_f\...\$IncludeClass; 引用其他目录下的类文件

use $Folder_g\$Folder_h\Folder_i\...\$IncludeStaticClass; 引用其他目录下的静态类文件

class $Class 创建类

{

public function $method() 创建public方法

{

$IC = new $IncludeClass(); 创建引用类的对象

$IC->$method(); 调用该对象的方法

$IncludeStaticClass::$method(); 调用引用静态类的方法

}

}

支持pathinfo的服务器环境调用地址如下

entrance.php/$Folder_a/$Folder_b/Folder_c/.../$Folder_z/$Class/$method

不支持pathinfo的服务器环境调用地址如下

entrance.php?$Folder_a/$Folder_b/Folder_c/.../$Folder_z/$Class/$method

pathinfo模式和兼容模式的调用区别仅仅是在entrance.php后面的/和?的区别。

noFrame对于请求的响应做了如下约定,具体可以参考Example下的System.class.php,当然你可以根据实际情况调整或修改其约定。

1.返回信息一定为json字符串

2.返回信息一定包含请求处理成功为真/假的信息

3.请求处理成功为假则一定包含错误信息。

4.完成请求后,将响应信息转成json对象,如果请求处理成功为假,则打印错误信息并返回。否则打印成功信息或解析数据

服务端示例 //Controller/Test/test

try{

//do some thing...

Util::echo_success();

}catch (Exception $e){

Util::echo_error($e->getMessage());

}

客户端示例 //entrance.php/Controller/Test/test

if(!response.success) {

alert(response.message);

return;

}

alert('success');

在使用过程中出现什么问题或bug可以反馈给我,以便及时更正

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值