Quy ước khác (múi giờ, IP, thư viện ảnh)
Tổng hợp các quy ước lõi nên biết khi phát triển cho bên thứ ba.
Xử lý múi giờ
Zittme quản lý múi giờ theo hai loại.
| Loại | Ý nghĩa | Cài đặt |
|---|---|---|
| Múi giờ nội bộ | Múi giờ cố định dùng khi lưu ngày vào DB. Được xác định lúc cài đặt và không thể thay đổi sau đó | locale.internal_timezone |
| Múi giờ hiển thị | Múi giờ dùng khi hiển thị ngày trên màn hình. Quản trị viên có thể thay đổi | locale.default_timezone |
Ngày chủ yếu được lưu dưới dạng chuỗi YYYYMMDDHHIISS.
Quy tắc khi phát triển:
- Lưu theo múi giờ nội bộ:
date('YmdHis'),getInternalDateTime() - Hiển thị theo múi giờ hiển thị:
zdate($value, 'Y-m-d'),getDisplayDateTime() - Nếu cắt giá trị đã lưu bằng
substrrồi hiển thị nguyên như vậy, kết quả sẽ lệch trên website có múi giờ khác. Luôn dùngzdate()để hiển thị. - Giờ mùa hè được lõi tự động tính. Đừng tự xử lý.
Nhờ cấu trúc này, ngày đã lưu không bị lệch ngay cả khi chuyển máy chủ.
Địa chỉ IP và cách ghi dải
Ở những nơi nhận IP như danh sách chặn, danh sách cho phép, hỗ trợ các cách ghi sau.
| Cách ghi | Ví dụ |
|---|---|
| IPv4 đơn | 192.168.122.96 |
| Ký tự đại diện | 192.168.122.*, 192.168.*.* |
| Khoảng | 192.168.122.0-192.168.122.255 |
| CIDR | 192.168.216.0/24 |
| IPv6 | 2001:2300::ffff:0, ::1 |
| IPv6 CIDR | 2001:2300::/64 |
Khi kiểm tra và xác định trong mã, hãy dùng bộ lọc của lõi. IPv6 có nhiều cách ghi nên tự phân tích rất nguy hiểm.
use Zittme\Framework\Filters\IpFilter;
IpFilter::validateRange($range); // 대역 표기가 올바른가
IpFilter::inRange($ipaddress, $range); // 이 IP가 대역에 드는가PhotoSwipe (thư viện ảnh)
Chức năng bấm vào ảnh trong nội dung để xem phóng to dạng thư viện được tích hợp sẵn dưới dạng add-on. Skin không cần tích hợp riêng, chỉ cần tuân theo quy tắc markup là hoạt động.
- Ảnh bên trong container có class
xe_content(hoặcrhymix_content) tự động trở thành đối tượng của thư viện. Theo thông lệ, skin gắn class này vào vùng xuất nội dung. - Để đưa ảnh bên ngoài container vào thư viện, gắn class
photoswipe-images(ưu tiên hơn điều kiện loại trừ). - Để loại một ảnh cụ thể khỏi thư viện, gắn class
photoswipe-escape(hoặcrx-escape). - Ảnh bên trong liên kết (
a), mã (pre,code) và phần tử form được tự động loại trừ.
<div class="rhymix_content xe_content">{!! $oDocument->getContent(false) !!}</div>
<img class="photoswipe-images" src="poster.jpg" alt="" /> <!-- 본문 밖이지만 갤러리 포함 -->
<img class="photoswipe-escape" src="icon.png" alt="" /> <!-- 갤러리 제외 -->