Đây là ví dụ đơn giản về việc tạo khung MVC với PHP.php-mvc-example
Kết cấu
Cơ sở dữ liệu
Thư viện JS
Các gói sau đã được sử dụng:
- JQuery - Thư viện JavaScript.
- Bootstrap - Thư viện HTML, CSS và JS phổ biến nhất trên thế giới.
- Feather - Đơn giản là các biểu tượng nguồn mở đẹp.
- Bootstrap -DatePicker - Một DatePicker cho Bootstrap.
- Biểu đồ.js - Biểu đồ JavaScript đơn giản, sạch sẽ và hấp dẫn HTML5.
Bắt đầu
Để chạy ứng dụng, cần phải tạo cơ sở dữ liệu máy chủ và thiết lập ảo.
Ứng dụng được kiểm tra trên:
- Php 7.1.14
- Nginx 1.13.8
Điều kiện tiên quyết
Để bắt đầu dự án này, bạn cần cài đặt các thành phần sau:
- PHP-PHP là ngôn ngữ kịch bản đa năng nguồn mở được sử dụng rộng rãi, đặc biệt phù hợp để phát triển web và có thể được nhúng vào HTML.
- MySQL - MySQL là Hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở [RDBMS] dựa trên ngôn ngữ truy vấn có cấu trúc [SQL].
- Apache hoặc Nginx - Máy chủ HTTP.
Cài đặt
Chuyển các tệp vào thư mục xem máy chủ web và nhập cơ sở dữ liệu. Các tham số cấu hình cho cơ sở dữ liệu nằm trong /config/database.php.
Hạt giống cơ sở dữ liệu
Ví dụ này bao gồm một phương pháp đơn giản về cơ sở dữ liệu gieo hạt với dữ liệu thử nghiệm sử dụng các lớp hạt giống.
Người gieo hạt có thể được xác định trong thư mục A /Databs. Seeder cần thực hiện giao diện hạt giống cốt lõi.
Bạn có thể chạy SEEDER bằng cách gọi lệnh SEEDER PHP với tên của lớp Seeder là tham số đầu tiên.
Cấu hình
Tất cả các lớp cấu hình được đặt trong thư mục /config. Hiện tại, có hai lớp cấu hình:
- Các tham số cấu hình để kết nối với cơ sở dữ liệu.
- Các tham số liên quan đến ứng dụng [show_errors và default_route].
Để có được cài đặt trong bất kỳ phần nào của ứng dụng:
- sử dụng cấu hình \ cơ sở dữ liệu; Sau đó, ví dụ, bạn có thể nhận được máy chủ với cơ sở dữ liệu :: db_host.
Không gian tên và tuyến đường
Không gian tên và tuyến đường được đặt trong thư mục /ứng dụng. Các tệp này trả về một mảng dữ liệu. Các tệp này được tự động tải bởi khung.
Tuyến đường
Một phương thức có thể có nhiều tuyến đường. Các tuyến bao gồm phương thức yêu cầu và mảng với URI và bộ điều khiển@action.
return [
"GET" => [
"/home" => "Home@index"
]
];
Mô hình
Mô hình đại diện cho một lớp trừu tượng chứa hai thuộc tính:
- tư nhân $ dB; - đại diện cho một thể hiện của một đối tượng PDO.
- được bảo vệ $ _Table; - Tên của bảng trong cơ sở dữ liệu mà mô hình liên kết.
Phương pháp chèn
Thuộc tính _Table rất quan trọng đối với phương thức chèn []. Nếu không có thông tin này, phương pháp chèn sẽ không hoạt động.
Phương pháp này giúp bạn dễ dàng chèn dữ liệu vào cơ sở dữ liệu một cách nhanh chóng và dễ dàng. Các tập dữ liệu phải được kết hợp. Chỉ số mảng đại diện cho trường trong cơ sở dữ liệu.
Ví dụ: ["fist_name" => "John"]
Phiên bản
Phiên bản 1.0.1:
Database:
- Trường địa chỉ e-mail đã thay đổi thành 254 ký tự.
- Đã thêm chỉ mục duy nhất trên địa chỉ e-mail và order_id + ean.
Code:
- Mô hình :: $ dB đã thay đổi thành tĩnh. Để ngăn chặn việc mở kết nối cơ sở dữ liệu mới cho mọi mô hình.
- Mô hình $ _Table chuyển sang Constructor.
- Sử dụng Array_Keys [] và Array_Values [] thay vì Foreach trong phương thức Model Insert [].
- Đã thêm lớp xác thực mới với phương thức xác thực ngày.
- Đã thêm xác thực ngày trong mô hình thống kê.
- Đã thêm tùy chọn mặc định trong yêu cầu :: GetParam.
- Đã thêm gợi ý loại.
Phiên bản 1.0.0 - Cam kết đầu tiên của ứng dụng
Ảnh chụp màn hình
Tác giả
- Andrej - Công việc ban đầu - Andrejrs - Initial work - andrejrs