Learn the intricacies of setTestNow() and hasTestNow() methods with Carbon

Vừa tìm được một số đoạn code hay chia sẻ với mọi người. Đó là cách dùng Carbon trong Laravel. Thông thường chúng ta ưa dùng Carbon để check dữ liệu theo ngày tháng năm. Trường hợp bạn muốn check dữ liệu ở một ngày khác thì có thể dùng setTestNow() để sử dụng nhé. Nó rất là bổ ích khi làm việc

Bạn nào muốn test thì có thể vào đường dẫn : https://laravelplayground.com/  giúp ta có thể chạy test 

use Carbon\Carbon;
function checkBirtday($birtday){
  return Carbon::now()->isSameDay($birtday)?"Happy Birtday":"no birtday today";
}
Route::get('/', function (){
  echo $checkbirtday = checkBirtday(Carbon::create(2023,11,24)).PHP_EOL;
  //Chúng ta có thể đặt một thời gian cụ thể để test
  Carbon::setTestNow(Carbon::create(2023,11,21));
  //lấy thời gian hiện tại ra => 2023-11-21 00:00:00
  $dateCurrent =  Carbon::now();
  //Bạn cũng có thể đặt thời gian kiểu này
  Carbon::setTestNow(Carbon::parse('first day of March 2015'));
 //echo "2015-03-01 00:00:00"
  $dateCurrent_2 =  Carbon::now();
  //rest lại thời gian ban đầu 
  // Carbon::setTestNow(null);
  //kiểm tra có phải là trong môi trường test hay không, nó sẽ kiểm tra thời gian để so sanh
  if(Carbon::hasTestNow()){
    return view('welcome', [
    'title' => $dateCurrent_2
  ]);
  }
  return view('welcome', [
      'title' => $checkbirtday
    ]);
});

 

Bài Viết Liên Quan

Messsage

Nếu bạn thích chia sẻ của tôi, đừng quên nhấn nút !ĐĂNG KÝ