Nhận thời gian máy chủ trong Laravel

Để thêm thông tin tiêu đề thời gian máy chủ, bạn cần thêm phần mềm trung gian

ServerTiming::addMetric('User: '.$user->id);
1 vào Hạt nhân HTTP của mình. Để có kết quả chính xác nhất, hãy đặt phần mềm trung gian làm phần đầu tiên tải trong ngăn xếp phần mềm trung gian

Theo mặc định, phần mềm trung gian chỉ đo ba thứ để giữ cho phần mềm nhẹ nhất có thể

  • Bootstrap (thời gian trước khi phần mềm trung gian được gọi)
  • Thời gian áp dụng (thời gian để nhận được phản hồi trong ứng dụng)
  • Tổng cộng (tổng thời gian trước khi gửi phản hồi)

Khi gói được cài đặt thành công, bạn có thể xem thông tin về thời gian của mình trong công cụ dành cho nhà phát triển của trình duyệt. Đây là một ví dụ từ Chrome

Nhận thời gian máy chủ trong Laravel

Thêm phép đo bổ sung

Nếu bạn muốn cung cấp các phép đo bổ sung, bạn có thể sử dụng phương pháp bắt đầu và dừng. Nếu bạn không dừng một sự kiện được đo lường một cách rõ ràng, thì sự kiện đó sẽ tự động bị dừng sau khi phần mềm trung gian nhận được phản hồi của bạn. Điều này có thể hữu ích nếu bạn muốn đo thời gian các chế độ xem Blade của bạn cần để biên dịch

ServerTiming::start('Running expensive task');

// do something

ServerTiming::stop('Running expensive task');

Nếu bạn đã biết chính xác thời gian mà bạn muốn đặt làm thời gian đã đo, bạn có thể sử dụng phương pháp

ServerTiming::addMetric('User: '.$user->id);
2. Thời lượng phải được đặt là mili giây

ServerTiming::setDuration('Running expensive task', 1200);

Ngoài việc cung cấp mili giây làm thời lượng, bạn cũng có thể chuyển một giá trị có thể gọi được sẽ được đo thay thế

ServerTiming::setDuration('Running expensive task', function() {
    sleep(5);
});

Bổ sung thông tin văn bản

Bạn cũng có thể sử dụng phần mềm trung gian Server-Timing để chỉ đặt thông tin văn bản mà không cung cấp thời lượng

Xuất bản tập tin cấu hình

Tệp cấu hình có thể được xuất bản bằng cách sử dụng.

ServerTiming::addMetric('User: '.$user->id);
3

Bạn có thể tắt phần mềm trung gian bằng cách thay đổi cấu hình

ServerTiming::addMetric('User: '.$user->id);
4 thành false

ServerTiming::addMetric('User: '.$user->id);

thử nghiệm

composer test

Nhật ký thay đổi

Vui lòng xem CHANGELOG để biết thêm thông tin về những thay đổi gần đây

Đóng góp

Vui lòng xem ĐÓNG GÓP để biết chi tiết

Bảo vệ

Nếu bạn phát hiện ra bất kỳ vấn đề nào liên quan đến bảo mật, vui lòng gửi email tới marcel@beyondco. de thay vì sử dụng trình theo dõi vấn đề

Múi giờ Laravel là một gói của James Mills đặt múi giờ cho người dùng trong ứng dụng của bạn và sau đó hiển thị ngày/giờ cho họ theo múi giờ địa phương của họ

Nó hoạt động bằng cách lắng nghe sự kiện đăng nhập của người dùng và đặt múi giờ trong cơ sở dữ liệu. Nó sử dụng Laravel GeoIP để tra cứu người dùng bằng địa chỉ IP

Bạn có thể hiển thị múi giờ đã bản địa hóa cho người dùng bằng cách sử dụng mặt tiền được cung cấp

Timezone::convertToLocal($post->created_at)

Bạn cũng có thể sử dụng chỉ thị lưỡi được cung cấp

