Codeigniter4でどこからでも利用できる変数を作る
表題通り。Codeigniter3では、「get_instance()->load->vars($key, $data);」を利用することで、変数をどこからでも設定でき利用することができた。
これをCodeigniter4でも利用したい。というわけで色々調べる。get_instanceは利用できないため、Config/Appに変数を設定してそれを利用しようと思う。
参考。
Codeigniter3で使っていたアレをCodeigniter4で使う - Qiita
感謝。
Config/Appに次を追加。
public static $vars = [];
次にヘルパーを作る。セーブとロードの機能を追加する。
function set_vars($key, $data = null){
if(is_int($key)) return false;
if(is_string($key)){
Config\App::$vars[$key] = $data;
}elseif(is_array($key)){
foreach($key as $k => $v) set_vars($k, $v);
}
}
function get_var($key){
return Config\App::$vars[$key] ?? false;
}
set_varsで変数を追加し、get_varで呼び出す。keyに変数名、dataに変数だが、keyに配列が入るとそちらを優先して変数に組み込む。
これでどこからでも呼び出せる変数をつくることができた。
他に何か良い方法があったら教えてください。
Author And Source
この問題について(Codeigniter4でどこからでも利用できる変数を作る), 我々は、より多くの情報をここで見つけました https://qiita.com/aoringo/items/52825362bfd10727d9ce著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .