最新版本:V4.1.2
开源地址:https://github.com/sasou/gene 作者:sasou
文档地址:http://php-gene.com/doc.html
Gene 是一个灵活、强大、简单、高效的c扩展框架。通过精心的设计与高效的技术实现,配合数据库、缓存等类库,带来新的开发体验。
对于gene应用,可以遵循类似下面的目录结构,熟悉后可以自定义目录结构.
application
├─Config
├─Controllers
├─Models
├─Services
└─Views
public
└─index.php
入口文件是所有请求的入口, 一般都借助于rewrite规则, 把所有的请求都重定向到这个入口文件
define('APP_ROOT', __dir__ . '/app');
$app = \Gene\Application::getInstance();
$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->set("db", [
'class' => '\Gene\Db\Mysql',
'params' => [[
'dsn' => 'mysql:dbname=gene_web;host=127.0.0.1;port=3306;charset=utf8',
'username' => 'root',
'password' => '',
'options' => [PDO::ATTR_PERSISTENT => true]
]],
'instance' => true
]);
//缓存类注入配置
$config->set("", [
'class' => '\Gene\Cache\Memcached',
'params' => [[
'servers' => [['host' => '127.0.0.1', 'port' => 11211]],
'persistent' => true,
]],
'instance' => 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 '版本:', gene_version();
}
}
在浏览器输入项目地址,比如:http://localhost/
看到 before run after 输出吧!!!
注意:如果没有看到before run after, 那么请查看PHP的错误日志, 找出问题在哪里。