Laravel: Các thư mục chứa code của lập trình viên

Khi phát triển web với Laravel, bạn sẽ đặt code của mình thành các file và lưu vào nhưng thư mục tương ứng. Đây là các thư mục mà lập trình viên sẽ lưu code của mình vào.

Thư mục Config

Thư mục config trong Laravel chứa các tập tin cấu hình cho ứng dụng web. Một số tập tin quan trọng thường thấy trong thư mục này:

  • app.php: Tập tin này chứa cấu hình cơ bản cho ứng dụng Laravel như: tên ứng dụng, múi giờ, định dạng ngày giờ, và các cài đặt khác.
  • database.php: Chứa cấu hình liên quan đến cơ sở dữ liệu của bạn. Bao gồm các kết nối, tên database, driver sử dụng (như MySQL, PostgreSQL, SQLite), và các cài đặt khác.
  • cache.php: Đây là nơi bạn có thể cấu hình các driver lưu trữ cache như Redis, Memcached, hoặc file.
  • session.php: Chứa cấu hình về việc lưu trữ session. Bao gồm driver sử dụng (file, database, Redis), thời gian hết hạn, và các cài đặt khác.
  • filesystems.php: Đây là nơi bạn có thể định cấu hình các hệ thống tệp tin (filesystems) khác nhau, chẳng hạn như local, S3, hoặc các hệ thống lưu trữ đám mây khác.
  • mail.php: Chứa cấu hình cho việc gửi email, bao gồm các driver như SMTP, Mailgun, Sendmail, và các cài đặt khác.
  • broadcasting.php: Cấu hình cho việc phát sóng sự kiện realtime bằng Laravel Echo và các driver như Pusher, Redis, và các cài đặt khác.
  • queue.php: Chứa cấu hình cho việc xử lý hàng đợi (queue). Bao gồm các driver như Redis, database, và các cài đặt khác.
  • view.php: Chứa cấu hình cho các tính năng liên quan đến hiển thị giao diện người dùng. Bao gồm định dạng file view, thư mục lưu trữ view, và các cài đặt khác.

Thư mục Controller

Controller là một phần quan trọng của mô hình MVC. Controller sẽ xử lý các yêu cầu HTTP từ người dùng, tương tác với các model và view để thực hiện các hành động tương ứng.

Trong một file controller, bạn có thể định nghĩa các phương thức (method) để xử lý các yêu cầu từ người dùng. Ví dụ như: hiển thị trang, xử lý form, hoặc thực hiện các hành động logic khác…

Trong Laravel, các file controller được đặt trong thư mục:

app/Http/Controllers

Thư mục views

Thư mục views trong Laravel là nơi chứa các file view của ứng dụng web. View tương ứng với chữ V trong mô hình MVC. Đường dẫn của thư mục view là “resources/views“. Đây là một phần của cấu trúc thư mục mặc định của Laravel.

resources/views

Nhiệm vụ của các view được sử dụng để hiển thị dữ liệu cho người dùng cuối. Cụ thể, thư mục views chứa các file Blade templates, đó là một phần của hệ thống template engine của Laravel. Các file trong thư mục views thường đại diện cho các trang web hoặc các thành phần giao diện khác nhau của ứng dụng. Ví dụ, bạn có thể có các file view cho trang chính, trang đăng nhập, trang đăng ký, và các thành phần như header, footer, sidebar…

Dưới đây là một cấu trúc thư mục views tiêu biểu:

views/
├── admin/
├── layouts/
│ ├── app.blade.php
│ └── admin.blade.php
├── auth/
│ ├── login.blade.php
│ └── register.blade.php
├── home.blade.php
├── about.blade.php
└── contact.blade.php

Thư mục routes

Trong một ứng dụng Laravel tiêu chuẩn, thư mục routes được đặt ở thư mục gốc của dự án. Thư mục này chứa các tệp được sử dụng để định nghĩa các tuyến đường (routes) của ứng dụng. Bạn có thể xem cách tạo route trong Laravel tại đây: Xử lý HTTP request với Routing.

