应用类 Gene\Application

应用类 Gene\Application

  • 介绍

    Gene\Application 是gene框架的启动方法类,使用该类下的方法初始化一个应用、加载全局配置、路由定义、设置类加载器、启动应用等。

  • 实例化

    对于gene应用,初始化一个项目时可以通过设置一个项目名称来标志一个应用. 在其他框架里面通常根据目录区别不同的项目,在gene框架里面放弃了这种方式,通过设置自定义的项目标志来区别不同的应用,如此:同一根目录下的入口文件理论上支持任意的项目了。

    参数:

    参数 类型 是否必填 注释
    appName String 项目标志:默认当前目录

    返回值: Gene\Application实例化对象本身。

    实例:

    
      //实例化一个demo应用
      $app = new Gene\Application('demo');
  • load

    加载指定配置文件,由于配置文件加载后保存到进程内存中了,不需要每次请求都加载。因此,系统默认10秒后检测配置文件是否修改,如果修改了,就会重新加载配置文件到进程内存。

    参数:

    参数 类型 是否必填 注释
    fileName String 配置文件名称
    filePath String 配置文件目录:默认autoload方法指定目录
    time int 加载检测时间:默认10秒

    返回值: Gene\Application实例化对象本身。

    实例:

      //实例化一个demo应用
      $app = new Gene\Application('demo');
      //加载路由文件
      $app->load("router.ini.php") 
      //加载配置文件
          ->load("config.ini.php");
  • autoload

    设置类自动加载,可以自定义加载函数。

    参数:

    参数 类型 是否必填 注释
    path String app项目路径
    loadCallBack String 自定义加载回调函数:默认框架load方法处理

    返回值: gene_application实例化对象本身。

    实例:

    
      define('APP_ROOT', __dir__ . '/app');
      //实例化一个demo应用
      $app = new Gene\Application('demo');
      //设置项目路径
      $app->autoload(APP_ROOT);
  • setMode

    设置运行异常模式

    参数:

    参数 类型 是否必填 注释
    error int 是否将error转为exception:默认0不启用,1 为启用
    exception int 是否获取exception后处理:默认0不启用,1 为启用

    返回值: Gene\Application实例化对象本身。

    实例:

      $app = new Gene\Application();
      $app
          ->load("router.ini.php")
          ->load("config.ini.php")
          ->setMode(1,1)
  • setView

    设置模版自定义路径、模版后缀

    参数:

    参数 类型 是否必填 注释
    path int 路径:默认app/Views
    ext int 自定义后缀:默认.php

    返回值: Gene\Application实例化对象本身。

    实例:

      $app = new Gene\Application();
      $app
          ->load("router.ini.php")
          ->load("config.ini.php")
          ->setView(null, '.htm')
  • error

    设置是否处理异常

    参数:

    参数 类型 是否必填 注释
    error int 是否将error转为exception:默认0为不启用,1为启用
    errorCallBack String 错误处理回调:默认框架处理

    返回值: Gene\Application实例化对象本身。

    实例:

      $app = new Gene\Application();
      $app
          ->load("router.ini.php")
          ->load("config.ini.php")
          ->error(1)
  • exception

    设置是否处理异常

    参数:

    参数 类型 是否必填 注释
    exception int 是否获取exception后处理:默认0为不启用,1为启用
    exCallBack String 异常处理回调:默认框架处理

    返回值: Gene\Application实例化对象本身。

    实例:

    
      $app = new Gene\Application();
      $app
          ->load("router.ini.php")
          ->load("config.ini.php")
          ->exception(1)
  • run

    该方法执行后会运行整个应用。默认web应用可以不传参数,如果是cli方式下访问或者执行任务,则需要传递参数。

    参数:

    参数 类型 是否必填 注释
    method String 请求方式(默认自动取访问方式:get、post等)
    path String 请求路径(默认自动取访问路径:比如/admin/login)

    返回值: Gene\Application实例化对象本身。

    实例1:web应用 ###

      //实例化一个demo应用
      $app = new Gene\Application('demo');
      //加载路由文件
      $app->load("router.ini.php") 
      //加载配置文件
          ->load("config.ini.php");
          ->run();

    实例2:cli应用

      //实例化一个demo应用
      $app = new Gene\Application('demo');
      //加载路由文件
      $app->load("router.ini.php") 
      //加载配置文件
          ->load("config.ini.php");
          ->run('get', '/admin/task')
  • getMethod

    获取当前访问的方式,可选值为get,post,put,patch,delete,trace,connect,options,head等。

    参数:

    返回值: String。

    实例:

    
      //获取访问方式
      $method = Gene\Application::getMethod();
  • getPath

    获取当前访问的Path,比如:/search/test/1.html。

    参数:

    返回值: String。

    实例:

    
      //获取访问路径
      $path = Gene\Application::getPath();
  • getRouterUri

    获取当前访问的路由定义,比如path:/search/test/1.html,其路由定义为:/search/:name/:p.html。

    参数:

    返回值: String。

    实例:

    
      //获取路由定义
      $path = Gene\Application::getRouterUri();
  • getModule

    获取当前访问的路由定义的模块,比如path:/admin/user/add/1.html,其路由定义为:/:m/user/add/:id.html。

    参数:

    返回值: String。

    实例:

    
      //获取路由定义
      $path = Gene\Application::getModule();
  • getController

    获取当前访问的路由定义的控制器,比如path:/user/add/1.html,其路由定义为:/:c/add/:id.html。

    参数:

    返回值: String。

    实例:

    
      //获取路由定义
      $path = Gene\Application::getController();
  • getAction

    获取当前访问的路由定义的操作,比如path:/user/add/1.html,其路由定义为:/user/:a/:id.html。

    参数:

    返回值: String。

    实例:

    
      //获取路由定义
      $path = Gene\Application::getAction();
  • setEnvironment

    获取运行环境(定义在php.ini)。

    参数:

    参数 类型 是否必填 注释
    type int 设置运行环境变量值:可选 0、1

    返回值: int。

    实例:

    
      //获取配置
      echo Gene\Application::setEnvironment(1);
  • getEnvironment

    获取运行环境(定义在php.ini)。

    参数:

    返回值: int。

    实例:

    
      //获取配置
      echo Gene\Application::getEnvironment();
  • config

    获取配置变量。在配置文件里面写入的配置变量,可以通过这个方法获取。

    参数:

    参数 类型 是否必填 注释
    keyName String 变量名称

    返回值: String or int or boolean or array。

    实例:

    
      //获取配置
      $config = (array) Gene\Application::config($name);
  • params

    取当前路由参数。
    比喻路由定义:/search/:name/:p.html,那么urlParams返回数组为:array('name'=>'','p'=>'');

    参数:

    参数 类型 是否必填 注释
    keyName String 变量名称:不传key返回整个数组

    返回值: mixed|array。

    实例:

    
      //获取url路由变量
      $params = Gene\Application::params();