@displayDate($post->created_at)

 

@displayDate($post->created_at, 'Y-m-d g:i', true)

Bạn cũng có thể chuyển đổi ngày đã bản địa hóa thành UTC

Timezone::convertFromLocal($request->get('publish_at'));

Bạn có thể tìm hiểu thêm về gói này, nhận hướng dẫn cài đặt đầy đủ và xem mã nguồn trên GitHub tại jamesmills/laravel-timezone

Làm việc với ngày và giờ có thể khá khó khăn. May mắn thay, chúng tôi có gói


use Carbon\Carbon;

$currentTime = Carbon::now();
0 giúp việc này trở nên cực kỳ dễ dàng

Carbon là một tiện ích mở rộng API PHP đơn giản cho DateTime. Bạn có thể tìm thêm thông tin về Carbon trên trang web chính thức của họ tại đây

Laravel cũng cung cấp rất nhiều phương thức hữu ích mà bạn có thể sử dụng xuyên suốt ứng dụng của mình

Trong hướng dẫn này, bạn sẽ học cách lấy ngày và giờ hiện tại trong Laravel

điều kiện tiên quyết

Trước khi bắt đầu, bạn cần cài đặt và chạy ứng dụng Laravel

Tôi sẽ sử dụng DigitalOcean Ubuntu Droplet cho bản demo này. Nếu muốn, bạn có thể sử dụng mã liên kết của tôi để nhận khoản tín dụng DigitalOcean trị giá 100 đô la miễn phí để khởi động máy chủ của riêng bạn

Nếu bạn chưa có, bạn có thể làm theo các bước từ hướng dẫn này về cách thực hiện điều đó

  • Cách cài đặt Laravel trên DigitalOcean với 1 cú nhấp chuột

Hoặc bạn có thể sử dụng tập lệnh tuyệt vời này để thực hiện cài đặt

  • larabuồm

Sử dụng Carbon để lấy ngày giờ hiện tại

Tính đến thời điểm hiện tại,


use Carbon\Carbon;

$currentTime = Carbon::now();
0 được bao gồm sẵn trong hộp với tất cả các ứng dụng Laravel mới

🤩 Nhà tài trợ tuyệt vời của chúng tôi 👇

Nhận thời gian máy chủ trong Laravel
Xem trang web

DigitalOcean cung cấp giải pháp lưu trữ đám mây đơn giản và đáng tin cậy cho phép các nhà phát triển nhanh chóng thiết lập và chạy trang web hoặc ứng dụng của họ

Nhận thời gian máy chủ trong Laravel
Xem trang web

Bảng công việc chính thức của Laravel. Tìm các nhà phát triển Laravel giỏi nhất và tài năng nhất bằng cách đăng công việc của bạn trên bảng việc làm chính thức của Laravel

Nhận thời gian máy chủ trong Laravel
Xem trang web

Tìm hiểu cách viết mã chuỗi khối của riêng bạn và tạo tiền điện tử của riêng bạn với nền tảng đào tạo trực tuyến thú vị và tương tác CoinCap. Tìm hiểu thêm về chương trình tài trợ DevDojo và xem biểu trưng của bạn tại đây để đưa thương hiệu của bạn đến với hàng nghìn nhà phát triển.

Ví dụ, để bao gồm


use Carbon\Carbon;

$currentTime = Carbon::now();
0 cho một bộ điều khiển cụ thể, là bao gồm dòng này

ServerTiming::setDuration('Running expensive task', 1200);
1

Sau đó, bạn sẽ có thể sử dụng tất cả các phương pháp hữu ích mà


use Carbon\Carbon;

$currentTime = Carbon::now();
0 cung cấp

Phương pháp chính mà chúng tôi sẽ đề cập là phương pháp


use Carbon\Carbon;

$currentTime = Carbon::now();
4 và để sử dụng phương pháp này, bạn có thể thực hiện như sau

________số 8

Bây giờ, nếu bạn sử dụng


