欢迎使用Gene框架

最新版本:V1.2.2
开源地址:https://github.com/sasou/php-gene 作者:sasou
文档地址:http://php-gene.com/doc

概览

  • 介绍

    Gene 是一个灵活、强大、简单、高效的c扩展框架。通过精心的设计与高效的技术实现,配合数据库、缓存等类库,带来新的开发体验。

  • 特点概述

    1. 简单 :入门快,配置简单;
    2. 灵活 :灵活安全的路由,前置、后置注入等;
    3. 强大 :配置进程级缓存,路由配置简单强大、支持函数回调、支持rest风格等。
    4. 高效 :框架基本不增加性能消耗,配置文件按需加载、运行效率高。
  • 目录结构

    对于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框架文档 - 概述的更多相关文章

  1. gene框架文档 - 路由类 gene_router

    路由类 Gene\Router 介绍 Gene\Router 是gene框架的核心类之一,本框架区别于其他常见框架的最大地方就是独特.强大.简单的路由定义等.路由强大灵活,支持回调.类方法:支持res ...

  2. Mybatis 框架文档 超具体笔记

    1      Mybatis入门 1.1    单独使用jdbc编程问题总结 1.1.1  jdbc程序 Public static void main(String[] args) { Connec ...

  3. selenium浏览器自动化测试框架文档(修正版)

    写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够在项目中持之以恒的实践自动化测试的团队,却依旧不是非常多.有的团队知道怎么做,做的还不够好:有的团队还 ...

  4. Nancy Web框架 文档

    http://liulixiang1988.github.io/nancy-webkuang-jia.html 中文 https://github.com/NancyFx/Nancy/wiki/Doc ...

  5. dubbo 框架文档地址

    http://dubbo.apache.org/books/dubbo-dev-book/ http://dubbo.apache.org/books/dubbo-admin-book/ http:/ ...

  6. Spring框架文档与API(4.3.6版本)

    http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ Table of Contents I ...

  7. SqlSugar ORM框架文档

    http://www.codeisbug.com/Doc/8/1141 SqlSugar入门级教程+实例 (.net core下的)https://www.cnblogs.com/rulasann/p ...

  8. MFC文档、视图和框架

    文档.视图.框架 文档/视图结构是MFC提供的一种不错的设计,它将数据的处理和显示分开来,这样更便于我们对程序的维护和扩展. 文档        文档对象用于管理和维护数据,包括保存数据.取出数据以及 ...

  9. MongoDB文档、集合、数据库简介

    文档 概述 文档是MongoDB的核心概念,是数据的基本单元,非常类似于关系数据库中的行.在MongoDB中,文档表示为键值对的一个有序集.MongoDB使用Javascript shell,文档的表 ...

随机推荐

  1. [原创]自定义控件之AndroidSegmentControlView,仿IOS平台UISegmentControlView,继承自View

    版权声明:本文为博主原创文章,转载请注明出处. 控件简介 UISegmentControl在IOS平台的App中非常常见,其控件如下图所示: 这种控件的主要作用是动态的更改界面的显示内容,一般应用于内 ...

  2. MySQL 服务无法启动。 服务没有报告任何错误。 请键入 NET HELPMSG 3534 以获得更多的帮助。

    网上搜了下,看到有几种解决方法,本人综合了一下,作为记录 第一步 有一部分人成功了 在安装根目录创建data文件夹 第二步 有一部分人成功了 D:\Program Files\mysql\bin> ...

  3. C# Json帮助类

    using System; using System.Collections.Generic; using System.Web; using System.Text; using System.Re ...

  4. Android开发之ProgressDialog在独立Thread线程中更新进度

    简单的需求:在一个工作Thread中更新进度对话框ProgressDialog 遇到的问题: 1,创建需要Context,这个需要传进来 2,Thread中不能创建ProgressDialog,否则需 ...

  5. apache2.4 以上设定gzip压缩

    国内很多文章都是抄来抄去,用不成,用我这个就可以了 编辑 http.conf 文件 去掉 #LoadModule headers_module modules/mod_headers.so 前面的注释 ...

  6. 关于app.config不能即时保存读取的解决方案

    public void saveValue(string Name, string Value) { ConfigurationManager.AppSettings.Set(Name, Value) ...

  7. sqlmap查找SQL注入漏洞入门

    1.安装sqlmap sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞.注意:sqlmap只是用来检测和利用sql注入点的,使用前请先使用扫描工具扫出sql注入点 ...

  8. Probabilistic Graphical Models

    http://innopac.lib.tsinghua.edu.cn/search~S1*chx?/YProbabilistic+Graphical+Models&searchscope=1& ...

  9. 在 Ubuntu 配置 PPTP Server

    本文在 Ubuntu 12.4 或 14 亲测有效. 建立 PPTP 服务器 首先安装 pptp 服务器. # apt-get install pptpd 然后配置 pptpd. # sudo vi ...

  10. oo智慧

    单一职责:学 寝室不能学习,学习要去教室 开闭原则:美 爱美穿衣打扮是扩展 整容是修改,修改有风险,所以对扩展开放,对修改封闭 里氏替换:死 人会死,你是人,你会死 依赖倒置:钱 一切向钱看,钱是抽象 ...