Trong thư mục routes, bạn thường sẽ thấy hai tệp quan trọng:

  • web.php: Tệp này chứa các tuyến đường (routes) cho các yêu cầu HTTP từ trình duyệt web. Đây là nơi bạn định nghĩa các tuyến đường cho các chức năng như: hiển thị trang, xử lý form, và tương tác với người dùng qua giao diện web.
  • api.php: Tệp này chứa các tuyến đường (routes) cho API của ứng dụng. Đây là nơi bạn định nghĩa các tuyến đường cho việc xử lý yêu cầu HTTP từ các ứng dụng hoặc dịch vụ khác thông qua API.

Nhiệm vụ của các route:

  • Xác định các tuyến đường cho ứng dụng:
    Mỗi tuyến đường sẽ tương ứng với mỗi loại yêu cầu HTTP cụ thể.
  • Xác định các hành động của ứng dụng:
    Routes định nghĩa các hành động cụ thể mà ứng dụng sẽ thực hiện. Các hành động này có thể là: hiển thị trang, xử lý dữ liệu của form, thực hiện các tác vụ logic…
  • Phân chia logic ứng dụng:
    Bằng cách sử dụng routes, bạn có thể phân chia logic của ứng dụng thành các phần nhỏ hơn và dễ quản lý hơn. Điều này giúp làm cho mã nguồn của ứng dụng trở nên dễ đọc và bảo trì hơn.
  • Tạo các API endpoint:
    Nếu bạn đang phát triển một ứng dụng có sử dụng API, bạn có thể sử dụng routes để định nghĩa các API endpoint. Điều này cho phép các ứng dụng hoặc dịch vụ khác giao tiếp với ứng dụng của bạn qua mạng Internet.
  • Xác thực và phân quyền:
    Routes cũng có thể được sử dụng để xác thực người dùng và phân quyền truy cập vào các phần của ứng dụng. Bằng cách sử dụng middleware, bạn có thể kiểm tra và xác minh thông tin người dùng trước khi cho phép họ truy cập vào các tài nguyên cụ thể.

Thư mục model

Model tương ứng với chữ M trong MVC. Model giúp tương tác với dữ liệu một cách có tổ chức và linh hoạt, làm cho mã nguồn dễ bảo trì và mở rộng.

Trong một ứng dụng Laravel tiêu chuẩn, thư mục model thường được đặt trong thư mục app. Đường dẫn của thư mục model sẽ là:

app/Models

Nếu không tuân thủ cấu trúc thư mục mặc định, bạn có thể đặt thư mục model ở bất kỳ vị trí nào trong ứng dụng. Tuy nhiên, việc tuân thủ cấu trúc thư mục mặc định sẽ giúp dự án của bạn dễ đọc và bảo trì hơn, đặc biệt khi làm việc nhóm.

Thư mục public

Trong Laravel, thư mục public là nơi chứa tất cả các tài nguyên công cộng của ứng dụng. Bao gồm các tệp tin CSS, JavaScript, hình ảnh và các tệp tin tĩnh khác. Các file trong thư mục public thường là file tĩnh, có thể truy cập trực tiếp qua URL từ trình duyệt.

Các tính năng mặc định của trang web

Các trang web được Đại Phố thiết kế luôn mặc định các tính năng sau:

  • Mã nguồn được tối ưu với các công cụ tìm kiếm.
  • Trang web hỗ trợ thiết bị di động, tương thích với mọi thiết bị: điện thoại, máy tính bảng, máy tính và laptop. Sử dụng công nghệ HTML5, CSS3 Mobile Responsive.
  • Dễ dàng thay đổi theo phong cách riêng của bạn.
  • Dễ dàng thêm bớt số lượng các trang, và chỉnh sửa nội hiển thị trên website tùy ý
  • Phần quản trị rõ ràng, trực quan, dễ sử dụng với cả những người không chuyên về IT.

Quản lí nội dung: có thể dễ dàng thêm, xóa, sửa các thông tin trên website

  • Thông tin sản phẩm và dịch vụ của công ty
  • Thông tin dự án, đối tác Giới thiệu – Liên hệ
  • Thông tin giới thiệu, thông tin liên hệ
  • Tin tức
  • Hình ảnh trên website, sửa các tag alt, descriotion, caption
  • Hình ảnh và caption trên Slideshow
Xin vui lòng liên hệ với chúng tôi nếu cần thêm thông tin