gene框架文档 - 概述
欢迎使用Gene框架
最新版本:V1.2.2
开源地址:https://github.com/sasou/php-gene 作者:sasou
文档地址:http://php-gene.com/doc
概览
介绍
Gene 是一个灵活、强大、简单、高效的c扩展框架。通过精心的设计与高效的技术实现,配合数据库、缓存等类库,带来新的开发体验。
特点概述
- 简单 :入门快,配置简单;
- 灵活 :灵活安全的路由,前置、后置注入等;
- 强大 :配置进程级缓存,路由配置简单强大、支持函数回调、支持rest风格等。
- 高效 :框架基本不增加性能消耗,配置文件按需加载、运行效率高。
目录结构
对于gene应用,可以遵循类似下面的目录结构,熟悉后可以自定义目录结构.
app
├─Cache
│ └─Views
├─Ext
│ ├─Com
│ │ ├─Cache
│ │ ├─Db
│ │ ├─Queue
├─Config
├─Controllers
│ └─Admin
├─Models
│ ├─Admin
└─Views
├─admin
└─web
入门
入口文件
入口文件是所有请求的入口, 一般都借助于rewrite规则, 把所有的请求都重定向到这个入口文件
define('APP_ROOT', __dir__ . '/app/');
$app = new \Gene\Application();
$app
->load("router.ini.php")
->load("config.ini.php")
->run();路由配置文件
可以配置http请求方式(get,post,put,patch,delete,trace,connect,options,head),配置路由处理函数:回调函数、类的方法(格式className@methodName)。
$router = new \Gene\Router();
$router->clear()
->get("/", "\Controllers\Index@run")
->error(404,function()
{
echo " 404 ";
})
->hook("before", function(){
echo " before ";
})
->hook("after", function($params){
echo " after ";
});变量配置文件
配置缓存支持bool、int、long、string、array、常量等数据类型。
$config = new \Gene\Config();
$config->clear();
$config->set("_db",array(
'adapter' => 'Pdo\Mysql',
'host' => '127.0.0.1',
'port' => 3306,
'user' => 'root',
'password' => '123456',
'database' => 'demo',
'charset' => 'utf8',
'persistent' => false,
));
$config->set("_cache",array(
'adapter' => 'Memcaches',
'servers' => array(
'default' => array(
'host' => '127.0.0.1',
'port' => 8888,
'persistent' => true)
)
));控制器文件
对于路由配置的\Controllers\Index@run, 控制器的目录是在app目录下的Controllers目录下Index.php文件, Action的命名是run。
namespace Controllers;
class Index extends \Gene\Controller
{
/**
* run
* @param type $params
*/
public function run()
{
echo 'run';
}
}运行
在浏览器输入项目地址,比如:http://localhost/
看到 before run after 输出吧!!!注意:如果没有看到before run after, 那么请查看PHP的错误日志, 找出问题在哪里。
gene框架文档 - 概述的更多相关文章
- gene框架文档 - 路由类 gene_router
路由类 Gene\Router 介绍 Gene\Router 是gene框架的核心类之一,本框架区别于其他常见框架的最大地方就是独特.强大.简单的路由定义等.路由强大灵活,支持回调.类方法:支持res ...
- Mybatis 框架文档 超具体笔记
1 Mybatis入门 1.1 单独使用jdbc编程问题总结 1.1.1 jdbc程序 Public static void main(String[] args) { Connec ...
- selenium浏览器自动化测试框架文档(修正版)
写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够在项目中持之以恒的实践自动化测试的团队,却依旧不是非常多.有的团队知道怎么做,做的还不够好:有的团队还 ...
- Nancy Web框架 文档
http://liulixiang1988.github.io/nancy-webkuang-jia.html 中文 https://github.com/NancyFx/Nancy/wiki/Doc ...
- dubbo 框架文档地址
http://dubbo.apache.org/books/dubbo-dev-book/ http://dubbo.apache.org/books/dubbo-admin-book/ http:/ ...
- Spring框架文档与API(4.3.6版本)
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ Table of Contents I ...
- SqlSugar ORM框架文档
http://www.codeisbug.com/Doc/8/1141 SqlSugar入门级教程+实例 (.net core下的)https://www.cnblogs.com/rulasann/p ...
- MFC文档、视图和框架
文档.视图.框架 文档/视图结构是MFC提供的一种不错的设计,它将数据的处理和显示分开来,这样更便于我们对程序的维护和扩展. 文档 文档对象用于管理和维护数据,包括保存数据.取出数据以及 ...
- MongoDB文档、集合、数据库简介
文档 概述 文档是MongoDB的核心概念,是数据的基本单元,非常类似于关系数据库中的行.在MongoDB中,文档表示为键值对的一个有序集.MongoDB使用Javascript shell,文档的表 ...
随机推荐
- iOS开发——高级技术精选&底层开发之越狱开发第二篇
底层开发之越狱开发第二篇 今天项目中要用到检查iPhone是否越狱的方法. Umeng统计的Mobclick.h里面已经包含了越狱检测的代码,可以直接使用 /*方法名: * isJailbroken ...
- CentOS安装keepalived
Haproxy.Keepalived双主高可用负载均衡 1.安装keepalived yum install keepalived -y
- httpwebrequest 服务器提交了协议冲突. section=responsestatusline
调用接口的时候,包: httpwebrequest 服务器提交了协议冲突. section=responsestatusline 解决方案: req.KeepAlive = false; req.Al ...
- Android Weak Handler:可以避免内存泄漏的Handler库
这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! android使用java作 ...
- 暴力清除Android中的短信
有些短信程序有bug,当短信(特别是彩信)没有接收完整,或者是一些异常情况下,你会收到一条短信但是看不到或者看不了. 此时郁闷的事情就来了,系统会提醒你还有1条未读短信,但是你满世界都找不到这条短信. ...
- Delphi 10.1 Berlin Starter Edition
Delphi 10.1 Berlin Starter Edition Embarcadero® Delphi 10.1 Berlin Starter is a great way to get sta ...
- C#中子类与父类的相互转换
1.父类不能直接强制转换成子类 2.子类可以强制转换成父类,但是在父类中只能取父类的字段与方法 因此在一个父类对应多个子类的时候,不知道具体是哪个子类的时候,就可以先声明一个父类的类型.(如例1) 3 ...
- NopCommerce之任务执行
NOP任务提供两种:手动执行(立即)和定时执行两种. 首先来说下手动任务执行过程,下图是NOP定时任务管理界面: 从上面可以看出,我们可以选择具体的任务来手动执行任务(立即执行),当点击[立即执行]按 ...
- Spring MVC全局异常处理与拦截器校检
在使用Spring MVC进行开发时,总是要对系统异常和用户的异常行为进行处理,以提供给用户友好的提示,也可以提高系统的安全性. 拦截系统响应错误 首先是拦截系统响应错误,这个可以在web.xml中配 ...
- suricata学习笔记1--初步认识
1.前言 最近工作需要对网站的关键字进行检测,找出敏感词.这个过程需要对报文进行收集.解码.检测和记录日志.当前只是简单实现功能,根据关键字进行简单的匹配,而没有进行关键字的语义分析.导致的结果就是 ...