![[RFC] Duration class](/images/og-default.png)
Tim Düsterhus and Derick Rethans have proposed a new Time\Duration class for PHP 8.6 to represent stopwatch-style durations, primarily to improve the developer experience for timeout-related APIs like the new Polling API. The RFC is intentionally minimal, using a seconds + nanoseconds internal representation (similar to Rust's and Java's Duration). Community discussion covers design questions including: why the highest constructor unit is hours, the absence of an ISO 8601 serialization method (deferred to PHP 8.7), omission of floating-point total methods due to precision concerns, namespace choice (Time vs DateTime), and whether to use add/sub methods or a single variadic sum method. The authors also explain why they chose not to adopt the JavaScript Temporal API or the temporal_rs Rust library, citing PHP's semantic closeness to Java and the complexity of integrating Rust into the Zend Engine.
Nguồn: https://externals.io/message/131693. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.

Một chuyên gia công nghệ với 20 năm kinh nghiệm lập luận rằng danh xưng "Full-Stack …
Áp dụng quản trị API trong CI/CD giúp đảm bảo các quy tắc được thực thi nhất quán trên mọi pull request bằng cách loại bỏ sự biến động từ yếu tố con người. Sử dụng công cụ như Spectral, cùng một bộ quy tắc cảnh báo trong IDE sẽ trở thành rào cản bắt buộc khi merge, nhưng cần hạn chế chặn build chỉ cho vi phạm nghiêm trọng và luôn liên kết lỗi với tài liệu chính sách dễ hiểu để biến thất bại thành bài học thay vì rào cản đối đầu.
Một lập trình viên nên đọc bài này để hiểu cách áp dụng chính sách quản lý API một cách tự động, tránh sai sót do con người và đảm bảo quy tắc được áp dụng đồng nhất từ giai đoạn phát triển đến khi deploy, giúp đội ngũ phát triển hoạt động hiệu quả hơn.
Di chuyển từ kiến trúc monolith sang microservices cần áp dụng các pattern cụ thể thay vì viết lại toàn bộ. Bốn chiến lược chính gồm: Strangler Fig (dần dần chuyển lưu lượng qua API gateway), Parallel Run (chạy song song để kiểm chứng), Collaborator (thêm microservices mới mà không sửa core), và Change Data Capture (đồng bộ dữ liệu real-time bằng Debezium/Kafka Connect). Các pattern này hiệu quả nhất khi kết hợp theo trình tự trong quá trình chuyển đổi.
Lập trình viên nên đọc bài này để hiểu cách chuyển đổi từ kiến trúc monolith sang microservices một cách chỉnh xác, ít rủi ro và tối ưu hóa hiệu suất, không phải là một thay đổi đột ngột mà là một quá trình thuần túy, có kế hoạch với các mẫu thiết kế hiệu quả.
Laravel Cloud giờ đây hỗ trợ triển khai ứng dụng Symfony trên cùng hạ tầng PHP được quản lý như Laravel. Nền tảng này tự động phát hiện Symfony qua composer.json, xử lý cấp phát server, SSL, scaling và triển khai không downtime, kèm theo preview environments, flex compute, metrics, logs, cache Valkey, và DATABASE_URL tự động.
Lập trình viên Symfony nên đọc bài này để khám phá cách Laravel Cloud tự động tối ưu hóa deployment, bảo mật và hiệu năng cho ứng dụng Symfony của mình với chi phí thấp và không cần quản lý server thủ công.
Bài viết hướng dẫn triển khai CQRS trong Node.js/TypeScript theo cách đơn giản, không cần cơ sở hạ tầng phức tạp như event sourcing hay message queues. CQRS ở đây chỉ là cách tổ chức code tách biệt logic ghi (commands) và đọc (queries), với ví dụ TypeScript cụ thể về rich write side và lean read side. Tác giả khuyên nên bắt đầu từ phân tách code đơn giản rồi nâng cấp dần khi cần thiết.
Lập trình viên nên đọc bài này để hiểu cách áp dụng CQRS một cách đơn giản và hiệu quả trong Node.js/TypeScript mà không cần phụ thuộc vào kiến trúc phức tạp, từ đó tối ưu hóa quy trình phát triển và bảo trì ứng dụng của mình.
Thay vì nhúng mô hình dữ liệu vào components.schemas của tài liệu OpenAPI, bài viết đề xuất sử dụng các tệp JSON Schema độc lập với $id riêng trong thư mục schema/. Những schema này có thể tái sử dụng cho nhiều hệ thống (validation, generate code, docs, data warehouse) mà không phụ thuộc vào OpenAPI. OpenAPI overlays giúp điều chỉnh schema gốc cho mục đích cụ thể (như dịch description sang tiếng Đức) mà không thay đổi cấu trúc cốt lõi.
Lập trình viên nên đọc bài này để hiểu cách tối ưu hóa tái sử dụng và quản lý các định dạng dữ liệu độc lập từ OpenAPI, giúp giảm bớt sự phụ thuộc vào các tài liệu API cụ thể và mở rộng khả năng tái sử dụng cho nhiều công cụ khác nhau.
Lattice là framework UI điều khiển từ server cho Laravel, cho phép định nghĩa toàn bộ giao diện (trang, biểu mẫu, bảng, hành động) bằng PHP, sau đó serialize và render thành React component thông qua Inertia.js. Các thành phần như trang, biểu mẫu, bảng được định nghĩa bằng các lớp PHP chuyên biệt, hỗ trợ validation, sắp xếp, lọc, phân trang và tác vụ server-driven.
Lattice giúp lập trình viên tiết kiệm thời gian và công sức khi xây dựng UI phức tạp trong Laravel bằng cách chuyển giao logic server-side sang PHP, giảm thiểu sự phụ thuộc vào JavaScript và tối ưu hóa việc tương tác giữa backend và frontend một cách hiệu quả.
Bài viết phân tích các tính năng "ma thuật" của Laravel như facades và service container, giải thích cách chúng hoạt động dựa trên các nguyên tắc PHP tiêu chuẩn thay vì phép thuật thực sự.
Lập trình viên nên đọc bài này để hiểu rõ cách Laravel sử dụng cơ chế container dependency injection và facade để tối ưu hóa mã nguồn, giảm bớt sự phức tạp mà vẫn giữ được tính linh hoạt và dễ bảo trì trong các ứng dụng lớn.