我有一个关于 Laravel 的项目,需要进行重构。我已经阅读了关于服务提供者和依赖注入的内容,并有一些问题。这是一个简短的结构:user模型、event模型、favorite user模型等等。此外,所有模型都有控制器。每个event都有一个creator和client(user关系)。在每类中,我注入适当的服务:User服务,Event服务,Favorite user服务等让我们考虑的例子-我想delete的user:
class UserController extends Controller
{
/**
* @var UserService $userService
*/
protected $userService;
/**
* UserController constructor.
* @param UserService $userService
*/
public function __construct(UserService $userService)
{
$this->userService = $userService;
}
protected function delete(int $id)
{
$user = User::find($id);
if ($user) {
$this->userService->setUser($user);
$this->userService->delete();
}
}
Run Code Online (Sandbox Code Playgroud)
在用户服务中,我正在处理用户删除 - 更新相应的字段。另外,我需要取消所有用户事件并删除喜欢的用户。我的问题是我应该在哪里做?我应该在或 中注入event …
我需要找到离地铁站最近的街区。我使用St_distance本主题中的函数:
link
。如何将st_distance结果转换为公里或米?我有mysql 5.6,所以我不能使用st_distance_sphere或其他新功能。
有一些命令:
protected function schedule(Schedule $schedule)
{
$schedule->command('Events:complete')->everyFiveMinutes();
$schedule->command('Payments:authorize')->everyFiveMinutes();
$schedule->command('Requests:processing')->hourly();
}
Run Code Online (Sandbox Code Playgroud)
他们中的每一个都应该按照自己的周期进行。但我想再添加一个条件 - 仅在 08:00 到 20:00 之间运行该命令。Laravel 可以这样做,还是应该通过纯 php 来检查时间?
Laravel 5.4
我正在生成docx并从服务器下载.
private static function downloadFile($fileDir)
{
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($fileDir));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($fileDir));
readfile($fileDir);
}
Run Code Online (Sandbox Code Playgroud)
这是保存功能.如果我从服务器打开临时目录中的文件,它的工作原理.但下载后,我有错误"文件已损坏".我尝试恢复文件,然后恢复所有确定.错误在哪里?