環境:Windows10,XAMPP,HeidiSQL
laravelでCommandを作っております。
CSVを読み込んで出力や計算をするといったことです。
app/Console/CommandsにOutput.phpとOutput2.phpを
作成しております。コマンドプロンプトでOutput.phpを実行
すると問題なくできるのですがOutput2.phpを実行すると
エラーになってしまいます。
Output2.phpのpublic function handle()内容をOutput.phpに
コピーして実行すると出来ます。
Commandは複数ファイルを作ってはいけないのでしょうか?
またそういった場合どのようにすれば宜しいでしょうか?
以上宜しくお願い致します。
【Output.php】
<?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Facades\Storage; use File; class Output extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'command:output'; /** * The console command description. * * @var string */ protected $description = 'テスト1'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return int */ public function handle() { $filename = storage_path('app/public/study01.csv'); $fp = fopen($filename, 'r'); while(($line = fgets($fp)) !== false){ echo $line; echo "--------------\n"; } fclose($fp); return 0; } }
【Output2.php】
<?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Facades\Storage; use File; class Output2 extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'command:output2'; /** * The console command description. * * @var string */ protected $description = 'テスト2'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return int */ public function handle() { $filename = storage_path('app/public/study02.csv'); $fp = fopen($filename, 'r'); while(($line = fgets($fp)) !== false){ $sum = explode("," , $line); $num1[] = $sum[1]; $num2[] = $sum[2]; } print '入金合計:' .array_sum($num1); print '出金合計:' .array_sum($num2); fclose($fp); return 0; } }
なにを見てこれを作ったのでしょうか。
ドキュメントを見たのならこうはならないはずですが。
ドキュメントを読んでください。
それに4年前の記事は何の参考にもできません。
https://readouble.com/laravel/7.x/ja/artisan.html
上記を参照したのですが、自身の理解が及んでないと思いますが
複数に関してはわかりませんでした。。。
直接的な表現になって申し訳ないですが、
読んで理解できない=まだそれに手を出すべきではない と言えます。
基本を1つ1つおさえていけば理解できるようになるはずです。コピペツギハギになってしまってないかは確認してください。
エラーになるのならまずはそのエラーをそのままコピペしてください。
それが一番の手がかりになるところなのです。
回答1件
あなたの回答
tips
プレビュー