我这边有一个多语言数组php文件,这边就是写在function
这个里面;我每次调用多语言内容方法我都会去 include_once 下这个文件。我想问下这个会不会只是加载一次;后续就不会继续加载了吧?
代码写在了 function.php
这个文件下
function getLangArray(): array
{
$lang = request()->header('lang');
$path = base_path() . "/support/lang/$lang.php";
// 判断文件是否存在
if (!file_exists($path)) {
return include_once base_path() . "/support/lang/" . config('constants.lang') . ".php";
}
return include_once $path;
}
会不会每次请求进来如果调用这个方法都是重新加载一次啊??
static 就是得自己注意内存
如果我想把文件里面数组常驻呢
那数组定义成static呀
定义成全局数组???不用每次都是要去加载多语言文件吧
一个可爱的问题。
不知道你认不认为这是一个常驻的程序 😊
参考代码:https://www.workerman.net/q/11036#answer_19537
业务初始化写入数据:https://www.workerman.net/doc/webman/others/bootstrap.html
哥哥,我目前这边是要加载一个语言数组文件在内存中,我就是在 server-user/config/bootstrap.php 这个文件里,直接挂载全局数组中。
$zh_CN = require 'support/lang/zh-CN.php';
$GLOBALS['zh-CN'] = $zh_CN;
放配置文件里面,会在启动的时候加载到内存里面
你直接在composer 的 require 改就行,不用这么搞。
哥哥这个怎么搞啊;你直接在composer 的 require 改就行,不用这么搞。没用这个这样加载php文件。
多谢哥哥。我知道了。还是webman社区强大啊。