Herkese merhaba,
Birden fazla yerde kullandığım bir kod bloğum vardı. Bunu bir Service class'ı içerisine almaya karar verdim.
Ancak bu Service 'i hem Controller, hem de console command kullanacak.
İnternetten biraz araştırmalar yaparak, şu şekilde bir kurgu yaptım;
<?php
namespace App\Services;
class SomeService
{
public function someMethod($variable)
{
$out = new \Symfony\Component\Console\Output\ConsoleOutput();
try {
// some code...
if (!app()->runningInConsole()) {
return back()->with('message', 'Some success message');
} else {
$out->writeln("Some success message for CLI!");
}
} catch (\Exception $e) {
if (!app()->runningInConsole()){
return back()->with('error', 'Error:'.$e->getMessage());
} else {
Log::error('Error:'.$e->getMessage());
$out->writeln("Some errormessage for CLI!");
}
}
}
}
Şimdi kodlar çalışıyor. Eğer panelden bir post isteği ile bu servisi tetiklersem, return back() oluyor. Command'ı tetiklersem de istediğim çıktıyı veriyor. Hata olursa da istediğim gibi Log basıyor.
Ancak, Php Storm return belirtmediğim şeklinde uyarı gösteriyor. Bunu aşmak için ne yapmalıyım?