💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
###*路由分组* * * * * * ####*路由组原理* * * * * * + 根据url路径数组,按值匹配 + addLanguage和addTheme和addGroup属于分组类型函数 > 如果在取值范围会移除url路径数组第一个值 > 非默认值会追加 取值/ 至 当前url末尾 > 会定义对应常量 > 语言主题主要是获取单个信息,可有可无 > group可以理解为按文件夹进行分组(命名空间) + 如果都未匹配到则运行Route::error会调用错误处理函数 + 说白了,就是根据url路径数组,各种匹配规则 ####*路由分组方式* * * * * * + **按照文件夹(模块)分组** + **按照命名空间分组** ~~~ /** * 增加一个url分组信息 * 将获取url参数数组中第一个参数 * 如果在且允许,则取值并从移除 * 否则取默认值 * * @param array $group 分组信息 * 关联数组; * $group = [ * 'name' =>string(组名)'module', * 'allowed' =>string(路由规则) || array(允许值数组) * 'default' =>string('组默认值') * ['namespace' =>true(与组值相同) || string('固定值') ] * (可选,将在当前namespace基础上添加一个命名空间,基础值为app); * ]; * * @return void */ Route::addGroup(array $group); /** * 匹配一个分组,匹配成功则调用对应函数 * * @param string $group 组名 * @param string $value 组值 * @param \Closure $func 闭包函数 * @param array $args 参数 * * @return void */ Route::group(string $group, string $value, \Closure $func, array $args = []) : void; /** * @example * 添加一个module组 * 组名module * 允许home或back * 默认值为home * 命名空间等于组值 */ Route::addGroup([ 'name' =>'module', 'allowed' =>['home','back'], 'default' =>'home', 'namespace' =>true,//app\\...\\home || app\\...\\back ]); /** * @example * 添加一个controller组 * 组名controller * 允许index或user * 默认值为index * 命名空间为controller. */ Route::addGroup([ 'name' =>'controller', 'allowed' =>['index','user'], 'default' =>'index', 'namespace' =>'controller'//app\\...\\controler ]); /** * @example * 第一次匹配module分组,值为home * 第二次匹配controller分组,值为index */ Route::group('module','home', function () { Route::group('controller','index', function () { Route::get('index', function () { //module为home,controller为index,此时参数index ..code; }); }); }); ~~~