Xây dựng Website bán mỹ phẩm bằng Larave | Báo cáo đồ án chuyên ngành công nghệ thông tin

Xây dựng Website bán mỹ phẩm bằng Larave | Báo cáo đồ án chuyên ngành công nghệ thông tin. Tài liệu được biên soạn dưới dạng file PDF gồm 39 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!

Thông tin:
39 trang 7 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Xây dựng Website bán mỹ phẩm bằng Larave | Báo cáo đồ án chuyên ngành công nghệ thông tin

Xây dựng Website bán mỹ phẩm bằng Larave | Báo cáo đồ án chuyên ngành công nghệ thông tin. Tài liệu được biên soạn dưới dạng file PDF gồm 39 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!

279 140 lượt tải Tải xuống
lOMoARcPSD| 41632112
LỜI MỞ ĐẦU
BỘ CÔNG THƯƠNG
TRƯỜNG CAO ĐẲNG CÔNG THƯƠNG TP.HCM
KHOA: CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH
XÂY DỰNG WEBSITE BÁN MĨ PHẨM
BẰNG LARAVEL
Sinh viên: Phan Thị Thanh Quy
Lớp: CCQ2011D
GVHD: Chu Thị Mai
TP.HCM, 15/12/2022
lOMoARcPSD| 41632112
PHẦN 1. MỞ ĐẦU
1. Lý do chọn đề tài
Laravel một web application framework của PHP. Được đánh giá một trong
những Framework có cú pháp đẹp, ngắn gọn và dễ nhớ nhất trong các PHP Framework.
Laravel cung cấp cho bạn một kiến trúc tốt để bạn thể bắt đầu project của mình
không cần phải thay đổi, chỉnh sửa thêm.
Trải qua nhiều version khác nha, Laravel ngày càng chứng minh được những nỗ lực của
mình trong việc cố gắng đem lại cho lập trình viên những trải nghiệm tốt nhất. Bằng
chứng Laravel đưa vào những tính năng tuyệt vời phục vụ cho quá trình phát triển
web như: Database Abstract Layer, Queues, Scheduled jobs, Unit and integration testing
và nhiều hơn thế nữa...
Khi mức độ phổ biến của sự phát triển của Laravel đang tăng lên với tốc độ ấn
tượng, nhu cầu về các tính năng ơng tự cũng tăng lên. Để đáp ứng nhu cầu mua hàng
ngày càng tăng này, một số ứng dụng đã sẵn sàng hiện sẵn trên thị trường thể
được sử dụng để thêm một loạt các tính năng vào trang web của Laravel. Với các ứng
dụng đã sẵn sàng, chi phí phát triển tổng thể giảm xuống rất nhiều. một số tính năng
thú vị khác của Laravel framework khiến nó trở thành một trong những nền tảng được
ưa chuộng nhất để phát triển web.
2. Mục đích nghiên cứu (các kết quả cần đạt được).
Xây dựng website bán mĩ phẩm.
Giới thiệu và trưng bày được các mặt hàng
Nhanh chóng hiệu quả
Thuận tiện cho việc bán và mua hàng.
3. Đối tượng và phạm vi nghiên cứu.
Đối tượng nghiên cứu:
Laravel framework.
Tìm hiểu khảo sát qui trình bán hàng qua mạng để sở xây dựng
một trang web bán hàng mĩ phẩm .
Phạm vi nghiên cứu:
Xây dựng một trang web bán lẻ, chuyên bán sản phẩm các mặt hàng phẩm
trong nước và các mặt hàng nội địa.
4.Phương pháp nghiên cứu:
Phương pháp thông kê, thu thập thông tin, số liệu.
Phương pháp phân tích và tổng hợp tài liệu để xây dựng một website.
Quá trình tin học để xây dựng website thương mại điện tử.
NHẬN XẾT CỦA GIÁO VIÊN
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
lOMoARcPSD| 41632112
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
Tp.HCM, ngày…,tháng…năm 2022
Giáo viên hướng dẫn
(Kí tên)
Mục Lục
LỜI MỞ ĐẦU.............................................................................................................2
PHẦN 1. MỞ ĐẦU.....................................................................................................2
1. Lý do chọn đề tài................................................................................................2
2. Mục đích nghiên cứu (các kết quả cần đạt được)................................................2
3. Đối tượng và phạm vi nghiên cứu......................................................................2
4. Phương pháp nghiên cứu:...................................................................................2
PHẦN 2. LÝ THUYẾT...............................................................................................6
CHƯƠNG 1: TỔNG QUAN.......................................................................................6
1. PHP Framework là gì?........................................................................................6
2. Tại sao nên sử dụng PHP Framework?...............................................................6
3. Tại sao nên sử dụng Laravel
Framework?............................................................6
CHƯƠNG 2: GIỚI THIỆU LARAVEL......................................................................7
lOMoARcPSD| 41632112
1. Cấu trúc thư mục của Laravel.............................................................................7
2. Cài đặt Laravel...................................................................................................8
2.1 Chạy ứng dụng đầu tiên với Laravel...............................................................9
2.2 Route trong Laravel Framework.....................................................................9
2.3 Basic Routing..................................................................................................9
2.4 Route Parameters..........................................................................................10
2.5 Route Filters..................................................................................................11
2.6 Name Route..................................................................................................12
2.7 Route Groups................................................................................................13
2.8 Route Prefixing.............................................................................................13
3. View trong Laravel Framework........................................................................14
4. Controller trong Laravel
Framework..................................................................15
4.1 Khai báo Controller trong Laravel Framework:............................................15
4.2 Chạy Controller theo phương thức Route::get...............................................16
4.3 Implicit Controllers Sử dụng phương thức Route::controller.....................16
4.4 RESTfulResourceControllers–Sửdụng phương thức Route::resource...........17
4.5 Controller với Filter......................................................................................19
4.6 Kết nối cơ sở dữ liệu.....................................................................................20
5. Cấu hình kết nối cơ sở dữ liệu trong Laravel Framework.................................20
5.1 Database Transactions...................................................................................22
5.2 Sử dụng Query Builder.................................................................................23
CHƯƠNG 3 : PHÂN TÍCH THIẾT KẾ HỆ THỐNG...............................................24
1. Phân ch yêu c u
..............................................................................................24
1.1. Xác Định Tác
Nhân....................................................................................24
1.2. Xác Định Tính
Năng..................................................................................24
1.3. Phân Tích Tính
Năng.................................................................................24
1.4. Sơ Đồ Use
Case.........................................................................................27
2. Phân thích và thiết kế cơ sở dữ liệu..................................................................29
2.1. Bảng Dữ
Liệu.............................................................................................29
lOMoARcPSD| 41632112
2.2. Mối Quan Hệ Giữa Các
Bảng....................................................................31 CHƯƠNG 3: GIAO DIỆN
WEBSITE..................................................................32
1. Trang Người Dùng............................................................................................32
1.1 Giao di nệ ......................................................................................................32
1.2 Đăng ký/ Đăng nh p.....................................................................................32
1.3 Gi hàng
........................................................................................................34
1.4 Mua hàng......................................................................................................34
2. Trang Qu n Tr
...................................................................................................35
2.1 Đăng nh p
.....................................................................................................36
2.2 Thêm s n ph m
.............................................................................................36
CHƯƠNG 4: KẾT LUẬN.........................................................................................38
1. K t lu nế ậ
...........................................................................................................38
2. ớng phát tri nể .............................................................................................38
CHƯƠNG 5 : DANH MỤC CÁC TÀI LIỆU THAM KHẢO...................................39
lOMoARcPSD| 41632112
6
PHẦN 2. LÝ THUYẾT
CHƯƠNG 1: TỔNG QUAN
1. PHP Framework là gì?
PHP là ngôn ngữ kịch bản phổ biến nhất của thế giới vì nhiều lý do khác nhau -
tính linh hoạt, dễ dàng sử dụng, trong số những người khác - nhưng thường mã hóa
trong PHP, hoặc vấn đề về ngôn ngữ, có thể nhận được khá đơn điệu và lặp đi lặp lại.
Đó là một framework PHP có thể được trợ giúp.
Dòng phát triển của PHP framework trên các ứng dụng web viết trên nền tảng
PHP.Được cung cấp một cấu trúc cơ bản để xây dựng các ứng dụng web.
Nói cách khác, PHP framework giúp đỡ thúc đẩy phát triển các ứng dụng nhanh
chóng (RAD), giúp bạn tiết kiệm thời gian, giúp xây dựng các ứng dụng ổn định hơn,
và làm giảm số lượng mã hóa lặp đi lặp lại cho developer. Framework có thể giúp
người mới bắt đầu để xây dựng các ứng dụng ổn định hơn bằng cách đảm bảo tương
tác cơ sở dữ liệu phù hợp và mã (PHP) và giao diện (HTML) một cách riêng biệt.
Điều này cho phép bạn dành nhiều thời gian tạo ra các ứng dụng web thực tế, thay vì
dành thời gian viết các đoạn mã lặp đi lặp lại trong một project.
2. Tại sao nên sử dụng PHP Framework?
rất nhiều do khác nhau để các lập trình viên sử dụng PHP Framework, nhưng
1 trong những do chính vẫn là khả năng giúp các lập trình viền tăng tốc qtrình
phát triển ứng dụng. Việc sử dụng lại các lệnh giống nhau trong nhiều project sẽ
giúp các bạn tiết kiệm được thời gian công sức 1 cách đáng kể. Một Framework
sẽ cung cấp sẵn các module nền tảng cần thiết để xây dựng 1 project, thế, các lập
trình viên thể tận dụng được thời gian để phát triển các ứng dụng thực tế, hơn
mất thời gian để xây dựng lại nền tảng trên mỗi projec
3. Tại sao nên sử dụng Laravel Framework?
hơn 20 Framework nguồn mở PHP khác nhau, nhưng trong số đó thì
Laravel Framework phổ biến nhất, xếp sau là: PhaIcon, Symfony2, CodeIgniter,
Yii,… .
Nó là 1 Framework khá mới mẻ nhưng bù lại nó có "hướng dẫn sử dụng" khá đầy
đủ, ràng dễ hiểu cùng với cộng đồng phát triển rộng lớn trên toàn thế giới.
Nếu bạn đã từng làm việc với các Framework khác hoặc chỉ người mới bắt đầu
"chập chửng" tìm hiểu PHP Framework tviệc tiếp cận Laravel Framework không
phải vấn đề khó khăn gì. Ưu điểm của là: Autoload theo namespace, c lệnh
tương tác với sở dữ liệu cực kỳ ngắn gọn thân thiện, phân trang trong laravel
cực kỳ đơn giản, việc quản layout giờ đây thật sự giản đơn với Laravel, dễ dàng
tích hợp các thư viện của Zend và các gói bundle (giống như moduel) vào project, có
rất nhiều gói bundle đc các đồng đạo trên thế giới build sẵn share trên github
còn rất nhiều ưu điểm khác đang đợi các bạn khám phá… .
lOMoARcPSD| 41632112
7
CHƯƠNG 2: GIỚI THIỆU LARAVEL
1. Cấu trúc thư mục của Laravel
Một dự án web viết bằng Laravel có cấu trúc thư mục như :
Folder / File Mô tả
Thư mục app, chứa tất cả các project được tạo, hầu hết các class trong
project được tạo đều ở trong đây. app
Không giống các framwork khác, các file model không được chứa trong
một thư mục riêng biệt, mà được chứa ngay tại thư mục app này.
app/Console Thư mục Console, chứa các tập tin định nghĩa các câu lệnh trên artisan.
app/Exceptions Thư mục Exceptions, chứa các tập tin quản lý, điều hướng lỗi.
app/Http/Controllers Thư mục Controllers, chứa các controller của project.
app/Http/Middleware Thư mục Middleware, chứa các tập tin lọc và ngăn chặn các requests.
Thư mục Providers, chứa các file thực hiện việc khai báo service bind
app/Providers vào trong Service Container.
Thư mục bootstrap, chứa những file khởi động của framework và những
bootstrap
file cấu hình auto loading, route, và file cache.
config Thư mục config, chứa tất cả những file cấu hình.
Thư mục database, chứa 2 thư mục migration (tạo và thao tác database) và
database seeds (tạo dữ liệu mẫu), tiện lợi để lưu trữ dữ liệu sau này.
Thư mục factories, chứa các file định nghĩa các cột bảng dữ liệu để tạo ra
database/factories các dữ liệu mẫu.
database/migrations Thư mục migrations, chứa các file tạo và chỉnh sửa dữ liệu.
database/seeds Thư mục seeds, chứa các file tạo dữ liệu thêm vào CSDL.
Thư mục public, chứa file index.php giống như cổng cho tất cả các
public request vào project, bên trong thư mục còn chứa file JavaScript, và CSS. Thư mục
resources, chứa những file view và raw, các file biên soạn như
resources LESS, SASS, hoặc JavaScript. Ngoài ra còn chứa tất cả các file lang trong
project.
resources/views Thư mục views, chứa các file view xuất giao diện người dùng.
Thư mục routes, chứa tất cả các điều khiển route (đường dẫn) trong
routes project. Chứa các file route sẵn có: web.php, channels.php, api.php, và console.php.
file api.php, điều khiển các route của ứng dụng, như route của ứng dụng routes/api.php
User (đăng ký, đăng nhập, ...). file web.php, điều khiển các route của
view, như route của trang top, sản routes/web.php phẩm, ...
storage
Thư mục storage, chứa các file biên soạn blade templates của bạn, file
based sessions, file caches, và những file sinh ra từ project.
Thư mục app, dùng để chứa những file sinh ra từ project.
Thư mục framework, chứa những file sinh ra từ framework và
caches.
Thư mục logs, chứa những file logs.
Thư mục /storage/app/public, lưu những file người dùng tạo ra
như hình ảnh.
lOMoARcPSD| 41632112
8
tests Thư mục tests, chứa những file tests, như PHPUnit test. vendor Thư mục
vendor, chứa các thư viện của Composer.
.env file .env, chứa các config chính của Laravel. artisan file thực hiện
lệnh của Laravel.
.gitattributes
File dành cho xử lý git.
.gitignore composer.json composer.lock
File của Composer.
composer-setup.php package.js file package.js, chứa các package cần
dùng cho projects. phpunit.xml file phpunit.xml, xml của phpunit dùng để
testing project.
webpack.mix.js file webpack.mix.js, file dùng để build các webpack.
2. Cài đặt Laravel
Chúng ta cài Laravel với composer và cũng có 2 cách để cài đặt laravel
Composer create-project
Composer laravel installer.
Lưu ý về phiên bản PHP Laravel 8 yêu cầu PHP >= 7.3 vậy các bạn cần nâng cấp PHP
của mình trước khi cài
Cài qua composer create-project.
Đối với cách này các bạn chỉ cần sử dụng câu lệnh sau: composer
create-project --prefer-dist laravel/laravel: ten_project
VD: Chúng ta cài laravel vào thư mục laravel8. Tại htdocs shift + chuột phải --> open
PowerShell windows here hoặc mở cmder lên gõ vào lệnh sau composer
create-project --prefer-dist laravel/laravel: ^8 laravel8
Lưu ý: nếu ban muốn cài đặt phiên bản laravel 8 mới nhất thì các bạn sử dụng lệnh sau:
composer create-project --prefer-dist laravel/laravel:8. * laravel8 Cài
qua laravel installer.
Tớc hết phải cài laravel/installer package bằng lệnh sau composer
global require laravel/installer
Sau khi đã cài đặt thành công laravel/installer các bạn cần chắc chắn $PATH trên máy của
các bạn đã thêm composer bin.
Cài đặt laravel bằng câu lệnh sau:
Trong đó folder_name là tên folder chứa code laravel của bạn.
laravel new folder_name
lOMoARcPSD| 41632112
9
Chạy Laravel.
Để chạy laravel các bạn cần trỏ đến thư mục vừa cài đặt laravel chạy câu lệnh. dụ
mình truy cập vào thư mục laravel8 bật cmder và gõ lệnh
Chạy thành công truy cập vào link http://localhost:8000/
Chúng ta thấy trang welcome của laravel 8 là thành công.
2.1 Chạy ứng dụng đầu tiên với Laravel
- Các bạn truy cập vào file app/route.php và thêm nội dung sao vào cuối file:
Route::get(‘/dang-nhap’,function()
{ echo ‘Đây là trang đăng nhập’;
});
- các bạn thử lên trình duyệt đường link:
http://localhost/kienthuc24h/public/dang-nhap các bạn sẽ thấy được kết quả với nội
dung sau:
Đây là trang đăng nhập
2.2 Route trong Laravel Framework
Mục đích của router là định tuyến đến những controller cụ thể nào từ phía request
của người sử dụng. Đối với những Framework khác thì khi các bạn muốn thực hiện
1 công việc nào đó thường chúng ta cần xây dựng 1 controller để xử phải không
nào, nhưng trong Laravel thì các bạn hoàn toàn có thể xử lý dữ liệu ngay trong phần
Router. Đây chính điểm mạnh cũng như điểm khác biệt lớn của Laravel Framework
đối với các Framework khác.
2.3 Basic Routing
- Các định tuyến trong Laravel đều được viết trong app/route.php. pháp
đơn giản nhất của 1 định tuyến đó là:
Route::method(‘URI’,’Function call back’)
Trong đó thì:
+ URI là dạng link trên url.
+ Function callback: Hàm sẽ gọi tới link URI phía trên được chạy, đây chính là
nơi các bạn có thể xử lý dữ liệu.
+ Method chính là các dạng phương thức cơ bản: post, get, put, delete, any.
- POST Route: Các thao tác lấy từ form như thêm dữ liệu.
- GET Route: Dành cho các thao tác truy cập thông thường tương đương với
request cơ bản trong PHP. Ví dụ chạy 1 link trên url.
- PUT Route: Dành cho thao tác lấy từ form nhưng là cập nhật dữ liệu.
- DELETE Route: Dành cho thao tác hành động xóa dữ liệu.
- ANY Route: là sự tổng hợp các thao tác ở trên.
Trong đó thì 2 dạng POST và GET sẽ được sử dụng nhiều nhất.
php artisan serve
lOMoARcPSD| 41632112
10
Ví dụ:
Các bạn mở file app/route.php và viết dòng code sau:
Route::get(‘/san-pham’, function()
{ echo ‘Trang sản phẩm’;
});
Tiếp theo truy cập vào đường link url với đường dẫn localhost/kienthuc24h/s
an-pham (Trong đó thì kienthuc24h chính thư mục dự án). Khi các bạn chạy link
này lập tức trong Route sẽ kiểm tra và gọi đúng tới hàm callback. Sau khi chạy trang
này các bạn sẽ nhận được thông báo như ý muốn.
- Ngoài ra các bạn còn có thể tùy chỉnh rất nhiều trong phần Route y theo
cú pháp:
Ví dụ: Route::method(‘Tên định danh’,’Tham số’);
Route::get(“san-pham”,”ProductController@list”);
Với dụ trên nghĩa khi chúng ta chạy link san-pham c này bộ điều hướng
sẽ gọi tới controller là ProducController và phương thức (action) là list.
2.4 Route Parameters
- Trong trường hợp các bạn muốn gửi kèm theo tham số cho bộ định tuyến thì
chỉ cần khai báo theo dạng{Tên tham số} và trong hàm callback chúng ta coi nó như
tham số trong hàm bình thường.
Ví dụ:
Route::get(‘/san-pham/{name}/{id}’, function($name,$id)
{ echo ‘Bạn đang xem sản phẩm’.$name.’có ID =
’.&id;
});
Tiếp theo bạn truy cập vào đường link
localhost/kienthuc24h/sanpham/nokia520/1 và kết quả sẽ là:
Bạn đang xem sản phẩm nokia520 có ID = 1
- Ngoài ra các bạn hoàn toàn thể kiểm tra dữ liệu của tham số truyền vào
bằng cách sử dụng thêm phương thức where().
Ví dụ:
Route::get(‘/san-pham/{name}/{id}’, function($name,$id){
echo ‘Bạn đang xem sản phẩm’.$name.’có ID = ’.&id;
})->where(array(‘name’=>’[a-z]+’,’id’=>’[0-9]+’));
trường hợp trên ta xét với điều kiện kiểm tra sẽ sản phẩm(name) sẽ các
ký tự thường từ a-z còn id sẽ là các số tự nhiên từ 0-9.
lOMoARcPSD| 41632112
11
2.5 Route Filters
- Đây chính phần bộ lọc định tuyến, cho phép chúng ta thể kiểm tra
trước khi cập nhật vào đường dẫn đó (URI). Ứng dụng trong thực tế là kiểm tra trạng
thái đăng nhập trước khi cho phép truy cập vào 1 trang nào đó.
- Filter chia ra 2 loại là before và after.
+ Before: Nghĩa là request trước khi tới routing.
+ After: Nghĩa là request sau khi tới routing.
Trên thực tế thì Before thường được sử dụng nhiều hơn.
- Cú pháp cơ bản:
Route::filter(“tên filter”, function(){
// code xử lý
});
Ví dụ:
Route:: filter(“checklogin”, function(){ if(session::get(‘login’)!
=1){ return Redirect::to(“/dang-nhap”);
}
});
Đoạn code trên mình xây dựng 1Filter tên checklogin đang thực hiện
kiểm tra xem biến session login có bằng 1, ý định của mình ở đây là kiểm tra xem đã
đăng nhập chưa. Nếu chưa đăng nhập thì lập tức chuyển về trang đăng nhập.
Tiếp theo ta có đoạn code:
Route::get(‘/them-san-pham’,
array(“before”=>”checklogin”,”uses”=>
”ProductController@store”));
Với đoạn code trên mình đã thêm vào khóa before chỉ tới checklogin. Chính
filter ta đã thiết lập trước đó, đẩy sang controller ProductController với action
là store dựa vào khóa uses.
- Như vậy, khi các bạn truy cập vào link them-san-pham thì c này sẽ kiểm
tra Filter checklogin trước.
- Với bất kỳ link nào đó mà bạn muốn kiểm tra đăng nhập thì chỉ cần sử dụng
“before”=>”checklogin” là được.
- Filter trong Laravel Framework còn cho phép chúng ta truyền giá trị vào dựa
vào cú pháp sau:
Route::filter(‘Tên filter’, function($route, $request,$value){
lOMoARcPSD| 41632112
12
// code xử lý, kiểm tra dữ liệu
});
+ Như các bạn thấy tham số thứ 3 $value chính là giá trị mà chúng ta sẽ truyền
vào, ví dụ:
Route::filter(“checkId”, function($route, $request,$value){
// Xử lý dữ liệu
if($value<=0)
{ echo ‘Id khong hop le’;
}
});
Route::get(‘/check-id’,array(“before”=>”checkId:-1”,”uses”=>”
DemoController@checkid“));
+ Như vậy khi các bạn chạy link check-id c này sẽ gọi tới Filter checkId để
kiểm tra, và giá trị mình gửi sang bên Filter đó chính là -1(checkId:-1).
- Qua những dụ này các bạn thấy được ý nghĩa sức mạnh của filter
trong thực tế phải không nào. Với filter ta thể tối giản code mức cao nhất tái
sử dụng vô cùng đơn giản.
2.6 Name Route
- Đặt tên cho các Route nhằm sử dụng linh hoạt cho ứng dụng. Dễ dàng lấy
được thông tin của Route thông qua tên này.
Ví dụ:
Route::get(‘/san-pham/{name}/{id}’, array(‘as’=>’product’,’uses’=>Produ
ctController@view));
$url=
URL::route(“product”,array(‘nokia520’,’1’)); echo
“<a href=’$url’>Chi tiết sản phẩm</a>”; + as: Là
tên của route (product).
+ uses: Route này sẽ sử dụng controller (ProductController) nào action (view)
nào.
+ Thư viện URL, sử dụng phương thức route với cú pháp sau:
URL::route(“tên route”, array(‘chứa đối số’));
Sau khi chạy đoạn code trên chúng ta sẽ có $url=/san-pham/nokia520/1.
- Tiếp đến ta xây dựng 1 controller với nội dung sau:
lOMoARcPSD| 41632112
13
<?php
class ProductController extends BaseController{
public function view($name,$id)
{ echo ‘Bạn đang xem sản phẩm’.$name.’có ID =
’.$id; }
} kết qusẽ hiển thị
ra như sau:
Bạn đang xem sản phẩm nokia520 có ID = 1
2.7 Route Groups
- Route Groups sẽ giúp chúng ta có thể nhóm các Route mà cần thông
qua bộ lọc định tuyến nào đó (Filter). Như với dụ trên chúng ta Filter
checklogin, giả sử chúng ta rất nhiều trang cần sử dụng bộ lọc kiểm tra đăng
nhập này, không lẻ chúng ta phải viết tất cả các khóa before. Nhưng khi sử dụng
Route Groups các bạn chỉ cần viết 1 lần khóa before cho nhóm đó.
Ví dụ:
Route::group(array(“before”=>”checklogin”), function(){
Route::get(‘/them-san-pham’,array(“uses”=>”ProductControl
ler@store”));
Route::get(‘/cap-nhat-san-pham’,array(“uses”=>”Product
Controller@update”));
Route::get(‘/them-danh-muc’,array(“uses”=>”CatalogControl
ler@store”));
Route::get(‘/cap-nhat-danh-muc’,array(“uses”=>”CatalogControl
ler@update”));
});
+ Như vậy khi các bạn truy cập vào các link ở trên tsẽ được thông qua Filter
checklogin kiểm trước.
2.8 Route Prefixing
- Gồm 1 số các định tuyến mà đằng trước nó có tiền tố.
Ví dụ:
localhost/kienthuc24h/admin/them-san-pham
localhost/kienthuc24h/admin/cap-nhat-san-pham
lOMoARcPSD| 41632112
14
localhost/kienthuc24h/admin/them-danh-muc
localhost/kienthuc24h/admin/cap-nhat-danh-muc
- Với các đường link trên thì các bạn thấy trước nó đều có tiền tố (Prefix)
admin phải không nào. Lúc này chúng ta hoàn toàn thể cho vào 1 nhóm có tiền
tố admin và thực hiện kiểm tra.
Ví dụ:
Route::group(array(“prefix”=>”admin”,”before”=>”checklogin”), function(){
// phần sử lý nằm ở đây.
});
Với ví dụ trên thì mình đang nhóm tất cả các link có tiền tố là admin, và
trước khi truy cập vào những link này mình sẽ thực hiện gọi tới Filter checklogin để
kiểm tra xem đã đăng nhập chưa.
3. View trong Laravel Framework
- Như đã đề cập ở trên thì thư mục view dùng để chứa các file mẫu như html
để tương tác với người sử dụng nằm trong thư mục (app/view).
- Để sử dụng view ta có thể sử dụng như sau: return View::make("Tên",Đối
số nếu có);
Ví dụ trong app/route.php ta có đường dẫn sau:
Route::get("name",function(){
return View::make("hoten"); // gọi file view có tên là: app/views/hoten.php
});
<!-- View stored in app/views/hoten.php -->
<html>
<body>
<h1>Hello, <?php echo $name; ?></h1>
</body>
</html>
Sau đó ta tạo file app/views/hoten.php với nội dung là ” Tên tôi là Tính” . khi chạy
thử đường link http://localhost/kienthuc24h/public/name thì ta sẽ thấy kết quả.
Vậy nếu ta muốn truyền đối số cho view thì sao. Bạn có nhiều cách để làm điều đó.
Cách 1: Sử dụng đối số
Route::get("name2",function(){
$data['name']= "Bui Van
Tinh"; return View::make("hoten",$data);
});
lOMoARcPSD| 41632112
15
Với cách này bạn đang truyền sang view hoten.php một đối số có tên là $name. Do
vậy tại hoten.php bạn có thể dùng nó như sau:
echo "Họ tên của bạn là: $name";
Cách 2: Truyền qua 1 phương thức tên with().
Route::get("name3",function(){ return
View::make('hoten')->with('name', 'Steve'); });
Và ở view hoten.php ta hoàn toàn có thể sử dụng $name dễ dàng. Nhưng với cách
này, bạn sẽ rất khó để truyền nhiều giá trị cho view.
Cách 3: Sử dụng hàm compact() trong PHP.
Route::get("name4",function(){
$name = "Framgia"; return
View::make("hoten",compact("name")); });
Và ở view abcd.php bạn chỉ việc sử dụng $id một cách dễ dàng.
Trong trường hợp bạn muốn thao đặt view trong thực mục cho gọn gàng. Bạn có thể
sử dụng phân cách, thay vì là dấu / thì bạn sẽ dùng dấu “.”.
Route::get("name",function(){ return
View::make("demo.hoten"); });
4. Controller trong Laravel Framework
- Như các bạn được biết trong Laravel cho phép chúng ta thể xử lý dữ
liệungay n trong Route nhưng đối với những thao tác phức tạp dài chúng ta
lên xửtrong Controller.Có như vậy thì ứng dụng của bạn mới trở nên linh hoạt
và dễ mở rộng sau này.
4.1 Khai báo Controller trong Laravel Framework:
Để tạo 1 controller các bạn cần vào thư mục app/controller với các quy tắc sau:
1. Tên file trùng với tên Class.
2. Kế thừa từ lớp BaseController.
Ví dụ, tạo 1 file HocphpController.php với nội dung:
<?php
class HocphpController extends BaseController
{ public function test(){ echo 'Tim hieu ve Controller trong
Laravel tai kienthuc24h';
}
}
lOMoARcPSD| 41632112
16
4.2 Chạy Controller theo phương thức Route::get
- Tớc tiên các bạn truy cập vào file routes.php thêm nội dung sau:
Route::get('/controller-test', 'HocphpController@test');
Với đoạn code cấu hình trên ta đã khai báo 1 link controller-test sẽ gọi tới
controller HocphpController phương thức(action) test.Như vậy khi các chạy
link localhost/kienthuc24h/public/controller-test sẽ hiển thị nội dung như ý muốn:
Tim hieu ve Controller trong Laravel tai kienthuc24
Chúng ta sẽ đi thêm vào 1 dụ nữa về việc truyền tham số vào controller thế
nào nhé.Trong HocphpController tạo phương thức sau:
<?php
class HocphpController extends BaseController
{ public function view($title, $id)
{ echo 'Bạn đang xem bài viết '.$title.' có ID là :'.$id; }
}
Và file routes.php ta cấu hình như sau:
Route::get('/bai-viet-{title}/{id}', 'HocphpController@view');
khi các bạn chạy link localhost/laravel/public/bai-viet-hocphp/1 sẽ nhận
được kết quả:
Bạn đang xem bài viết hocphp có ID là :1
Như vậy các bạn thấy chúng ta đã gửi thành công 2 biến đó chính $title =
hocphp và $id = 1.
4.3 Implicit Controllers – Sử dụng phương thức Route::controller
Như các bạn thấy trong 1 controller chúng ta thường có khá nhiều các phương
thức(action) phải không nào,như vậy chả lẽ mỗi lần muốn chạy 1 action nào đó lại
phải vào file routes.php để thêm cấu nh sao?như vậy cũng thật bất tiện và khó quản
lý phải không nào.Trong Larvel còn cho phép chúng ta có thể chạy các phương thức
trong controller 1 cách tự động dựa vào tên action đó.
+ Trước tiên các bạn vào file routes.php thêm đoạn code cấu hình như sau:
Route::controller('hocphp', 'HocphpController');
Với phương thức Route::controller cho phép chúng ta sử dụng 2 đối số, đối số
thứ nhất chính là định dạnh URI,đối số thứ 2 chính là tên lớp controller.Trong ví dụ
trên mình đã định nghĩa 1 URI có tên hocphp đại diện cho lớp controller
HocphpController.
+ Tiếp theo chúng ta cần chỉnh sửa nội dung file controller như sau:
<?php
class HocphpController extends BaseController
{ public function getTest(){ echo 'Tim hieu ve Controller trong
Laravel tai kienthuc24h';
}
}
Như các bạn thấy nếu chúng ta cấu hình theo phương thức Route::controller
trong routes thì trong controller chúng ta cũng phải viết đúng theo các quy tắc trong
Laravel như sau:
lOMoARcPSD| 41632112
17
+ Trước các action phải có các tiền tố là các giá trị get, post, any…các giá tr
này các bạn có thể xem lại về Route phía trên và tên action phải viết hoa chữ cái đầu.
+ Tên phương thức phân biệt chữ hoa và chứ thường.
+ Khi muốn chạy action thì chạy theo dạng link URI/tên action viết thường.
Và lúc này chúng ta muốn chạy action test thì sẽ chạy đường link sau:
locaho st/kienthuc24h/public/hocphp/test, thì sẽ được kết quả như mong đợi.
4.4 RESTfulResourceControllers–Sửdụng phương thức Route::resource
- Để lập một controller qua câu lệnh command line, thì ta thực hiện: php
artisan controller:make HocphpController
- Bây giờ bạn thể xử một resourceful route tới controller:
Route::resource('hocphp', 'HocphpController');
Việc lập route đơn y sẽ xử nhiều route của RESTful actions trên nguồn
hocphp.
Dưới đây là bảng ánh xạ giữa route và action:
<?php
class HocphpController extends BaseController {
/**
* Hocphp Repository
*
* @var Hocphp
*/ protected
$Hocphp;
/**
* Display a listing of the resource.
*
* @return Response */
public function index()
{
}
Hình 2.5: Ánh x gia route và acton
Và d
i đây là 1 ví d đn gin trong controller HocphpController:
lOMoARcPSD| 41632112
18
* Show the form for creating a new resource.
*
* @return Response */
public function create()
{
}
/**
* Store a newly created resource in storage.
*
* @return Response
*/ public function
store()
{
}
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/ public function
show($id)
{
}
/**
* Show the form for editing the specified resource. *
* @param int $id
* @return Response
*/ public function
edit($id)
{
}
/**
* Update the specified resource in storage.
*
* @param int $id
* @return Response
lOMoARcPSD| 41632112
19
*/
public function update($id)
{
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return Response
*/ public function
destroy($id)
{
}
}
- Như vậy những việc quản dữ liệu(hiển thị ,thêm, sửa, xóa) các bạn
thể viết tại controller này.
Ngoài ra thì bạn có thể giới hạn được những action nào được thực thi:
Route::resource('hocphp', 'HocphpController',
array('only' => array('index',
'show'))); Route::resource('hocphp',
'HocphpController', array('except' => array('create', 'store', 'update',
'destroy')));
4.5 Controller với Filter
- Trong phần Route phía trên mình đã giới thiệu về filters trong Laravel.Đây
chính là phần bộ lọc định tuyến,cho phép chúng ta thể kiểm tra trước khi truy
cập vào đường dẫn đó.Như vậy các bạn hoàn toàn thể sử dụng filters để lọc dữ
liệu với Controller.Bạn có thể khai báo trên file route như sau:
Route::get('add', array('before' => 'auth',
'uses' => 'HocphpController@store'));
- Ngoài ra các bạn còn có thể sử dụng filters ngay tại trong Controller,ví dụ:
<?php
class HocphpController extends BaseController
{ public function construct()
{
$this->beforeFilter('auth', array('except' => 'getLogin'));
$this->beforeFilter('csrf', array('on' => 'post'));
}
}
- Bạn cũng có thể chỉnh định cho filter bằng cách sử dụng Closure:
lOMoARcPSD| 41632112
20
<?php
class HocphpController extends BaseController {
/**
* Instantiate a new UserController instance.
*/ public function
construct()
{
$this->beforeFilter(function()
{
//code here
});
}
}
- Nếu bạn muốn sử dụng một phương thức khác làm filter thì ban thể
thêm @ để định nghĩa filter:
<?php
class HocphpController extends BaseController
{ public function construct()
{
$this->beforeFilter('@filterRequests');;
}
public function filterRequests($route, $request){
//code here
}
}
}
=> Như vậy các bạn thấy việc sử dụng Filter cho Controller rất nhiều cách
phải không nào.
4.6 Kết nối cơ sở dữ liệu
Laravel kết nối tới cơ sở dữ liệu và chạy truy vấn cực kỳ đơn giản. Cấu hình nằm
tại file app/config/database.php. Trong file này thì định nghĩa tất cả những loại kết
nối sở dữ liệu, tất nhiên chúng cũng có loại sở kết nối mặc định. Những ví
dụ ới đây được áp dụng cho tất cả những loại sở dữ liệu được cung cấp trong
file này.Hiện tại thì Laravel hổ trợ những hệ thống sở dữ liệu sau: MySQL,
Postgres, SQLite, và SQL Server.
5. Cấu hình kết nối cơ sở dữ liệu trong Laravel Framework
- Các bạn mở file app/config/database.php và tìm tới dòng cấu hình:
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'laravel',
'username' => 'root',
lOMoARcPSD| 41632112
21
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
Với đoạn cấu hình trên thì các bạn cần quan tâm cho mình 4 thông số cấu hình
sau:
1. host: Cấu hình host,các bạn giữ nguyên là localhost.
2. database: Cấu hình tên cơ sở dữ liệu mà bạn đang sử dụng.
3. username: Tài khoản có quyền truy cập vào cơ sở dữ liệu.
4. password: Mật khẩu của tài khoản ở trên.
Do mình đang sử dụng Xampp lên mặc định username = 'root' và password =
' '.
Để phục vụ cho những đoạn code test này mình sẽ tạo 1 bảng dữ liệu sau:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(128) CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin
AUTO_INCREMENT=12 ;
- Thực hiện chạy câu lệnh truy vấn, sau khi đã kết nối vào hệ thống:
1. Chạy câu lệnh truy vẫn dữ liệu:
$results = DB::select('select * from users where id = ?', array(1)); Với
phương thức selectchúng ta sẽ lấy ra được dữ liệu trả về dạng mảng
2. Chạy câu lệnh thêm dữ liệu vào cơ sở dữ liệu:
DB::insert('insert into users (id, name) values (?, ?)', array(1, 'hocphp'));
3. Chạy câu lệnh cập dữ liệu:
DB::update('update users set name = "nobitacnt" where id = ?',
array('1'));
4. Chạy câu lệnh xóa dữ liệu: DB::delete('delete from users');
Ghi chú: Câu lệnh insert câu lệnh delete luôn trả về con số record bị ảnh
hưởng. 5. Câu lệnh xóa bảng:
DB::statement('drop table users');
5.1 Database Transactions
Để thao tác những câu lệnh bên trong transaction cơ sở dữ liệu, bạn có thể dùng
phương thức transaction:
DB::transaction(function()
{
DB::table('users')->update(array('id' => 1));
DB::table('posts')->delete();
});
lOMoARcPSD| 41632112
22
Ghi chú: Bất kỳ câu lệnh nào cũng được đưa vào transaction, transaction
cũng sẽ thực thi rollback một cách tự động.
1. Để bắt đầu 1 transaction ta thực hiện:
DB::beginTransaction();
2. Bạn cũng thể rollback qua phương thức: DB::rollback();
3. Cuối cùng thì bạn cần commit nó lên: DB::commit();
- Khi bạn sử dụng nhiều hơn 1 sở dữ liệu và muốn thực hiện truy
vấn thì các bạn có thể sử dụng phương thức:
DB::connection
Ví dụ mình có cấu hình như sau,với 2 cơ sở dữ liệu
//cơ sở dữ liệu 1,là chính
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'laravel',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' =>
'utf8_unicode_ci', 'prefix' => '',
),
//cơ sở dữ liệu 2
'mysql2' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'laravel2',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' =>
'utf8_unicode_ci', 'prefix' => '',
),
kết nối mặc định của chúng ta skết nối tới sở dữ liệu mysql,còn trong
trường hợp muốn kết nối tới cơ sở dữ liệu 2 ta sử dụng:
$users = DB::connection('mysql2')->select('select * from user');
print_r($users);
5.2 Sử dụng Query Builder
Query Builder giúp ta trong việc thao tác cỡ sở dữ liệu một cách thuận lợi hơn,với
những câu lệnh truy vấn đơn giản thân thiện để tạo chạy những truy vấn từ sở
dữ liệu (CSDL). thường được sử dụng để thực thi hầu hết những thao tác về CSDL
trong ứng dụng của bạn, làm việc với tất cả những CSDL được hổ trợ. Query
Builder sử dụng PDO (PHP Data Objects) nhằm bảo vệ ứng dụng và tránh các lỗi về
lOMoARcPSD| 41632112
23
SQL injection. Query Builder xây dựng lớp DB để thực hiện các câu truy vấn. Chúng
ta sẽ cùng đi tìm hiểu các phương thức quan trọng trong lớp DB này:
Để phục vụ cho loạt ví dụ ở dưới chúng ta cùng tạo 1 bảng dữ liệu để thực hành:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(128) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`id`)
lOMoARcPSD| 41632112
24
CHƯƠNG 3 : PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1. Phân ch yêu c u
1.1. Xác Định Tác Nhân
Người dùng : Người dùng là học viên, người nghiên cứu về lập trình, người muốn tìm hiểu
thông tin, ghé thăm website để đọc các bài viết có giá trị về mặt nội dung mà không cần
đăng nhập, đăng ký để được làm thành viên.
Thành viên : Thành viên là người dùng phải thông qua thủ tục đăng nhập, ghé thăm website để
đọc, bình luận và chia sẻ các bài viết có giá trị về mặt nội dung.
Quản trị viên : Quản trị viên là thành viên có quyền cao nhất được thiết lập từ trước, ghé thăm
website để đọc, bình luận và chia sẻ các bài viết có giá trị về mặt nội dung. Quản trị viên có thể
quản trị thành viên, quản trị bài viết, quản trị bình luận.
1.2. Xác Định Tính Năng
Người dùng : Xem, Tìm Kiếm, Đăng Ký.
Thành viên : Xem, Tìm Kiếm, Đăng Nhập, Đăng Xuất, Bình Luận.
Quản trị viên : Xem, Tìm Kiếm, Đăng Nhập, Đăng Xuất, Bình Luận, Quản Lý Thành Viên,
Quản Lý Bài Viết, Quản Lý Bình Luận.
1.3. Phân Tích Tính Năng
ID U01
Chức Năng Xem
Tiêu Đ Là Người Dùng, Thành Viên hoặc Quản Trị Viên, tôi muốn nhìn thấy các bài viết
mới nhất khi truy cập Website, có thể xem bài viết chi tiết.
Mô T Điều kiện: U01 được thực hiện.
Đầu vào: Người Dùng, Thành Viên hoặc Quản Trị Viên truy cập vào trang chủ
hoặc trang bài viết.
Đầu ra: Hiển thị thông tin, hình ảnh, nội dung bài viết sắp xếp theo bố cục hợp
lý.
ID U02
Chức Năng Tìm Kiếm
Tiêu Đ Là Người Dùng, Thành Viên hoặc Quản Trị Viên, tôi muốn tìm kiếm bài viết dựa
trên tiêu đề của bài viết.
Mô T Điều kiện: U02 được thực hiện.
Đầu vào: Người Dùng, Thành Viên hoặc Quản Trị Viên gõ trên thanh công cụ tìm
kiếm của website 1 phần hoặc toàn bộ tiêu đề.
Đầu ra: Hiển thị thông tin, hình ảnh các bài viết có 1 phần hoặc toàn bộ tiêu đề
lOMoARcPSD| 41632112
25
lOMoARcPSD| 41632112
26
Tiêu ĐLà Quản Trị Viên tôi muốn quản lý tất cả các thành viên hiện có trên website như thêm –
sửa – xóa.
Mô T Điều kiện: U04, U07 được thực hiện.
Đầu vào: Quản Trị Viên truy cập vào trang quản lý thành viên với các nút ấn
tương ứng như Thêm – Sửa – Xóa thành viên.
Đầu ra: Hiển thị thông tin đầy đủ, mạch lạc theo bảng các thành viên và các chức
năng tương ứng được thực hiện rành mạch.
ID U08
Chức Năng Quản Lý Bài Viết
Tiêu Đ Là Quản Trị Viên tôi muốn quản lý tất cả các bài viết hiện có trên website như
thêm – sửa – xóa.
Mô T Điều kiện: U04, U08 được thực hiện.
Đầu vào: Quản Trị Viên truy cập vào trang quản lý bài viết với các nút ấn tương
ứng như Thêm – Sửa – Xóa bài viết.
Đầu ra: Hiển thị thông tin đầy đủ, mạch lạc theo bảng các bài viết và các chức
năng tương ứng được thực hiện rành mạch.
ID U09
Chức Năng Quản Lý Bình Luận
Tiêu Đ Là Quản Trị Viên tôi muốn quản lý tất cả các bình luận hiện có trên website như
thêm – sửa – xóa.
Mô T Điều kiện: U04, U08 được thực hiện.
Đầu vào: Quản Trị Viên truy cập vào trang quản lý bình luận với các nút ấn
tương ứng như Thêm – Sửa – Xóa bài viết.
Đầu ra: Hiển thị thông tin đầy đủ, mạch lạc theo bảng các bài viết và các chức
năng tương ứng được thực hiện rành mạch.
1.4. Sơ Đồ Use Case
lOMoARcPSD| 41632112
27
Sơ Đồ 2.1 Use Case Khách
Sơ Đồ 2.2. Use Case Thành Viên
lOMoARcPSD| 41632112
28
Sơ Đồ 2.3. Use Case Quản Trị Viên
Sơ Đồ 2.4. Use Case Tổng Quát
2. Phân thích và thiết kế cơ sở dữ liệu
2.1 Bảng Dữ Liệu
lOMoARcPSD| 41632112
29
users
id
Integer
PK, Auto Increment
Varchar (100)
name
Varchar (100)
email
Unique
Varchar (100)
Encrypt
password
Timestamp
created_at
Timestamp
updated_at
Timestamp
deleted_at
posts
lOMoARcPSD| 41632112
30
lOMoARcPSD| 41632112
31
2.2 Mối Quan Hệ Giữa Các Bảng
CHƯƠNG 3: GIAO DIỆN WEBSITE
1. Trang Người Dùng
1.1 Giao di n
giao diện trang chủ của website cho phép khách hàng được xem c mặt hàng phẩm
được trưng bày.
created_at
Timestamp
updated_at
Timestamp
Timestamp
deleted_at
image_post
id
Integer
PK, Auto Increment
Integer
image_id
Integer
post_id
created_at
Timestamp
updated_at
Timestamp
deleted_at
Timestamp
lOMoARcPSD| 41632112
32
Hình 1: Giao diện
Hình 2: Sản phẩm trưng bày
1.2 Đăng ký/ Đăng nh p
Để mua được hàng trong shop thì khách hàng truy cập vào trang đăng ký. Khi đã đăng
kí tài khoản thì sau đó chúng ta vào trang chủ để đăng nhập vào tài khoản mà mình đã
tạo trước đó, khi đó ta có thế vào lựa chọn các sản phẩm mà mình yêu thích và tiến hành
đặt hàng nhé.
lOMoARcPSD| 41632112
33
Hình 3. Đăng kí
Hình 4: Đăng nhập
1.3 Gi hàng
Sau khi đăng nhập thành công ta có thể mua hàng thông qua các sản phẩm có tại web.
lOMoARcPSD| 41632112
34
Hình 5: Giỏ hàng
1.4 Mua hàng
Để mua được hàng thì khách hàng phải nhập đẩy đủ và chính xác các thông tin trên:
Hình 6: Thông tin khách hàng
lOMoARcPSD| 41632112
35
Ví dụ minh họa:
Hình 7: Nhập thông tin
Sau khi nhấn o Đặt Hàng thì hệ thống sẽ tự động lưu lại những thông tin và lên đơn giao
hàng cho khách hàng.
2. Trang Qu n Tr
Quản trị website là bao gồm các công việc như: Duy trì Server, sửa lỗi code, thiết kế,
theo dõi traffic, bảo dưỡng. Ngoài ra còn quản lý content, đánh giá và tối ưu SEO
nhằm đảm bảo website vận hành trơn tru cũng như nâng cao trải nghiệm người dùng.
lOMoARcPSD| 41632112
36
Hình 8: Giao diện Admin
2.1 Đăng nh p
Hình 9: Đăng nhập tài khoản
2.2 Thêm s n ph m
Nhấn vào Add New để thêm sản phẩm.
Hình 10: Thêm sản phẩm
lOMoARcPSD| 41632112
37
Hình 11: Ví dụ
Hình 12: Sản phẩm đã được thêm vào trang người dung CHƯƠNG 4: KẾT LUẬN
lOMoARcPSD| 41632112
38
1. K t lu n ế ậ
Phân tích được nguyên lý vận hành của công nghệ web;
Đánh giá được giao diện phù hợp với nhu cầu doanh nghiệp;
Đánh giá được các công nghệ khả thi với môi trường (phần cứng, phần mềm) hiện để
triển khai ứng dụng web trên máy chủ và trên máy khách;
Lựa chọn được các ứng dụng môi trường cần thiết cho máy chủ web;
Phân tích được yêu cầu của khách hàng về ứng dụng web;
Phân tích được hệ thống thông tin, cơ sở dữ liệu;
2. Hướng phát tri n ể
Nội dung chất lượng.
Thiết kế web chuẩn seo.
Sử dụng các công cụ thống kê Cập nhật website thường xuyên.
Chú trọng vào tương tác khách hàng.
Chiến lược Marketing để thúc đẩy trang web của bạn.
Chỉnh chu đến từng hình ảnh.
lOMoARcPSD| 41632112
39
CHƯƠNG 5 : DANH MỤC CÁC TÀI LIỆU THAM KHẢO
[1] Khóa học Laravel
[2] Trang web: https://laravel.com
[3] Trang web: https://unitop.vn
[4] Trang web: Hướng dẫn cách chạy laragon
[5] Youtube: Học lập trình Laravel
| 1/39

Preview text:

Hello, <?php echo $name; ?>