Thiết kế web bằng code thuần PHP

      Không có bình luận ở Thiết kế web bằng code thuần PHP

Mặc dù các CMS mã nguồn mở như WordPress, Joomla,… đã trở nên phát triển và giúp việc xây dựng website trở nên chuyên nghiệp hơn. Tuy nhiên vai trò của việc lập trình thuần vẫn rất quan trọng.

Khi mã nguồn có nhiều người dùng thì cấu trúc của nó cũng có thể nhiều người biết đến khiến tính bảo mật website trở nên kém hơn. Đó là lý do mà rất ít các trang báo lớn hay các trang thương mại lớn họ không sử dụng CMS.

Trong bài viết này mình sẽ chia sẻ với bạn cách viết một trang web bằng ngôn ngữ PHP. Tuy nhiên trước khi bạn đọc bài này mình khuyên bạn nên đọc 2 phần về lập trình code thuần PHP cơ bản trên web mình để hiểu về PHP trước đã nhé.

Tạo database và cấu trúc folder

Trong hướng dẫn này mình chỉ hướng dẫn tạo ra một trang web đơn giản. Vì thế nên CSDL mình sẽ tạo ra 3 bảng đơn giản như sau:

Bảng user: lưu trữ thông tin đăng nhập của người dùng

Bảng category: Lưu trữ các danh mục của bài viết

Bảng post: Lưu các thông tin về một bài đăng.Như vậy mình đã có Database rồi. Các bảng này mình thiết kế đơn giản, không theo chuẩn và mình cũng không phân tích kỹ. Nếu các bạn làm một dự án nghiêm túc mình khuyên các bạn nên bỏ thời gian để nghiên cứu kỹ về CSDL vì nó ảnh hưởng rất nhiều sau này. Và bây giờ chúng ta sẽ tiến hành xây dựng cấu trúc folder cho website.

  • Cấu trúc này thường không giống với những gì bạn đã học ở trường vì ở đây mình muốn mọi Request của người dùng chỉ thông qua một file duy nhất là index.php. Điều này cũng thông dụng với hầu hết các CMS hiện nay.
  • Mục admin tạm thời chưa quan tâm, bạn cứ xem nó như một website khác đi. Mục public là mục mình sẽ chứa toàn bộ các file như css, js, img,… nói chung là những file mà người dùng có thể truy cập trực tiếp. Mục site sẽ chứa những file xử lý như các action, database, widget,…..
  • Các mũi tên màu đỏ chỉ các yêu cầu của người dùng. Khi họ đưa ra một yêu cầu đến 1 action nào đó nó sẽ gọi đến các widget để hoàn thành giao diện và trả lại cho file index hiển thị (đường màu xanh).

Tạo các action trong PHP

Đầu tiên mình sẽ tạo ra một biến $path để lưu đường dẫn đến cái file action cần xử lý. Sau đó thì mình sẽ kiểm tra xem file đó có tồn tại hay không. Và mình sẽ sử dụng hàm require để require file đó vào. Cũng với đường dẫn http://localhost/hocphp/?action=post bạn mở file post.php trong thư mục action và thêm vào dòng bất kỳ, F5 lại bạn sẽ thấy kết quả.

Tương tự như vậy, nếu gọi ?action=cat thì nó sẽ gọi vào file cat.php. Và nếu không có biến action thì mặc định nó sẽ require action home. Bạn có thể thêm một file 404.php trong action để thay thế cho cái echo nếu action tìm là không thấy.

Thông thường thì hàm isset($_GET[‘action’]) ? $_GET[‘action’] : false; sẽ được sử dụng rất nhiều nên mình sẽ tạo ra một hàm và chỉ truyền key vào thôi. Bây giờ bạn mở file site.php trong thư mục sys ra và code đoạn sau vào, Mình tạo luôn cả việc lấy biến POST nhé.

Các mục ở trên mình đã chú thích lại rồi đấy. Tiếp theo mình sẽ đưa các Widget vào các action. Công việc này cũng đơn giản như việc viết theme cho WordPress vậy. Các hàm này đơn giản chỉ là require vào các widget tương ứng, trong hàm content mình cần truyền tên content để xác định là content nào.

Bây giờ bạn có thể mở file home.php ở file action và gõ đoạn sau vào.Vậy là xong trang chủ. bạn muốn design cho nó thì mở từng widget lên để chỉnh sửa nhé, Nó tương tự như cắt html cho theme WordPress vậy.

Trả lời