use Carbon\Carbon;

$currentTime = Carbon::now();
5, bạn sẽ nhận được kết quả sau

ServerTiming::setDuration('Running expensive task', 1200);
6

Để chuyển định dạng này sang định dạng dễ đọc hơn, bạn có thể sử dụng phương pháp


use Carbon\Carbon;

$currentTime = Carbon::now();
6

ServerTiming::setDuration('Running expensive task', 1200);
8

đầu ra

ServerTiming::setDuration('Running expensive task', 1200);
9

Hoặc cách khác, bạn có thể chuyển đổi nó thành một mảng

ServerTiming::setDuration('Running expensive task', function() {
    sleep(5);
});
0

Nếu bạn đã sử dụng


use Carbon\Carbon;

$currentTime = Carbon::now();
7, bạn sẽ nhận được đầu ra sau

ServerTiming::setDuration('Running expensive task', function() {
    sleep(5);
});
2

Trong một số trường hợp, bạn có thể muốn xuất ngày hiện tại trực tiếp trong mẫu Blade của mình. Hãy xem làm thế nào để dễ dàng làm điều đó

Sử dụng hàm trợ giúp

Laravel cung cấp một hàm trợ giúp hay có tên là


use Carbon\Carbon;

$currentTime = Carbon::now();
4, tạo ra một phiên bản

use Carbon\Carbon;

$currentTime = Carbon::now();
0 mới

Bạn có thể gọi hàm trợ giúp


use Carbon\Carbon;

$currentTime = Carbon::now();
4 trực tiếp trong chế độ xem Blade của mình như sau

ServerTiming::setDuration('Running expensive task', function() {
    sleep(5);
});
7

Đầu ra sẽ lại như sau

ServerTiming::setDuration('Running expensive task', function() {
    sleep(5);
});
8

Nếu bạn muốn lấy thời gian cho một múi giờ cụ thể, bạn có thể chuyển múi giờ đó làm tham số cho hàm trợ giúp

ServerTiming::setDuration('Running expensive task', 1200);
62

ServerTiming::addMetric('User: '.$user->id);
0

Phần kết luận

Nếu bạn mới bắt đầu với Laravel, hãy nhớ xem khóa học giới thiệu này tại đây

Bắt đầu với Laravel

Nếu bạn muốn tìm hiểu thêm về PHP nói chung, hãy đảm bảo xem khóa học PHP cơ bản miễn phí này tại đây

Làm cách nào để có được thời gian của máy chủ trong Laravel?

Làm cách nào để lấy múi giờ của máy chủ trong laravel? .
Thay đổi múi giờ. Có hai cách chính để thay đổi múi giờ
lựa chọn 1. Từ thư mục gốc dự án của bạn, hãy mở thư mục cấu hình. chỉnh sửa ứng dụng
Lựa chọn 2. Thực hiện một sửa đổi trong. env để chỉ định múi giờ như sau. APP_TIMEZONE='Châu Á/Singapore'

Làm cách nào để lấy ngày giờ hệ thống trong Laravel?

Làm cách nào để lấy thời gian hiện tại của Laravel? .
$dt = Ngày giờ mới($posts->updated_at);
$tz = new DateTimeZone('Châu Á/Kolkata');
$dt->setTimezone($tz);
echo $dt->format('Y-m-d H. i. S');

Thời gian () trong Laravel là gì?

Hàm time() trả về thời gian hiện tại theo số giây kể từ Unix Epoch (1 tháng 1 năm 1970 00. 00. 00 giờ GMT).

Làm cách nào để có được thời gian của khách hàng trong Laravel?

Làm cách nào để lấy múi giờ của khách hàng trong laravel? .
Thêm cột "múi giờ" trong cơ sở dữ liệu bảng người dùng
Lưu trữ múi giờ trong quá trình Đăng ký
Thêm múi giờ làm trường ẩn trong biểu mẫu đăng ký
Nhận múi giờ từ yêu cầu đăng khi đăng ký