应用类 Gene\Application
介绍
Gene\Application 是gene框架的启动方法类,使用该类下的方法初始化一个应用、加载全局配置、路由定义、设置类加载器、启动应用等。
实例化
对于gene应用,初始化一个项目时需要设置一个项目名称. 在其他框架里面通常根据目录区别不同的项目,在gene框架里面放弃了这种方式,通过设置自定义的项目标志来区别不同的应用,如此:同一根目录下的入口文件理论上支持任意的项目了。
参数:
参数类型是否必填注释
appNameString是项目标志
返回值: Gene\Application实例化对象本身。
实例:
//实例化一个demo应用
$app = new Gene\Application('demo');
load
加载指定配置文件,由于配置文件加载后保存到进程内存中了,不需要每次请求都加载。因此,系统默认10秒后检测配置文件是否修改,如果修改了,就会重新加载配置文件到进程内存。
参数:
参数类型是否必填注释
fileNameString是配置文件名称timeint否加载检测时间(默认10秒)
返回值: Gene\Application实例化对象本身。
实例:
//实例化一个demo应用
$app = new Gene\Application('demo');
//加载路由文件
$app->load("router.ini.php")
//加载配置文件
->load("config.ini.php");
run
该方法执行后会运行整个应用。默认web应用可以不传参数,如果是cli方式下访问或者执行任务,则需要传递参数。
参数:
参数类型是否必填注释
methodString否请求方式(默认自动取访问方式:get、post等)pathString否请求路径(默认自动取访问路径:比如/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')
autoload
设置类自动加载,可以自定义加载函数。
参数:
参数类型是否必填注释
pathString是app项目路径loadFNString否自定义函数
返回值: gene_application实例化对象本身。
实例:
define('APP_ROOT', __dir__ . '/app/');
//实例化一个demo应用
$app = new Gene\Application('demo');
//设置项目路径
$app->autoload(APP_ROOT);
urlParams
取当前路由参数。比喻路由定义:/search/:name/:p.html,那么urlParams返回数组为:array('name'=>'','p'=>'');
参数:
无
返回值: array。
实例:
//获取url路由变量
$params = Gene\Application::urlParams();
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();
config
获取配置变量。在配置文件里面写入的配置变量,可以通过这个方法获取。
参数:
参数类型是否必填注释
keyNameString是变量名称
返回值: String or int or boolean or array。
实例:
//获取配置
$config = (array) Gene\Application::config($name);
转载于:https://www.cnblogs.com/sasou/p/6207412.html