【发布时间】:2021-07-07 10:14:13
【问题描述】:
我在代码中使用了 carbon 类,但我得到了这个错误
无法声明类 Carbon\Carbon,因为该名称已在使用中
这是我的代码
AttendanceController.php
use DateTime;
use App\User;
use App\Latetime;
use App\Attendance;
use Illuminate\Support\Facades\Hash;
use App\Http\Requests\AttendanceEmp;
use App\Carbon\Carbon;
class AttendanceController extends Controller
{
public function assign(AttendanceEmp $request)
{
$request->validated();
if ($employee = User::whereEmail(request('email'))->first()){
$mytime = Carbon::now()->format('H:i:m');
if (Hash::check($request->pin_code, $employee->pin_code)) {
if (!Attendance::whereAttendance_date(date("Y-m-d"))->whereUser_id($employee->id)->first()){
$attendance = new Attendance;
$attendance->user_id = $employee->id;
$attendance->attendance_time = $mytime;
$attendance->attendance_date = date("Y-m-d");
if (!($employee->schedules->first()->time_in >= $attendance->attendance_time)){
$attendance->status = 0;
AttendanceController::lateTime($employee);
};
$attendance->save();
}else{
return redirect()->route('attendance.login')->with('error', 'you assigned your attendance before');
}
} else {
return redirect()->route('attendance.login')->with('error', 'Failed to assign the attendance');
}
}
Carbon.php
namespace Carbon;
//use Carbon\Traits\Date;
use DateTime;
use DateTimeInterface;
use DateTimeZone;
class Carbon extends DateTime implements CarbonInterface
{ 使用日期;
/**
* Returns true if the current class/instance is mutable.
*
* @return bool
*/
public static function isMutable()
{
return true;
}
}
这是错误的屏幕截图 error screenshot
【问题讨论】:
-
您是否创建了自定义类 carbon in use App\Carbon\Carbon;?如果不是,那么命名空间应该使用 Carbon\Carbon;
-
首先你为什么要创建一个实现
CarbonInterface的Carbon类?很可能有更好的方法来实现您想要的:使用宏/mixins 是具有不同名称的不同类,而不是实现CarbonInterface -
错误信息说你已经在之前的某个地方声明了一个名为
Carbon的类。你向我们展示了第 500 行,之前发生了什么?有没有class Carbon的地方?你可能使用use some\other\namespace\Carbon吗?那也行不通。
标签: php mysql laravel php-carbon