Trong bài viết này, tôi đã phát triển một lớp lịch sự kiện sẽ điền tất cả các ngày trong tháng dựa trên ngày đã chỉ định, cùng với các sự kiện mà chúng ta có thể thêm vào lịch
Mặc dù PHP không bao gồm API lịch tích hợp sẵn [không bao gồm các phần mở rộng bổ sung], tuy nhiên, nó cung cấp cho bạn một loạt các phương thức ngày và giờ mà chúng ta có thể sử dụng để thao tác. Ngoài ra, chúng ta có thể sử dụng các phương pháp này để điền vào các trang hiển thị ngày, tuần và tháng của một năm cụ thể
Tại sao tôi nên sử dụng lớp lịch?
Nó hoàn toàn tùy thuộc vào bạn và yêu cầu của bạn. Tôi đã quyết định tự mình viết lớp học của riêng mình khi tôi làm việc trong nhiều dự án yêu cầu hệ thống lịch dựa trên sự kiện. Tôi đã tìm kiếm vô số lần một thư viện tối thiểu, không phụ thuộc và hiện đại. Nhưng không thể tìm thấy một cái mà tôi có thể tích hợp liền mạch với các dự án của mình. Vì vậy, tôi đã tạo ra lớp PHP có thể dễ dàng tích hợp với bất kỳ dự án nào, cho dù quy mô của dự án lớn hay nhỏ.
Nguồn
Tạo một tệp mới Lịch. php và thêm đoạn mã sau
PHP
Thêm mã sau vào biểu định kiểu [CSS] của bạn hoặc tạo lịch tệp mới. css
CSS
.calendar {
display: flex;
flex-flow: column;
}
.calendar .header .month-year {
font-size: 20px;
font-weight: bold;
color: #636e73;
padding: 20px 0;
}
.calendar .days {
display: flex;
flex-flow: wrap;
}
.calendar .days .day_name {
width: calc[100% / 7];
border-right: 1px solid #2c7aca;
padding: 20px;
text-transform: uppercase;
font-size: 12px;
font-weight: bold;
color: #818589;
color: #fff;
background-color: #448cd6;
}
.calendar .days .day_name:nth-child[7] {
border: none;
}
.calendar .days .day_num {
display: flex;
flex-flow: column;
width: calc[100% / 7];
border-right: 1px solid #e6e9ea;
border-bottom: 1px solid #e6e9ea;
padding: 15px;
font-weight: bold;
color: #7c878d;
cursor: pointer;
min-height: 100px;
}
.calendar .days .day_num span {
display: inline-flex;
width: 30px;
font-size: 14px;
}
.calendar .days .day_num .event {
margin-top: 10px;
font-weight: 500;
font-size: 14px;
padding: 3px 6px;
border-radius: 4px;
background-color: #f7c30d;
color: #fff;
word-wrap: break-word;
}
.calendar .days .day_num .event.green {
background-color: #51ce57;
}
.calendar .days .day_num .event.blue {
background-color: #518fce;
}
.calendar .days .day_num .event.red {
background-color: #ce5151;
}
.calendar .days .day_num:nth-child[7n+1] {
border-left: 1px solid #e6e9ea;
}
.calendar .days .day_num:hover {
background-color: #fdfdfd;
}
.calendar .days .day_num.ignore {
background-color: #fdfdfd;
color: #ced2d4;
cursor: inherit;
}
.calendar .days .day_num.selected {
background-color: #f1f2f3;
cursor: inherit;
}
Cách sử dụng
Đưa lớp vào dự án của bạn và tạo một thể hiện mới
PHP
include 'Calendar.php';
$calendar = new Calendar[];
Chúng tôi có thể chỉ định một ngày trong khi tạo một phiên bản mới
PHP
include 'Calendar.php';
$calendar = new Calendar['2021-02-26'];
Thêm sự kiện mới vào lịch
PHP
$calendar->add_event['Holiday', '2021-02-14'];
Chúng ta có thể chỉ định số ngày sự kiện sẽ kéo dài bằng cách ràng buộc một giá trị bổ sung cho phương thức add_event
PHP
$calendar->add_event['Holiday', '2021-02-14', 7]; // Event will last for 7 days
Chúng ta cũng có thể thay đổi màu sắc
PHP
$calendar->add_event['Holiday', '2021-02-14', 7, 'red'];
Chỉ có màu đỏ, xanh dương và xanh lá cây [mặc định là màu cam]. Bạn có thể thêm nhiều màu hơn vào tệp CSS
Chúng tôi có thể điền lịch ở định dạng HTML bằng đoạn mã sau
PHP
echo $calendar;
Mã ví dụ
Tạo một ví dụ tập tin mới. php và thêm đoạn mã sau
PHP
________số 8_______Biểu định kiểu [kiểu. css] cho trang ví dụ của chúng tôi
CSS
* {
box-sizing: border-box;
font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif;
font-size: 16px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
background-color: #FFFFFF;
margin: 0;
}
.navtop {
background-color: #3b4656;
height: 60px;
width: 100%;
border: 0;
}
.navtop div {
display: flex;
margin: 0 auto;
width: 800px;
height: 100%;
}
.navtop div h1, .navtop div a {
display: inline-flex;
align-items: center;
}
.navtop div h1 {
flex: 1;
font-size: 24px;
padding: 0;
margin: 0;
color: #ebedee;
font-weight: normal;
}
.navtop div a {
padding: 0 20px;
text-decoration: none;
color: #c4c8cc;
font-weight: bold;
}
.navtop div a i {
padding: 2px 8px 0 0;
}
.navtop div a:hover {
color: #ebedee;
}
.content {
width: 800px;
margin: 0 auto;
}
.content h2 {
margin: 0;
padding: 25px 0;
font-size: 22px;
border-bottom: 1px solid #ebebeb;
color: #666666;
}
Và bây giờ nếu chúng ta điều hướng đến trang ví dụ của mình, nó sẽ xuất hiện như sau
http. // localhost/phpcalendar/ví dụ. php
Làm
- Thêm nhiều phương thức vào lớp. loại bỏ các sự kiện, vv
- Xuất sang các định dạng khác nhau
- Gói nâng cao sẽ bao gồm AJAX, MySQL, v.v.
Phần kết luận
Mặc dù lớp lịch mà tôi đã tạo không phải là một giải pháp hoàn chỉnh, nhưng nó chắc chắn sẽ giúp bạn tích hợp lớp này vào bất kỳ dự án nào một cách liền mạch và mở rộng mã cơ sở
Hãy để lại bình luận bên dưới và cho tôi biết nếu bạn gặp phải bất kỳ vấn đề nào với lớp học. Đừng quên theo dõi chúng tôi trên mạng xã hội và chia sẻ các bài viết của chúng tôi vì điều này sẽ giúp trang web của chúng tôi phát triển và chúng tôi có thể cung cấp nhiều nội dung chất lượng hơn
Phát hành theo Giấy phép MIT
Nếu bạn muốn hỗ trợ chúng tôi, hãy cân nhắc mua hệ thống lịch sự kiện nâng cao bên dưới vì nó sẽ giúp chúng tôi tạo thêm nhiều hướng dẫn hơn và duy trì hoạt động của trang web. Gói nâng cao bao gồm mã cải tiến và nhiều tính năng hơn
Nâng cao
$ 20. 00
xem thêm chi tiếtMã nguồn
Tệp SQL cơ sở dữ liệu
Hệ thống lịch sự kiện an toàn
Thêm, Chỉnh sửa & Xóa Sự kiện
Tính năng Lịch nhỏ
Tính năng mô tả sự kiện
Tính năng chỉ báo AJAX [bộ tải vòng tròn]
Tính năng phương thức JavaScript
lớp JavaScript
Tích hợp MySQL
Tích hợp AJAX
Tệp SCSS
bảng quản trị
Tính năng quản lý sự kiện
Mã nhận xét
Cập nhật và hỗ trợ miễn phí [các vấn đề nhỏ]
Hướng dẫn sử dụng
Thêm. Mã nguồn hướng dẫn
PayPal Tải xuống Crypto Tải xuống
Giảm giá
Gói [Tiết kiệm 53%]
$ 119. 00
255. 00
xem thêm chi tiếtHệ thống đăng nhập và đăng ký an toàn
Hệ thống giỏ hàng
Ứng dụng CRUD
Hệ thống bán vé
Hệ thống thư viện
Hệ thống lịch sự kiện
Hệ thống thăm dò ý kiến và bỏ phiếu
Hệ thống bình luận
Đánh giá hệ thống
Mâu liên hệ
Hệ thống trò chuyện hỗ trợ trực tiếp
Bản tin & Hệ thống gửi thư
Truy cập vào các tập lệnh trong tương lai
PayPal Tải xuống Crypto Tải xuống
về tác giả
David Adams
Nhà phát triển trang web nhiệt tình, tôi đã thiết kế và phát triển các ứng dụng web trong hơn 10 năm, tôi tận hưởng sự sáng tạo mà tôi đưa vào các dự án của mình và tận hưởng những gì người khác mang đến cho trang web tuyệt vời. Mục tiêu của tôi là giúp những người mới tìm hiểu cách sử dụng web