Giáo trình Xây dựng Website sử dụng Framework

Xây dựng website sử dụng Framework  
Bài 1: Giới thiệu  
Laravel một framework PHP mã nguồn mở, mạnh mẽ dễ hiểu. Nó  
tuân theo một mẫu thiết kế model-view-controller. Laravel sử dụng lại các thành  
phần hiện của các khung khác nhau để giúp tạo ra một ứng dụng web. Do đó,  
ứng dụng web được thiết kế cấu trúc và thực dụng hơn.  
Laravel cung cấp một tập hợp các chức năng phong phú kết hợp các tính  
năng cơ bản của các framework PHP như CodeIgniter, Yii và các ngôn ngữ lập  
trình khác như Ruby on Rails. Laravel có một bộ tính năng rất phong phú sẽ giúp  
tăng tốc đphát triển web.  
Nếu bạn đã quen thuộc với Core PHP Advanced PHP, Laravel sẽ giúp  
công việc của bạn dễ dàng hơn. tiết kiệm rất nhiều thời gian nếu bạn đang có  
kế hoạch phát triển một trang web từ đầu. Hơn nữa, một trang web được xây dựng  
trong Laravel là an toàn và ngăn chặn một số cuộc tấn công web.  
Ưu điểm của Laravel  
Khi bạn đang thiết kế một ứng dụng web dựa trên Laravel, nó cung cấp  
cho bạn những lợi thế sau:  
Ứng dụng web trở nên có khả năng mở rộng hơn, nhờ vào framework  
Laravel.  
Tiết kiệm đáng kể thời gian trong việc thiết kế ứng dụng web, vì Laravel  
sử dụng lại các thành phần từ framework khác trong việc phát triển ứng  
dụng web.  
Nó bao gồm các không gian tên và giao diện, do đó hữu ích trong việc  
tổ chức quản lý tài nguyên.  
Composer  
Composer một công cụ bao gồm tất cả các dependencies và thư viện.  
Nó cho phép người dùng tạo một dự án liên quan đến framework đã đề cập (ví  
dụ: những dự án được sử dụng trong cài đặt Laravel). Thư viện của bên thứ ba có  
thể được cài đặt dễ dàng với sự trgiúp của composer.  
Tất cả các dependencies được ghi chú trong tệp composer.json được đặt  
trong thư mục nguồn.  
LUONG VAN HIEU  
1
Artisan  
Giao diện dòng lệnh được sử dụng trong Laravel được gọi Artisan. Nó  
bao gồm một tập hợp các lệnh hỗ trxây dựng một ứng dụng web. Các lệnh này  
được kết hợp từ framework Symphony..  
Các tính năng của Laravel  
Laravel cung cấp các tính năng chính sau đây giúp nó trở thành một lựa  
chọn tưởng để thiết kế các ứng dụng web:  
Tính mô đun: Laravel cung cấp 20 thư viện mô-đun tích hợp giúp tăng  
cường ứng dụng. Mỗi mô-đun được tích hợp với trình quản phụ thuộc  
Composer giúp dễ dàng cập nhật.  
Khả năng kiểm tra: Laravel bao gồm các tính năng trợ giúp giúp kiểm  
tra thông qua các trường hợp thử nghiệm khác nhau. Tính năng này giúp  
duy trì mã theo yêu cầu.  
Định tuyến (Routing): Laravel cung cấp một cách tiếp cận linh hoạt cho  
người dùng để xác định các routes trong ứng dụng web. Định tuyến giúp  
mở rộng ứng dụng theo cách tốt hơn tăng hiệu suất của nó.  
Quản cấu hình: Một ứng dụng web được thiết kế trong Laravel sẽ chạy  
trên các môi trường khác nhau, điều đó nghĩa sẽ sự thay đổi liên  
tục trong cấu hình của nó. Laravel cung cấp một cách tiếp cận nhất quán  
để xử cấu hình một cách hiệu quả.  
Trình tạo truy vấn và ORM: Laravel kết hợp một trình xây dựng truy  
vấn giúp truy vấn cơ sở dữ liệu bằng các phương thức chuỗi đơn giản khác  
nhau. Nó cung cấp ORM (Object Relative Mapper) và triển khai  
ActiveRecord được gọi Eloquent.  
Xây dựng lược đồ (Schema Builder): Schema Builder duy trì các định  
nghĩa lược đồ cơ sở dữ liệu trong mã PHP. Nó cũng duy trì theo dõi các  
thay đổi liên quan đến di chuyển cơ sở dữ liệu.  
Công cụ template: Laravel sử dụng công cụ Blade Template, một ngôn  
ngữ template được sử dụng để thiết kế các khối bố cục phân cấp với các  
khối được xác định trước bao gồm nội dung động.  
E-mail: Laravel bao gồm một lớp mail giúp gửi thư nội dung phong  
phú và tệp đính kèm từ ứng dụng web.  
LUONG VAN HIEU  
2
Xây dựng website sử dụng Framework  
Xác thực: Xác thực người dùng là một tính năng phổ biến trong các ứng  
dụng web. Laravel giảm bớt việc thiết kế xác thực vì nó bao gồm các tính  
năng như đăng , quên mật khẩu gửi lời nhắc mật khẩu.  
Redis: Laravel sử dụng Redis để kết nối với một phiên hiện có và bộ đệm  
cho mục đích chung. Redis tương tác với phiên trực tiếp.  
Hàng đợi: Laravel bao gồm các dịch vụ xếp hàng như gửi email số lượng  
lớn hoặc một công việc Cron được chỉ định. Các hàng đợi này giúp hoàn  
thành các nhiệm vụ một cách dễ dàng hơn mà không phải chờ đợi nhiệm  
vụ trước đó được hoàn thành.  
Event và Command Bus: Laravel 5.1 bao gồm Command Bus giúp thực  
thi các lệnh gửi các sự kiện một cách đơn giản. Các lệnh trong Laravel  
hoạt động theo vòng đời của ứng dụng.  
LUONG VAN HIEU  
3
Bài 2: Cài đặt Laravel  
Để quản lý các dependencies, Laravel sử dụng composer. Hãy chắc chắn  
rằng bạn đã cài đặt composer trên hệ thống của mình trước khi cài đặt Laravel.  
Trong bài này, bạn sẽ được hướng dẫn quá trình cài đặt của Laravel.  
Bạn sẽ phải làm theo các bước được đưa ra dưới đây để cài đặt Laravel vào  
hệ thống:  
Bước 1 - Truy cập URL sau và tải xuống trình soạn thảo để cài đặt nó trên hệ  
thống.  
Bước 2 - Sau khi composer được cài đặt, hãy kiểm tra cài đặt bằng cách nhập  
lệnh composer trong dấu nhắc lệnh như trong ảnh chụp màn hình sau.  
Bước 3 - Bây giờ, chúng ta sẽ tập trung vào việc cài đặt framework hoàn chỉnh.  
Giả sử chúng ta tạo dự án tên test trong thư mục C:\xampp\htdocs. Tại thư mục  
htdocs, mở command và nhập lệnh sau:  
composer create-project --prefer-dist laravel/laravel test  
Đầu ra của lệnh như dưới đây:  
LUONG VAN HIEU  
4
Xây dựng website sử dụng Framework  
Framework Laravel có thể được cài đặt trực tiếp với nhánh phát triển (develop)  
bao gồm framework mới nhất.  
Bước 4 - Lệnh trên sẽ cài đặt Laravel trong thư mục hiện tại. Bắt đầu dịch vụ  
Laravel bằng cách thực hiện lệnh sau.  
php artisan serve  
Bước 5 - Sau khi thực hiện lệnh trên, bạn sẽ thấy một màn hình như hình bên  
dưới:  
LUONG VAN HIEU  
5
Bước 6 - Sao chép URL được gạch chân màu xám trong ảnh chụp màn hình ở  
trên và mở URL đó trong trình duyệt. Nếu bạn thấy màn hình sau, nó có nghĩa là  
Laravel đã được cài đặt thành công.  
LUONG VAN HIEU  
6
Xây dựng website sử dụng Framework  
Bài 3: Cấu trúc ứng dụng Laravel  
Cấu trúc ứng dụng trong Laravel về cơ bản cấu trúc của các thư mục,  
thư mục con và tệp có trong một dự án. Khi chúng ta tạo một dự án trong Laravel,  
chúng ta có cấu trúc ứng dụng như trong hình ở đây.  
Ảnh chụp nhanh được hiển thị ở đây đề cập đến thư mục gốc của Laravel,  
cụ thể dự án laravel. Nó bao gồm các thư mục con và tập tin khác nhau. Việc  
phân tích các thư mục tệp, cùng với các chức năng của chúng được đưa ra dưới  
đây:  
LUONG VAN HIEU  
7
App  
Nó là thư mục ứng dụng (application) và bao gồm toàn bộ nguồn của  
dự án. Nó chứa các sự kiện (events), ngoại lệ (exception) và khai báo phần mềm  
trung gian (middleware). Thư mục ứng dụng bao gồm các thư mục phụ khác nhau  
như được giải thích bên dưới:  
Console  
Console chứa tệp Kernel.php định nghĩa các câu lệnh trên artisan.  
Exceptions  
Thư mục này chứa tất cả các phương thức cần thiết để xử lý các trường  
hợp ngoại lệ. cũng chứa tập tin handle.php xử tất cả các ngoại lệ.  
Http  
Thư mục http có các thư mục con cho controllers, middleware.  
Thư mục con Middleware bao gồm cơ chế phần mềm trung gian, bao gồm  
cơ chế lọc và giao tiếp giữa response và request.  
Thư mục con controllers chứa các controller của project .  
Providers  
Thư mục này bao gồm tất cả các Providers dịch vụ cần thiết để đăng ký  
các sự kiện cho các máy chủ core và cấu hình ứng dụng Laravel.  
Bootstrap  
Thư mục này chứa tất cả các tập lệnh bootstrap của ứng dụng. chứa một  
thư mục con cụ thể cache, bao gồm tất cả các tệp được liên kết để lưu trữ ứng  
dụng web. Bạn cũng thể tìm thấy tệp app.php, nó khởi tạo các tập lệnh cần  
thiết cho bootstrap.  
Config  
Thư mục config bao gồm các cấu hình khác nhau và các tham số liên quan  
cần thiết cho hoạt động trơn tru của ứng dụng Laravel. Các tập tin khác nhau  
trong thư mục config được hiển thị trong hình ảnh dưới đây. Các tên file hoạt  
động theo chức năng liên quan đến chúng.  
LUONG VAN HIEU  
8
Xây dựng website sử dụng Framework  
Database  
Như tên cho thấy, thư mục này bao gồm các tham số khác nhau cho các  
chức năng cơ sở dữ liệu. Nó bao gồm ba thư mục con như được đưa ra dưới đây:  
Seeds - Chứa các lớp được sử dụng để tạo dữ liệu thêm vào CSDL.  
Migrations - Thư mục này chứa các file tạo chỉnh sửa dữ liệu.  
Factories - Thư mục này được sử dụng để tạo số lượng lớn các bản ghi  
dữ liệu.  
Public  
Đây thư mục gốc giúp khởi tạo ứng dụng Laravel. Nó bao gồm các tệp  
thư mục sau:  
.htaccess - Tập tin này cung cấp cấu hình máy chủ.  
javascript và css - Những tệp này được coi là assets được sử dụng để  
chứa các file js và css.  
index.php - Tập tin này là cần thiết để khởi tạo một ứng dụng web.  
Resources  
LUONG VAN HIEU  
9
Thư mục Resources chứa các tệp giúp cải thiện ứng dụng web. Các thư  
mục con có trong thư mục này và mục đích của chúng được giải thích bên dưới:  
js - Thư mục các file javascript cho ứng dụng.  
scss - Thư mục chứa các file css cho ứng dụng.  
lang - Thư mục này bao gồm cấu hình vị trí địa hoặc ngôn ngữ.  
views - Views là các tệp HTML hoặc templates tương tác với người  
dùng và đóng vai trò chính trong kiến trúc MVC.  
Quan sát rằng thư mục Resources sẽ được làm phẳng thay vì có một thư  
mục assets.  
routes  
Thư mục routes, chứa tất cả các điều khiển route (đường dẫn) trong project.  
Chứa các file route sẵn có: web.php, channels.php, api.php, và console.php.  
api  
file api.php, điều khiển các route của ứng dụng, như route của ứng dụng  
User (đăng ký, đăng nhập, ...).  
web  
file web.php, điều khiển các route của view, như route của trang top, sản  
phẩm, ...  
Storage  
LUONG VAN HIEU  
10  
Xây dựng website sử dụng Framework  
Đây thư mục lưu trữ tất cả các bản ghi và các tệp cần thiết khi dự án  
Laravel đang chạy. Các thư mục con có trong thư mục này và mục đích của chúng  
được đưa ra dưới đây:  
app - Thư mục này chứa các tệp được gọi liên tiếp.  
framework - Nó chứa các phiên, bộ đệm và các khung nhìn (views) và  
được gọi thường xuyên.  
Logs - Tất cả các trường hợp ngoại lệ nhật lỗi được theo dõi trong  
thư mục con này.  
Tests  
Chứa những file tests, như PHPUnit test.  
Vendor  
Laravel hoàn toàn dựa trên các Composer dependencies , ví dụ để cài đặt  
thiết lập Laravel hoặc nhúng các thư viện của bên thứ ba, v.v ... Thư mục Vendor  
nhúng tất cả các composer dependencies.  
Ngoài các tệp được đề cập ở trên, Laravel còn bao gồm một số tệp khác  
đóng vai trò chính trong các chức năng khác nhau như cấu hình GitHub, các gói  
và các thư viện của bên thứ ba.  
Các tập tin trong cấu trúc ứng dụng được hiển thị bên dưới:  
LUONG VAN HIEU  
11  
Bài 4: Cấu hình Laravel  
Trong bài trước, chúng ta đã biết các tệp cấu hình cơ bản của Laravel được  
đặt trong thư mục cấu hình. Trong bài này, chúng ta hãy thảo luận về các thể loại  
có trong cấu hình.  
Cấu hình môi trường  
Các biến môi trường những biến cung cấp danh sách các dịch vụ web  
cho ứng dụng web. Tất cả các biến môi trường được khai báo trong tệp .env bao  
gồm các tham số cần thiết để khởi tạo cấu hình.  
Theo mặc định, tệp .env bao gồm các tham số sau:  
APP_ENV = local  
APP_DEBUG = true  
APP_KEY = base64:ZPt2wmKE/X4eEhrzJU6XX4R93rCwYG8E2f8QUA7kGK8 =  
LUONG VAN HIEU  
12  
Xây dựng website sử dụng Framework  
DB_CONNECTION = mysql  
DB_HOST = 127.0.0.1  
DB_PORT = 3306  
DB_DATABASE = homestead  
DB_USERNAME = homestead  
DB_PASSWORD = secret  
CACHE_DRIVER = file  
SESSION_DRIVER = file  
QUEUE_DRIVER = sync  
REDIS_HOST = 127.0.0.1  
REDIS_PASSWORD = null  
REDIS_PORT = 6379  
MAIL_DRIVER = smtp  
MAIL_HOST = mailtrap.ioMAIL_PORT = 2525  
MAIL_USERNAME = null  
MAIL_PASSWORD = null  
MAIL_ENCRYPTION = null  
Các điểm quan trọng  
Trong khi làm việc với các tệp cấu hình cơ bản của Laravel, cần lưu ý các  
điểm sau:  
Không nên cố định tệp .env đối với nguồn ứng dụng, mỗi nhà phát  
triển hoặc người dùng có một số cấu hình môi trường riêng cho ứng  
dụng web.  
Đối với các tùy chọn sao lưu, nhóm phát triển nên sử dụng tệp  
.env.example, nó sẽ chứa các cấu hình mặc định.  
Truy xuất các biến môi trường  
Tất cả các biến môi trường được khai báo trong tệp .env thể được truy  
cập bởi các hàm env-helper sẽ gọi tham số tương ứng. Các biến này cũng được  
liệt kê thành biến toàn cục $ _ENV mỗi khi ứng dụng nhận được yêu cầu từ phía  
người dùng. Bạn thể truy cập biến môi trường như hình bên dưới -  
'env' => env('APP_ENV', 'production'),  
Các hàm env-helper được gọi trong tệp app.php có trong thư mục cấu  
hình. Ví dụ đã cho trên đang gọi tham số cục bộ cơ bản.  
Truy cập các giá trị cấu hình  
LUONG VAN HIEU  
13  
Bạn thể dễ dàng truy cập các giá trị cấu hình ở bất cứ đâu trong ứng  
dụng bằng chức năng trợ giúp cấu hình toàn cục. Trong trường hợp nếu các giá  
trị cấu hình không được khởi tạo, các giá trị mặc định được trả về.  
dụ: để đặt múi giờ mặc định, đoạn mã sau được sử dụng -  
config(['app.timezone' => 'Asia/Ho_Chi_minh']);  
Bộ nhớ đệm của cấu hình  
Để tăng hiệu suất tăng cường ứng dụng web, điều quan trọng phải lưu  
trữ tất cả các giá trị cấu hình. Lệnh để lưu trữ các giá trị cấu hình là:  
config:cache  
Ảnh chụp màn hình sau đây cho thấy bộ nhớ đệm theo cách tiếp cận hệ  
thống:  
Chế độ bảo trì  
Đôi khi bạn thể cần cập nhật một số giá trị cấu hình hoặc thực hiện bảo  
trì trên trang web của mình. Trong những trường hợp như vậy, giữ nó trong chế  
độ bảo trì. Các ứng dụng web như vậy được giữ trong chế độ bảo trì thông qua  
một ngoại lệ có tên MaintenanceModeException với trạng thái 503.  
Bạn thể kích hoạt chế độ bảo trì trên ứng dụng web Laravel của mình  
bằng lệnh sau:  
php artisan down  
LUONG VAN HIEU  
14  
Xây dựng website sử dụng Framework  
Ảnh chụp màn hình sau đây cho thấy ứng dụng web sẽ hiển thị khi nó bị  
ngừng hoạt động  
Khi bạn hoàn thành công việc cập nhật bảo trì khác, bạn thể tắt chế  
độ bảo trì trên ứng dụng web của mình bằng lệnh sau  
php artisan up  
LUONG VAN HIEU  
15  
Bây giờ, bạn thể thấy rằng trang web hiển thị đầu ra với chức năng phù  
hợp chỉ ra rằng chế độ bảo trì hiện đã bxóa như hiển thị bên dưới  
LUONG VAN HIEU  
16  
Xây dựng website sử dụng Framework  
Bài 5: Định tuyến (Routing)  
Trong Laravel, tất cả các yêu cầu (request) được ánh xạ với sự trợ giúp của  
các routes. Định tuyến cơ bản định tuyến yêu cầu đến các controller liên quan.  
Bài này thảo luận về định tuyến trong Laravel.  
Định tuyến trong Laravel bao gồm các loại sau:  
Định tuyến cơ bản  
Định tuyến các tham số  
Các định tuyến đặt tên  
Định tuyến cơ bản  
Tất cả các định tuyến ứng dụng được đăng ký trong tệp routes/web.php.  
Tệp này thông báo cho Laravel về các URI mà nó sẽ phản hồi và controller được  
liên kết sẽ cung cấp cho nó một lời gọi cụ thể. Định tuyến mẫu cho trang welcome  
thể được hiển thị trong ảnh chụp màn hình được cung cấp bên dưới:  
Route::get('/', function () {  
return view('welcome');  
});  
dụ  
Quan sát ví dụ sau để hiểu thêm về Routing.  
routes/web.php  
Route::get('/', function () {  
return view('welcome');  
});  
resources/view/welcome.blade.php  
LUONG VAN HIEU  
17  
<!DOCTYPE html>  
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">  
<head>  
<meta charset="utf-8">  
<meta name="viewport" content="width=device-width, initial-scale=1">  
<title>Laravel</title>  
<!-- Fonts -->  
<link  
href="https://fonts.googleapis.com/css?family=Nunito:200,600"  
rel="stylesheet">  
<!-- Styles -->  
<style>  
html, body {  
background-color: #fff;  
font-family: 'Nunito', sans-serif;  
font-weight: 200;  
height: 100vh;  
margin: 0;  
}
.full-height {  
height: 100vh;  
}
.flex-center {  
align-items: center;  
display: flex;  
justify-content: center;  
}
.content {  
LUONG VAN HIEU  
18  
Xây dựng website sử dụng Framework  
text-align: center;  
}
.title {  
font-size: 84px;  
}
.m-b-md {  
margin-bottom: 30px;  
}
</style>  
</head>  
<body>  
<div class="flex-center position-ref full-height">  
<div class="content">  
<div class="title m-b-md">  
Laravel  
</div>  
</div>  
</div>  
</body>  
</html>  
Cơ chế Routing hiển thị như ảnh dưới đây  
LUONG VAN HIEU  
19  
Bây giờ chúng ta cúng tìm hiểu các bước liên quan đến cơ chế định tuyến  
một cách chi tiết:  
Bước 1 - Đầu tiên, chúng ta nên thực thi URL gốc của ứng dụng.  
Bước 2 - Bây giờ, URL được thực thi phải khớp với phương thức thích hợp trong  
tệp web.php. Trong trường hợp hiện tại, phải phù hợp với phương thức và  
URL gốc (’/'). Điều này sẽ thực hiện các chức năng liên quan.  
Bước 3 - Hàm gọi file template resources/views/welcome.blade.php. Tiếp theo,  
hàm gọi hàm view() với đối swelcome', không sử dụng blade.php.  
sẽ tạo ra đầu ra HTML như trong hình bên dưới:  
Định tuyến các tham số  
LUONG VAN HIEU  
20  
Tải về để xem bản đầy đủ
docx 126 trang Thùy Anh 05/05/2022 5520
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Xây dựng Website sử dụng Framework", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docxgiao_trinh_xay_dung_website_su_dung_framework.docx