Laravel là một framework phát triển ứng dụng web mã nguồn mở được viết bằng ngôn ngữ PHP. Nó được phát triển bởi Taylor Otwell và được giới thiệu lần đầu vào năm 2011. Laravel được xây dựng dựa trên các nguyên tắc thiết kế mô hình MVC (Model-View-Controller) và cung cấp các công cụ và thư viện mạnh mẽ để phát triển ứng dụng web nhanh chóng, linh hoạt và bảo mật.
Laravel nổi tiếng với cú pháp đơn giản, dễ đọc và dễ hiểu. Nó cung cấp một cú pháp Expressive và một API mạnh mẽ để giúp lập trình viên xây dựng ứng dụng web một cách dễ dàng và nhanh chóng. Laravel cũng hỗ trợ nhiều tính năng tiên tiến như routing mạnh mẽ, ORM (Object-Relational Mapping), migration, caching, gửi email, và xử lý tác vụ hàng đợi.
Một số đặc điểm và lợi ích của Laravel bao gồm:
- Cú pháp đơn giản và dễ hiểu: Laravel sử dụng cú pháp ngắn gọn và rõ ràng, giúp lập trình viên dễ dàng hiểu và sửa lỗi code.
- Mô hình MVC: Laravel tuân thủ mô hình MVC, giúp tách biệt logic ứng dụng, giao diện và dữ liệu. Điều này giúp dễ dàng quản lý và bảo trì ứng dụng.
- Tích hợp tốt: Laravel tích hợp tốt với các công nghệ và thư viện phổ biến như Blade Template Engine, Eloquent ORM, PHPUnit, Redis, và nhiều hơn nữa.
- Công cụ và thư viện mạnh mẽ: Laravel cung cấp nhiều công cụ và thư viện tiện ích giúp lập trình viên xây dựng ứng dụng dễ dàng như Artisan Command Line Interface, Laravel Mix (hỗ trợ việc biên dịch và quản lý tài nguyên), Socialite (đăng nhập xã hội), và Passport (xác thực API).
- Bảo mật: Laravel có các tính năng bảo mật mạnh mẽ như bảo vệ khỏi tấn công CSRF (Cross-Site Request Forgery), mã hóa dữ liệu, xác thực người dùng, và phân quyền.
Các bài viết liên quan:
Cấu trúc thư mục trong Laravel
Trong Laravel, cấu trúc thư mục mặc định được tổ chức rất rõ ràng và có cấu trúc logic giúp lập trình viên dễ dàng quản lý và phát triển ứng dụng. Dưới đây là cấu trúc thư mục mặc định trong Laravel:
- Thư mục gốc của ứng dụng Laravel:
app
: Chứa mã nguồn của ứng dụng, bao gồm các file của Model, View, Controller và các lớp hỗ trợ khác.bootstrap
: Chứa file khởi động ứng dụng và các file khác liên quan đến quá trình khởi động của Laravel.config
: Chứa các file cấu hình của ứng dụng.database
: Chứa file migration, seeds và factories để quản lý cơ sở dữ liệu.public
: Chứa các file tĩnh như hình ảnh, CSS, JavaScript, và file index.php là điểm khởi đầu của ứng dụng.resources
: Chứa các file không được biên dịch như file view, file ngôn ngữ, và các tài nguyên khác như file SASS, hình ảnh gốc, v.v.routes
: Chứa các file định tuyến (routing) cho ứng dụng.storage
: Chứa các file liên quan đến việc lưu trữ như file log, file cache, và file tải lên (uploads).tests
: Chứa các file kiểm thử (unit tests) cho ứng dụng.vendor
: Chứa các file phụ thuộc của Composer (nếu có).
- Các thư mục chính trong Laravel:
app
: Chứa các thư mục con nhưConsole
(chứa các lệnh Artisan),Exceptions
(chứa các xử lý ngoại lệ),Http
(chứa các file Controller, Middleware, và Requests),Models
(chứa các file Model), v.v.config
: Chứa các file cấu hình cho ứng dụng, ví dụ như fileapp.php
chứa cấu hình cơ bản, filedatabase.php
chứa cấu hình cơ sở dữ liệu, v.v.public
: Chứa các file tĩnh như hình ảnh, CSS, JavaScript. Fileindex.php
là điểm khởi đầu của ứng dụng và được gọi bởi máy chủ web.resources
: Chứa các file không được biên dịch như file view (thư mụcviews
), file ngôn ngữ (thư mụclang
), và các tài nguyên khác như file SASS (thư mụcsass
), hình ảnh gốc (thư mụcimages
), v.v. Thư mụcviews
chứa các file giao diện, thư mụclang
chứa các file ngôn ngữ.routes
: Chứa các file định tuyến (routing) cho ứng dụng. Fileweb.php
định nghĩa các đường dẫn URL của ứng dụng, trong khi fileapi.php
định nghĩa các đường dẫn API.database
: Chứa các file migration, seeds và factories để quản lý cơ sở dữ liệu. Thư mụcmigrations
chứa các file migration để tạo, cập nhật cấu trúc cơ sở dữ liệu. Thư mụcseeds
chứa các file seeds để khởi tạo dữ liệu mẫu. Thư mụcfactories
chứa các file factories để tạo dữ liệu mẫu tự động.storage
: Chứa các file liên quan đến việc lưu trữ. Thư mụcapp
chứa các file ứng dụng tạo ra (như file log). Thư mụcframework
chứa các file cache, session, và tải lên. Thư mụclogs
chứa các file log của ứng dụng.
- Quản lý các thư mục phụ trong Laravel:
- Lập trình viên có thể tạo các thư mục phụ để tổ chức mã nguồn và tài nguyên của ứng dụng. Ví dụ, có thể tạo thư mục
Services
để chứa các file dịch vụ, thư mụcHelpers
để chứa các file trợ giúp, hoặc thư mụcProviders
để chứa các file cung cấp dịch vụ. - Các thư mục phụ này không được tạo mặc định trong Laravel, nhưng lập trình viên có thể tạo và sử dụng chúng để tăng tính tổ chức và quản lý mã nguồn của ứng dụng.
Cấu trúc thư mục trong Laravel giúp lập trình viên tổ chức và quản lý dự án một cách rõ ràng và dễ dàng. Nó giúp tách biệt các phần của ứng dụng và tạo điều kiện cho việc mở rộng và bảo trì dễ dàng.
Cấu trúc ứng dụng là cấu trúc của các thư mục, thư mục con và tệp có sẵn trong dự án. Khi dự án được tạo trong Laravel, cấu trúc ứng dụng được tạo như thể hiện trong ảnh chụp màn hình bên dưới:
Thư mục App của Laravel
Trong Laravel, thư mục “app” là một trong những thư mục quan trọng nhất trong cấu trúc dự án. Nó chứa mã nguồn của ứng dụng, bao gồm các file Model, View, Controller và các lớp hỗ trợ khác.
- Thư mục “app” bao gồm các thư mục con sau:
Console
: Thư mục này chứa các tác vụ dòng lệnh (command-line tasks), thường được định nghĩa bằng Artisan Command Line Interface (CLI). Các tác vụ này giúp lập trình viên thực hiện các công việc như tạo ra các migration, seed dữ liệu, tạo lệnh tùy chỉnh, v.v.Exceptions
: Thư mục này chứa các file xử lý ngoại lệ của ứng dụng. Các file trong thư mục này xử lý các ngoại lệ và trả về các thông báo hoặc trang lỗi phù hợp khi xảy ra lỗi trong quá trình thực thi ứng dụng.Http
: Thư mục này chứa các file liên quan đến việc xử lý yêu cầu HTTP. Thư mục con “Controllers” chứa các file Controller, đóng vai trò xử lý logic của các yêu cầu từ người dùng. Thư mục con “Middleware” chứa các file Middleware, giúp xử lý và kiểm soát yêu cầu trước khi chúng đến được đích.Models
: Thư mục này chứa các file Model, đại diện cho các đối tượng trong cơ sở dữ liệu. Các Model thường được sử dụng để truy vấn, cập nhật và tương tác với dữ liệu trong cơ sở dữ liệu.Providers
: Thư mục này chứa các file cung cấp dịch vụ (Service Providers). Các file trong thư mục này đóng vai trò khởi tạo và đăng ký các dịch vụ trong ứng dụng, ví dụ như cấu hình cơ sở dữ liệu, các dịch vụ bảo mật, v.v.
- Tùy chỉnh thư mục “app”: Laravel cho phép lập trình viên tùy chỉnh thư mục “app” tùy theo yêu cầu của dự án. Có thể tạo thêm các thư mục con để tổ chức mã nguồn theo cách riêng. Ví dụ, có thể tạo thư mục “Services” để chứa các file dịch vụ, thư mục “Helpers” để chứa các file trợ giúp, hoặc thư mục “Repositories” để chứa các file giao tiếp với cơ sở dữ liệu. Việc tùy chỉnh thư mục “app” giúp lập trình viên tổ chức mã nguồn một cách rõ ràng và dễ quản lý, đồng thời cung cấp sự linh hoạt cho việc mở rộng và bảo trì ứng dụng.
Thư mục “app” là nơi chứa mã nguồn chính của ứng dụng Laravel và nó đóng vai trò quan trọng trong việc xây dựng các thành phần và logic của ứng dụng. Bằng cách tổ chức mã nguồn và các thư mục con trong thư mục “app” một cách hợp lý, lập trình viên có thể tạo ra ứng dụng mạnh mẽ và dễ bảo trì trong quá trình phát triển và duy trì ứng dụng Laravel.
Thư mục bootstrap của Laravel
Trong Laravel, thư mục “bootstrap” đóng vai trò quan trọng trong việc khởi tạo và cấu hình ứng dụng. Nó chứa các file và thư mục cần thiết để khởi động ứng dụng Laravel.
- Thư mục “bootstrap” bao gồm các thành phần sau:
app.php
: File này chứa cấu hình cơ bản của ứng dụng Laravel. Nó cung cấp các thông tin quan trọng như tên ứng dụng, môi trường, đường dẫn gốc, cấu hình cơ sở dữ liệu và nhiều hơn nữa.autoload.php
: File này giúp tự động tải các file PHP cần thiết cho ứng dụng. Nó được sử dụng để đăng ký autoloading (tự động tải) các class trong Laravel, giúp lập trình viên truy cập và sử dụng các class một cách thuận tiện.cache
: Thư mục này chứa các file cache được tạo ra bởi ứng dụng. Các file cache này giúp cải thiện hiệu suất của ứng dụng bằng cách lưu trữ dữ liệu tạm thời để tránh thực hiện các thao tác tính toán hay truy vấn dữ liệu phức tạp mỗi khi cần.config
: Thư mục này chứa các file cấu hình cho ứng dụng Laravel. Các file trong thư mục này cho phép lập trình viên tùy chỉnh cài đặt cho nhiều khía cạnh của ứng dụng như cấu hình cơ sở dữ liệu, tùy chỉnh phiên, cấu hình gửi email, v.v.routes
: Thư mục này chứa các file định tuyến (routing) cho ứng dụng Laravel. Fileweb.php
định nghĩa các đường dẫn URL của ứng dụng khi được truy cập thông qua trình duyệt, trong khi fileconsole.php
định nghĩa các đường dẫn dùng cho các tác vụ dòng lệnh (command-line tasks).
- Cấu trúc thư mục bootstrap được Laravel xây dựng sẵn và không nên chỉnh sửa hay xoá bất kỳ thành phần nào trong thư mục này, trừ khi có yêu cầu đặc biệt và hiểu rõ về cách làm việc của Laravel.
Thư mục “bootstrap” trong Laravel chịu trách nhiệm khởi tạo và cấu hình ứng dụng. Nó là nơi chứa các file và thư mục quan trọng.
Màn hình trên hiển thị cấu trúc của thư mục bootstrap. Nó chứa một thư mục, tức là bộ nhớ cache và hai tệp, app.php và autoload.php.
Thư mục Config của Laravel
Trong Laravel, thư mục “config” chứa các file cấu hình cho ứng dụng. Đây là nơi lưu trữ các tùy chọn cấu hình mà lập trình viên có thể tùy chỉnh để điều chỉnh hoạt động của ứng dụng Laravel theo nhu cầu của mình.
- Cấu trúc thư mục “config”:
app.php
: File này chứa cấu hình chung cho ứng dụng như tên ứng dụng, môi trường, đường dẫn gốc, cấu hình mã hoá và nhiều hơn nữa.auth.php
: File này chứa cấu hình xác thực (authentication) trong ứng dụng Laravel, bao gồm cách xác thực người dùng và các cấu hình liên quan đến quyền truy cập.database.php
: File này chứa cấu hình cơ sở dữ liệu của ứng dụng. Lập trình viên có thể chỉ định loại cơ sở dữ liệu, thông tin kết nối, tên database và các tùy chọn khác.filesystems.php
: File này chứa cấu hình cho việc làm việc với hệ thống tệp (filesystems) trong Laravel. Các cấu hình này giúp lập trình viên xác định các ổ đĩa, đường dẫn và các tùy chọn khác liên quan đến việc lưu trữ và truy cập các tệp tin.- Các file cấu hình khác: Laravel cung cấp các file cấu hình khác như mail.php (cấu hình gửi email), session.php (cấu hình phiên), cache.php (cấu hình bộ nhớ cache) và nhiều hơn nữa. Mỗi file cấu hình đi kèm với một số tùy chọn cấu hình cụ thể cho phần tử tương ứng trong ứng dụng.
- Tùy chỉnh thư mục “config”: Lập trình viên có thể tùy chỉnh thư mục “config” bằng cách thêm các file cấu hình tùy chỉnh hoặc sửa đổi các file cấu hình mặc định. Điều này giúp lập trình viên tuỳ chỉnh và điều chỉnh ứng dụng Laravel để đáp ứng nhu cầu cụ thể của dự án.
Thư mục database của Laravel
Thư mục “database” trong Laravel
Trong Laravel, thư mục “database” chứa các file và thư mục liên quan đến việc quản lý cơ sở dữ liệu trong ứng dụng. Thư mục này chứa các file migration (di cư), seeders (người gieo hạt) và factories (nhà máy) để xử lý việc tạo, cập nhật và điền dữ liệu vào cơ sở dữ liệu.
- Cấu trúc thư mục “database”:
migrations
: Thư mục này chứa các file migration (di cư) để quản lý phiên bản và cấu trúc của cơ sở dữ liệu. Các file migration được sử dụng để thực hiện các thay đổi cơ sở dữ liệu như tạo bảng, thêm cột, chỉnh sửa cấu trúc, v.v. Các migration giúp duy trì và quản lý các phiên bản cơ sở dữ liệu một cách dễ dàng và tái sử dụng.seeders
: Thư mục này chứa các file seeders (người gieo hạt) để cung cấp dữ liệu mẫu cho cơ sở dữ liệu. Seeders được sử dụng để điền dữ liệu mẫu hoặc dữ liệu kiểm thử vào cơ sở dữ liệu. Chúng có thể được sử dụng để tạo dữ liệu ban đầu hoặc tái tạo dữ liệu mẫu trong quá trình phát triển và kiểm thử ứng dụng.factories
: Thư mục này chứa các file factories (nhà máy) để định nghĩa cách tạo dữ liệu mẫu. Các factories cho phép bạn định nghĩa các bản ghi mẫu hoặc dữ liệu kiểm thử để sử dụng trong quá trình phát triển và kiểm thử. Chúng được sử dụng chủ yếu trong quá trình tạo dữ liệu mẫu tự động và kiểm thử đơn vị.
- Cách sử dụng thư mục “database” trong Laravel:
- Migration: Bằng cách tạo và thực thi các file migration trong thư mục “migrations”, bạn có thể thay đổi cấu trúc của cơ sở dữ liệu và duy trì quy trình quản lý phiên bản cơ sở dữ liệu trong quá trình phát triển và triển khai.
- Seeders: Bằng cách tạo và thực thi các file seeder trong thư mục “seeders”, bạn có thể điền dữ liệu mẫu hoặc dữ liệu kiểm thử vào cơ sở dữ liệu. Điều này giúp bạn có dữ liệu mẫu để phát triển và kiểm thử
Thư mục public của Laravel
Trong Laravel, thư mục “public” được coi là điểm khởi đầu của ứng dụng web. Nó chứa tất cả các tài nguyên công khai, bao gồm các file CSS, JavaScript, hình ảnh và các tệp tin tĩnh khác. Thư mục “public” là nơi bạn đặt các tệp tin mà bạn muốn trình duyệt web có thể truy cập trực tiếp.
- Cấu trúc thư mục “public”:
index.php
: Đây là tệp tin chính để khởi chạy ứng dụng Laravel. Khi truy cập vào địa chỉ URL gốc của ứng dụng, trình duyệt sẽ thực thi tệp tin index.php này để bắt đầu quá trình xử lý và hiển thị nội dung cho người dùng.- Các thư mục và tệp tin tĩnh: Thư mục “public” cũng chứa các thư mục và tệp tin tĩnh khác như CSS, JavaScript, hình ảnh và các tệp tin tài nguyên công khai khác. Các tệp tin này có thể được truy cập trực tiếp thông qua URL và được sử dụng để cung cấp các tài nguyên cần thiết cho giao diện người dùng.
- Sử dụng thư mục “public” trong Laravel:
- Tài nguyên tĩnh: Bạn có thể đặt các tệp tin tĩnh như CSS, JavaScript, hình ảnh trong thư mục “public” để trình duyệt web có thể truy cập trực tiếp thông qua URL. Điều này cho phép bạn cung cấp các tài nguyên tĩnh cho giao diện người dùng mà không cần thông qua quá trình xử lý bởi ứng dụng Laravel.
- Định tuyến tệp tin: Laravel đi kèm với hệ thống định tuyến (routing) mạnh mẽ. Bạn có thể định tuyến các URL vào các tệp tin tĩnh trong thư mục “public” bằng cách sử dụng các tệp tin định tuyến của Laravel. Điều này cho phép bạn xử lý các yêu cầu trực tiếp đến các tệp tin tĩnh mà không cần thông qua các tuyến đường ứng dụng.
- Tạo thư mục tĩnh tùy chỉnh: Ngoài các tệp tin tĩnh mặc định, bạn cũng có thể tạo các thư mục tĩnh tùy chỉnh trong thư mục “public” để lưu trữ các tệp tin công khai.
Xem thêm Truy vấn Plan Cache Commands trong MongoDB
Thư mục resouces của Laravel
Trong Laravel, thư mục “resources” là nơi chứa các tài nguyên và mã nguồn gốc của ứng dụng. Thư mục này chứa các file blade templates, file CSS, file JavaScript, hình ảnh và các file nguồn khác được sử dụng trong quá trình phát triển ứng dụng.
- Cấu trúc thư mục “resources”:
views
: Thư mục “views” chứa các file blade templates của ứng dụng. Blade templates là một cú pháp đặc biệt của Laravel cho phép bạn xây dựng giao diện người dùng động. Trong thư mục này, bạn có thể tạo các file blade templates để hiển thị các trang HTML, thành phần giao diện, email templates, v.v.assets
: Thư mục “assets” chứa các tài nguyên tĩnh của ứng dụng như file CSS, file JavaScript, hình ảnh và các tệp tin tĩnh khác. Đây là nơi bạn có thể lưu trữ và quản lý các tài nguyên tĩnh mà Laravel sẽ sử dụng trong quá trình xây dựng giao diện người dùng.lang
: Thư mục “lang” chứa các file ngôn ngữ của ứng dụng. Bằng cách sử dụng các file ngôn ngữ, bạn có thể dễ dàng định nghĩa các chuỗi văn bản đa ngôn ngữ để ứng dụng có thể hỗ trợ nhiều ngôn ngữ khác nhau.sass
hoặcless
: Nếu bạn sử dụng Sass hoặc Less để quản lý CSS trong ứng dụng Laravel của bạn, thư mục “resources” cũng có thể chứa các thư mục “sass” hoặc “less” tương ứng. Trong các thư mục này, bạn có thể định nghĩa các file Sass hoặc Less để biên dịch thành CSS.
- Sử dụng thư mục “resources” trong Laravel:
- Xử lý và hiển thị giao diện người dùng: Thư mục “resources/views” chứa các file blade templates để xử lý và hiển thị giao diện người dùng. Bạn có thể tạo các file blade templates để xây dựng các trang web, thành phần giao diện tái sử dụng, v.v.
- Quản lý tài nguyên tĩnh: Thư mục “resources/assets” là nơi bạn có thể lưu trữ và quản lý các tài nguyên tĩnh như file CSS, file JavaScript và hình ảnh.
Thư mục Views của Laravel
Trong Laravel, thư mục views
được sử dụng để chứa các file view của ứng dụng. View là thành phần giao diện người dùng trong mô hình MVC (Model-View-Controller) của Laravel.
Cấu trúc thư mục views
trong Laravel có thể được tổ chức theo nhu cầu và phân loại của dự án, tuy nhiên, Laravel khuyến nghị một cấu trúc chuẩn cho việc quản lý các file view.
Thư mục views
thường được đặt trong thư mục gốc của ứng dụng Laravel. Cấu trúc thư mục views
có thể như sau:
- resources - views - layouts - app.blade.php - header.blade.php - footer.blade.php - home.blade.php - about.blade.php - contact.blade.php - ...
Trong đó:
- Thư mục
layouts
chứa các file layout (bố cục) của trang web, bao gồm các phần chung như header, footer và các thành phần giao diện người dùng chung. Fileapp.blade.php
là layout chính và thường được sử dụng để wrap các trang cụ thể. - Các file view trực tiếp nằm trong thư mục
views
và đại diện cho các trang cụ thể trong ứng dụng. Ví dụ,home.blade.php
là file view cho trang chủ,about.blade.php
là file view cho trang giới thiệu, vàcontact.blade.php
là file view cho trang liên hệ.
Laravel sử dụng Blade Template Engine để quản lý và hiển thị các file view. Blade cho phép kết hợp mã PHP và HTML một cách linh hoạt và cung cấp các tính năng như kế thừa layout, include partials, điều kiện, vòng lặp, và các hàm hỗ trợ khác.
Khi một request được gửi đến Laravel, các file view trong thư mục views
sẽ được sử dụng để hiển thị nội dung tương ứng và sau đó được trả về cho trình duyệt của người dùng.
Xem thêm đọc và ghi file trong c++
Thư mục storage của Laravel
Thư mục “storage” trong Laravel là nơi chứa dữ liệu động của ứng dụng, bao gồm các tệp tin tạo ra trong quá trình chạy ứng dụng như tệp tin log, tệp tin tải lên, tệp tin cache và các tệp tin khác liên quan đến việc lưu trữ dữ liệu.
Cấu trúc thư mục “storage” trong Laravel bao gồm các thư mục con sau:
app
: Thư mục “app” chứa các tệp tin do ứng dụng của bạn tạo ra, chẳng hạn như tệp tin log, tệp tin cache và tệp tin tạo ra trong quá trình chạy ứng dụng.framework
: Thư mục “framework” chứa các tệp tin và thư mục liên quan đến framework Laravel, chẳng hạn như cache, sessions, và views đã được biên dịch.logs
: Thư mục “logs” chứa các tệp tin log của ứng dụng. Đây là nơi Laravel lưu trữ các thông báo và thông tin gỡ lỗi trong quá trình chạy ứng dụng.app/public
: Thư mục “app/public” chứa các tệp tin được lưu trữ công khai, như hình ảnh, tệp tin CSS và JavaScript. Đây là nơi bạn có thể lưu trữ các tệp tin tĩnh có thể truy cập trực tiếp từ trình duyệt.app/private
: Thư mục “app/private” có thể là một thư mục tùy chọn, bạn có thể sử dụng nó để lưu trữ các tệp tin riêng tư hoặc nhạy cảm mà không muốn công khai.
Thư mục “storage” trong Laravel được sử dụng để quản lý và lưu trữ dữ liệu động của ứng dụng. Bạn có thể tùy chỉnh các cài đặt liên quan đến lưu trữ và xử lý dữ liệu trong các tệp cấu hình của Laravel như “config/filesystems.php” và “config/logging.php”.
Xem thêm File là gì? File trong hệ điều hành
Thư mục tests của laravel
Thư mục “tests” trong Laravel là nơi chứa các tệp tin kiểm thử (unit tests và functional tests) cho ứng dụng Laravel của bạn. Thư mục này giúp bạn xác định, triển khai và chạy các bài kiểm tra tự động để đảm bảo tính đúng đắn và chất lượng của mã nguồn.
Cấu trúc thư mục “tests” thông thường gồm:
Feature
: Thư mục “Feature” chứa các tệp tin kiểm thử liên quan đến kiểm tra các tính năng lớn của ứng dụng, thường liên quan đến các yêu cầu HTTP hoặc tương tác với các API.Unit
: Thư mục “Unit” chứa các tệp tin kiểm thử liên quan đến kiểm tra các thành phần riêng lẻ, ví dụ như các hàm, phương thức, lớp, và logic của ứng dụng.Browser
: Thư mục “Browser” chứa các tệp tin kiểm thử liên quan đến kiểm tra giao diện người dùng của ứng dụng thông qua trình duyệt web.Console
: Thư mục “Console” chứa các tệp tin kiểm thử liên quan đến kiểm tra các lệnh dòng lệnh (command-line) của ứng dụng.
Mỗi thư mục kiểm thử chứa các tệp tin PHP với các phương thức kiểm thử tương ứng. Bạn có thể sử dụng các phương thức kiểm thử được cung cấp bởi Laravel hoặc tự định nghĩa các phương thức kiểm thử của riêng mình.
Các tệp tin kiểm thử trong thư mục “tests” sử dụng cú pháp và chức năng của Laravel để thực hiện các bài kiểm tra. Bạn có thể sử dụng các phương thức kiểm thử như assert
, assertTrue
, assertEquals
, assertDatabaseHas
, và nhiều phương thức khác để kiểm tra các kết quả mong đợi và đảm bảo tính đúng đắn của mã nguồn.
Thư mục “tests” trong Laravel là một phần quan trọng của việc phát triển ứng dụng, giúp bạn xác định và duy trì chất lượng của mã nguồn thông qua việc thực hiện kiểm thử tự động.
Thư mục vendor của laravel
Thư mục “vendor” trong Laravel là nơi chứa các gói phụ thuộc của ứng dụng. Khi bạn sử dụng Laravel, bạn có thể sử dụng nhiều gói phụ thuộc khác nhau để mở rộng chức năng của ứng dụng. Thư mục “vendor” chứa các thư viện bên thứ ba, các gói phụ thuộc và mã nguồn của chúng.
Khi bạn cài đặt các gói phụ thuộc thông qua Composer (trình quản lý phụ thuộc của PHP), Composer sẽ tải về và cài đặt các gói đó trong thư mục “vendor”. Điều này giúp quản lý và duy trì các phụ thuộc của ứng dụng một cách dễ dàng.
Cấu trúc thư mục “vendor” thường bao gồm các thư mục con tương ứng với từng gói phụ thuộc. Mỗi gói phụ thuộc có thể chứa mã nguồn, tệp tin cấu hình, tài nguyên và các tệp tin khác liên quan đến gói đó.
Đừng chỉnh sửa, thay đổi hoặc xóa các tệp tin trong thư mục “vendor” mà không thông qua quy trình cập nhật phụ thuộc của Composer. Thay vào đó, bạn nên quản lý phụ thuộc thông qua tệp tin “composer.json” và sử dụng Composer để cài đặt, cập nhật hoặc xóa bỏ các gói phụ thuộc.
Thư mục “vendor” trong Laravel không nên được chỉnh sửa trực tiếp, nhưng nó chứa các gói phụ thuộc quan trọng để mở rộng chức năng và tính năng của ứng dụng Laravel của bạn.
Xem thêm Xử lý File Python