前提・実現したいこと
- composer.json の autoload.files で指定したphpファイルに定義されている関数をpublicフォルダ内に置いてあるPHPで使用するにはどうすれば良いですか?
- Laravelのディレクトリ構造は以下のような感じです。
/laravel ├ app/ ├ lib/ ├ func.php ├ public/ ├ sample.php ├ composer.json ├ 略
- lib/func.php には以下のような関数があるとします。
php
1if (!function_exists('sample_dump')) { 2 function sample_dump() { 3 var_dump('読み込みました。'); 4 } 5}
- public/sample.php は以下のような感じです。
php
1<?php sample_dump(); ?>
- composer.json は以下のような感じです。
json
1{ 2 "autoload": { 3 "psr-4": { 4 "App\": "app/", 5 "Database\Factories\": "database/factories/", 6 "Database\Seeders\": "database/seeders/" 7 }, 8 "files": [ 9 "lib/func.php" 10 ] 11 }, 12}
- コントローラーとかでなら、lib/func.php で定義した関数を呼び出して実行できるのですが、public配下では
Fatal error: Uncaught Error: Call to undefined function sample_dump()
みたいに怒られてしまいます。
どうすればよいのでしょう。。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。