mar-gitacount
@mar-gitacount (mar mar)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Laravel内のconfigファイルを自分で作成したphpファイルに読み込む方法

解決したいこと

通常configファイルを呼び出すには、ブレードファイルやコントローラ内から呼び出す場合、
config("app.name")としますが、これを自作のphpファイルで呼び出す場合はどうしたら良いのでしょうか。
自作のphpファイルをcall_config_app.phpとします。
自動でファイルを実行するのでapp内のCronというディレクトリに配置します。

自作のphpファイルのパス
/プロジェクト名/app/Cron/call_config_app.php
configファイルのパス
/プロジェクト名/config/app.php

自分で試したこと

※コントローラなどで利用するconfigの利用方法→×
・文法
config('app.name')
・エラー文

Fatal error: Uncaught ReflectionException: Class config does not exist in /Applications/MAMP/htdocs/prodoku/vendor/laravel/framework/src/Illuminate/Container/Container.php:873
Stack trace:
#0 /Applications/MAMP/htdocs/prodoku/vendor/laravel/framework/src/Illuminate/Container/Container.php(873): ReflectionClass->__construct('config')
#1 /Applications/MAMP/htdocs/prodoku/vendor/laravel/framework/src/Illuminate/Container/Container.php(754): Illuminate\Container\Container->build('config')
#2 /Applications/MAMP/htdocs/prodoku/vendor/laravel/framework/src/Illuminate/Container/Container.php(692): Illuminate\Container\Container->resolve('config', Array)
#3 /Applications/MAMP/htdocs/prodoku/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(119): Illuminate\Container\Container->make('config', Array)
#4 /Applications/MAMP/htdocs/prodoku/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(275): app('config')
#5 /Applications/MAMP/htdocs/prodoku/app/Cron/call_config.php(13): config('app.name')
#6 /Applica in /Applications/MAMP/htdocs/prodoku/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 8


※ファサードを利用してcall_config_app.phpに記載する方法→×
・文法
use Illuminate\Support\Facades\Config;
$app = Config::get('app.name')

・エラー文



Fatal error: Uncaught RuntimeException: A facade root has not been set. in /Applications/MAMP/htdocs/prodoku/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:258
Stack trace:
#0 /Applications/MAMP/htdocs/prodoku/app/Cron/call_config_app.php(12): Illuminate\Support\Facades\Facade::__callStatic('get', Array)
#1 /Applications/MAMP/htdocs/prodoku/app/Cron/call_config_app.php(11): App\Cron\Roundomjsonchoice::roundomserch()
#2 {main}
  thrown in /Applications/MAMP/htdocs/prodoku/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 258

config内のファイルを呼び出す方法でいい方法があればご教授いただければと幸いです。

0

1Answer

AppServiceProviderのregisterメソッドにこのコードは追加さればできます。

$this->mergeConfigFrom(base_path('app/Cron/call_config_app.php'), 'cron_xxx');

でとこでもconfig('cron_xxx');を通じてコンフィグの読み込みができます。

1Like

Comments

  1. @mar-gitacount

    Questioner

    分かりやすい回答ありがとうございます!!
    試してみます。

Your answer might help someone💌