1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo Web PHP lavarel

26 17 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Đề Tài
Tác giả Phan Minh Quân, Nguyễn Thành Nhân, Nguyễn Hoàng Vũ, Nguyễn Mạnh Phương, Cao Tiến Hiếu
Người hướng dẫn Thầy Lưu Quang Phương
Trường học Trường Đại Học Mở Thành Phố Hồ Chí Minh
Chuyên ngành An Toàn Hệ Thống Thông Tin
Thể loại Bài Báo Cáo
Năm xuất bản 2022
Thành phố Hồ Chí Minh
Định dạng
Số trang 26
Dung lượng 3,32 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lập trình trang web bán quần áo bằng PHP laravel. Xã hội hiện đang trên đà phát triển vượt trội về mặt thương mại điện tử. Nhu cầu mua bán online đang là xu hướng hàng đầu trong dịch vụ thương mại điện tử. Vì những nhu cầu cấp thiết trên nên đã sinh ra hàng trăm, hàng nghìn thậm chí hàng triệu website bán hàng để thỏa mãn nhu cầu mua – bán của người mua và người bán. Chính vì điều đó nhóm chúng em quyết định xây dựng một website bán quần áo. Hiện nay có thể xem công nghệ xây dựng website bằng Laravel framework rất phổ biến. Laravel framework dùng mã nguồn mở miễn phí, vì thế nên Laravel framework có thể được cài đặt trên hầu hết các Web Server thông dụng hiện nay như Apache, IIS… Dễ học khi đã biết HTML, C, OOP(Vì php được phát triển trên nền tảng C, OOP), có nhiều Web Server có cấu hình đơn giản như XAMPP, WAMPP,… thư viện phong phú(Joomla, wordpress…), có tính bảo mật, thích hợp cho làm việc nhóm. Tuy nhiên ngoài những ưu điểm, bên cạnh đó Laravel framework còn có nhược điểm là chỉ chạy trên ứng dụng web, mã nguồn không đẹp và hiếm tool.

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH

KHOA: CÔNG NGHỆ THÔNG TIN

*o*o*o**o*o*o*

BÀI BÁO CÁO

ĐỀ TÀI:

Sinh viên thực hiện:

Giảng viên hướng dẫn : Thầy Lưu Quang Phương

HỒ CHÍ MINH – Năm 2022



Trang 2

MỤC LỤCY

DANH MỤC HÌNH ẢNH 4

LỜI MỞ ĐẦU 5

PHẦN 1 MỞ ĐẦU 5

1 Lý do chọn đề tài 5

2 Mục đích nghiên cứu (các kết quả cần đạt được) 5

3 Đối tượng và phạm vi nghiên cứu 5

4 Phương pháp nghiên cứu 5

PHẦN 2 ĐỀ CƯƠNG CHI TIẾT 6

CHƯƠNG 1 ĐẶT VẤN ĐỀ 6

1 PHP Framework là gì? 6

2 Tại sao nên sử dụng Laravel Framework? 6

CHƯƠNG 2 GIỚI THIỆU VỀ LARAVEL 7

1 Cấu trúc thư mục Laravel 7

2 Cài đặt Laravel 8

2.1 Cài composer 8

2.2 Cài đặt Laravel 8

3 Route trong Laravel Framework 9

4 View trong Laravel Framework 10

5 Controller trong Laravel Framework 10

5.1 Khai báo Controller trong Laravel Framework 10

5.2 Chạy Controller theo phương thức Route::get 11

6 Kết nối cơ sở dữ liệu 11

6.1 Cấu hình kết nối cơ sở dữ liệu trong Laravel Framework 11

Trang 3

7 Sử dụng Migrations và Schema Builder 14

CHƯƠNG 3: GIAO DIỆN – THIẾT KẾ CHỨC NĂNG WEBSITE 15

1 Đăng ký/ Đăng nhập 15

2 Quản lý các danh mục trong admin 17

3 Load Slider 21

4 Sản phẩm 21

5 Đặt hàng 24

6 Mail 25

KẾT LUẬN 26

Trang 4

Hình 1 1 Cấu trúc thư mục Laravel Framework 8

YHình 2 1 Cài đặt Composer 8

Hình 2 2 Cài đặt laravel 9

YHình 3 1 Kết nối cơ sở dữ liệu 12

YHình 4 1 Đăng nhập admin 15

Hình 4 2 Đăng nhập sai 16

Hình 4 3 Đăng ký 17

Hình 4 4 Mã hóa mật khẩu 17

YHình 5 1 Thêm danh mục 18

Hình 5 2 Danh sách danh mục 18

Hình 5 3 Danh sách sản phẩm 19

Hình 5 4 Thêm sản phẩm 19

Hình 5 5 Danh sách slider 20

Hình 5 6 Thêm slider 20

YHình 6 1 Load slider 21

YHình 7 1 Load sản phẩm 22

Hình 7 2 Phân trang theo danh mục 22

Hình 7 3 Chi tiết sản phẩm 23

Hình 7 4 Thêm sản phẩm vào giỏ hàng 24

YHình 8 1 Danh sách đơn hàng 25

Hình 8 2 Xử lý thông tin đơn 25

YHình 9 1 Nhận mail khi có đơn hàng 27

Trang 5

vì điều đó nhóm chúng em quyết định xây dựng một website bán quần áo.

- Hiện nay có thể xem công nghệ xây dựng website bằng Laravel framework rất phổ biến Laravel framework dùng mã nguồn mở miễn phí, vì thế nên Laravel framework

có thể được cài đặt trên hầu hết các Web Server thông dụng hiện nay như Apache, IIS… Dễ học khi đã biết HTML, C, OOP(Vì php được phát triển trên nền tảng C, OOP), có nhiều Web Server có cấu hình đơn giản như XAMPP, WAMPP,… thư viện phong phú(Joomla, wordpress…), có tính bảo mật, thích hợp cho làm việc nhóm Tuy nhiên ngoài những ưu điểm, bên cạnh đó Laravel framework còn có nhược điểm là chỉ chạy trên ứng dụng web, mã nguồn không đẹp và hiếm tool

2 Mục đích nghiên cứu (các kết quả cần đạt được).

- Xây dựng website kinh doanh quần áo

 Giới thiệu và trình bày được các mặt hàng

 Nhanh chóng hiệu quả

 Đảm bảo chính xác, bảo mật cao, tiện lợi và dễ dàng sử dụng cho khách hàng

 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

4 Phương pháp nghiên cứu.

 Phương pháp thống kê, thu nhập thông tin, số liệu

Trang 6

 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ử

PHẦN 2 ĐỀ CƯƠNG CHI TIẾT

CHƯƠNG 1 ĐẶT VẤN ĐỀ

1 PHP Framework là gì?

- PHP Framework là một bộ thư viện đã được tạo dựng sẵn, bao gồm rất nhiều chứcnăng và các module để xây dựng project Ngoài ra, PHP Framework còn giúp việcphát triển các project nhanh hơn, dễ dàng hơn Đồng thời nó còn làm hạn chế những

lỗi phát sinh cơ bản và làm tăng sự ổn định của các ứng dụng

2 Tại sao nên sử dụng Laravel Framework?

-Laravel là một trong các PHP Framework phổ biến nhất trong giới Developer

Tìm hiểu về Laravel cũng rất dễ dàng vì mỗi bản phát hành đều được hướng dẫn đầy đủ với các tài liệu, tutorial và blog được cập nhật thường xuyên

Laravel có nhiều tính năng tuyệt vời và sáng tạo để lập trình Chẳng hạn, giao diệncommand-line Artisan cung cấp một số lệnh hữu ích khi lập trình Laravel cũng có một công cụ tạo template mạnh mẽ, cho phép bạn làm các tác vụ phổ biến như authentication, caching, sessions, RESTful routing…

Laravel cũng có một hệ sinh thái rất lớn với platform lưu trữ và deployment Bất

cứ Developer nào dù chưa từng học qua PHP Framework cũng có thể học rất nhanh Laravel

Một số ưu điểm của Laravel bao gồm:

Trang 7

CHƯƠNG 2 GIỚI THIỆU VỀ LARAVEL

1 Cấu trúc thư mục Laravel

Một laravel framework có cấu trúc như sau:

Hình 1 1 Cấu trúc thư mục Laravel Framework

Trang 9

Hình 2 2 Cài đặt laravelVới “example-app” là tên thư mục bạn muốn đặt bộ source code laravel

3 Route trong Laravel Framework.

- Định tuyến (route) trong Laravel có nghĩa là chỉ dẫn từ yêu cầu của người dùng sẽ làm gì Hoặc khi người truy cập vào trang đăng nhập rồi click nút đăng nhập thì nó sẽ làm gì thì route sẽ điều hướng đúng những thứ cần thực hiện

*o* Basic Routing

- Các định tuyến trong Laravel đều được viết trong routes/web.php Cú pháp đơn giản nhất của một định tuyến đó là:

Route::method(‘URI’,’Function call back’)

- Trong đó thì:

 URI là dạng link trên url

 Function call back: Hàm sẽ gọi tới link URI phía trên được chạy, đây chính là nơi có thể xử lý dữ liệu

 Method là các dạng phương thức cơ bản: post, get, put, delete, any

o POST Route: Các thao tác lấy từ form như thêm dữ liệu

o GET Route: Dành cho 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

o PUT Route: Dành cho các thao tác lấy từ form nhưng là cập nhật dữ liệu

o DELETE Route: Dành cho thao tác hành động xóa dữ liệu

o 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

(Trongđó thì shop chính là thư mục dự án) Khi các bạn chạy link này thì lập tức trong

Trang 10

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.

4 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 (Resources/Views)

- Để 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 routes/web.php ta có đường dẫn sau:

Sau đó ta tạo file routes/views/hoten.php với nội dung là ”lập trình web ” khi

chạy thử đường link http://localhost/shop /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

đó

5 Controller trong Laravel Framework

- Như các bạn được biết trong Laravel cho phép chúng ta có thể xử lý dữ liệu

ngay bên trong Route nhưng đối với những thao tác phức tạp và dài chúng ta lên xử

lý 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

5.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:

Trang 11

2 Kế thừa từ lớp Controller.

Ví dụ, tạo 1 file HocphpController.php với nội dung:

<?php

class HocphpController extends Controller {

public function test(){

echo 'Tim hieu ve Controller trong Laravel ';

}

}

5.2 Chạy Controller theo phương thức Route::get

- Trướ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 và phương thức(action) là test.Như vậy khi các chạylink localhost/shop /public/controller-test sẽ hiển thị nội dung như ý muốn:

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ạikết nối cơ sở dữ liệu, tất nhiên là chúng cũng có loại cơ sở kết nối mặc định Những

ví dụ dưới đây được áp dụng cho tất cả những loại cơ sở dữ liệu mà được cung cấptrong file này.Hiện tại thì Laravel hổ trợ những hệ thống cơ sở dữ liệu sau: MySQL,Postgres, SQLite, và SQL Server

6.1 Cấu hình kết nối cơ sở dữ liệu trong Laravel Framework

- Các bạn mở file en và tìm tới dòng cấu hình:

Trang 12

Hình 3 1 Kết nối cơ sở dữ liệuVớ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 DB_HOST: Cấu hình host,các bạn giữ nguyên là localhost

2 DB_DATABASE: Cấu hình tên cơ sở dữ liệu mà bạn đang sử dụng

3.DB_USERNAME: Tài khoản có quyền truy cập vào cơ sở dữ liệu

4 DB_PASSWORD: Mật khẩu của tài khoản ở trên

- 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 select chúng ta sẽ lấy ra được dữ liệu trả về dạng mảng

Trang 13

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 và câu lệnh delete luôn trả về con số record bị ảnh

Trang 14

Và kết nối mặc định của chúng ta sẽ kết nối tới cơ 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');

Trang 15

+ Phương thức create – Tạo bảng dữ liệu

+ Phương thức rename – Đổi tên bảng dữ liệu

+ Phương thức drop – Xóa bảng dữ liệu

Form đăng nhập admin/user

- Mô tả: Khi đăng nhập sẽ gửi thông tin đăng nhập của user hoặc admin về cho hệ thống Controller của hệ thống là Login controller sẽ xác thực người dùng/admin nếu đúng thì sẽ chuyển vào trang index/admin sai thì sẽ thông báo nhập lại

Hình 4 1 Đăng nhập admin

Trang 16

Khi nhập sai tài khoản hoặc mật khẩu sẽ hiện thông báo và cho người dùng nhập lại.

Hình 4 2 Đăng nhập saiĐăng kí

- Mô tả: khi đăng kí sẽ gửi thông tin đăng ký của user hoặc admin về cho hệ thống

Controller của hệ thống là Registercontroller lưu thông tin của người dùng/admin và

mã hóa mật khẩu rồi lưu xuống để bảo mật cho người dùng/admin nếu lưu thành công

hệ thống sẽ báo thành công và ngược lại

Trang 17

Hình 4 3 Đăng ký

Mã hóa mật khẩu khi đăng kí

- Mô tả: để luôn đảm bảo tính an toàn bảo mật thông tin người dùng thì chức năng này cũng là một phần rất quan trọng, nó giúp “băm nhỏ” mật khẩu của bạn thành một chuỗi kí tự và cơ sở dữ liệu lưu lại các kí tự mã hóa này thay vì lưu mật khẩu của người dùng

Hình 4 4 Mã hóa mật khẩu

2 Quản lý các danh mục trong admin

- Mô tả: chức năng này cho phép admin xem danh mục và thêm/sửa/xoá các danh mục sản phẩm

Thêm danh mục

Trang 18

Hình 5 1 Thêm danh mụcDanh sách danh mục

- Mô tả: chức năng này giúp admin đưa các danh mục quan trọng lên giao diện trang chủ

Hình 5 2 Danh sách danh mục

Trang 19

- Mô tả: chức năng cho phép xem danh sách các sản phẩm hiện có và admin có thể thêm mới sản phẩm hoặc sừa xóa các sản phẩm hiện có

Hình 5 3 Danh sách sản phẩmThêm sản phẩm

Hình 5 4 Thêm sản phẩmDanh sách slider

Trang 20

- Mô tả: chức năng này dùng có thể xem các slide hiện đang có và admin có thể thêm mới slide hoặc sửa xóa các slide cũ

Hình 5 5 Danh sách slider

Thêm slider

Hình 5 6 Thêm slider

Trang 21

3 Load Slider

Load slider

- Mô tả: chức năng này được admin đưa các hình ảnh trong slider để làm trang banner trong trang chủ, những tấm ảnh này sẽ liên tục lặp sau vài giây Vòng lặp này sẽ bị trì hoãn nếu user trực tiếp bấm vào thao tác chuyển slide Sau khi user không thao tác chuyển trang thì vòng lặp ấy sẽ lặp lại

Trang 22

Hình 7 1 Load sản phẩmPhân trang theo danh mục

- Mô tả: ở chức năng này người dùng sẽ tìm sản phẩm theo các danh mục có sẵn để dễ tìm kiếm và phù hợp hơn

Hình 7 2 Phân trang theo danh mụcLoad thông tin sản phẩm

Trang 23

- Mô tả: khi khách hàng click vô sản phẩm muốn xem chi tiết ở trang chủ thì các thôngtin sản phẩm ở database sẽ được nạp lên

Hình 7 3 Chi tiết sản phẩmThêm sản phẩm vô giỏ hàng

- Mô tả: khi khách hàng click vào nút add to cart thì các thông tin sản phẩm đó sẽ đượclưu vào mục cart và cũng từ controller cart đó sẽ thực hiện load các thông tin đó ở trong giỏ hàng, nếu sản phẩm đã có trong giỏ hàng thì cập nhật thêm số lượng sản phẩm người dùng thêm vào

Trang 24

Hình 7 4 Thêm sản phẩm vào giỏ hàng

5 Đặt hàng

Danh sách đơn đặt hàng

- Mô tả: chức năng cho phép admin xem các đơn hàng đã được đặt thành công và cho phép admin sửa hoặc xóa đơn hàng khi khách hàng liên hệ và muốn sửa đơn hàng của mình

Trang 25

Hình 8 1 Danh sách đơn hàng

Xử lý thông tin đặt hàng

- Mô tả: chức năng này hiển thị sau khi người dùng đã chọn xong tất cả sản phẩm muốn mua, sau đó hiện ra form để khách hàng hàng điền thông tin cá nhân vào hoặc dán mã giảm giá để tạo đơn hàng, cuối cùng là nhấn đặt hàng

Hình 8 2 Xử lý thông tin đơn

6 Mail

Phản hồi mail khi đặt hàng

- Mô tả: chức năng này cho phép người người dùng nhận một mail thông báo đã đặt được hàng sau khi người dùng bấm nút đặt hàng

Trang 26

Hình 9 1 Nhận mail khi có đơn hàng

KẾT LUẬN

- Ngôn ngữ PHP kết hợp với hệ quản trị cơ sở dữ liệu MySQL cho phép chúng ta thiết

kế và xây dựng trang Web có tính năng cao Thời đại mà công nghệ thông tin đã trở thành một nhu cầu không thể thiếu Việc một công ty tổ chức bán hàng trên mạng là một phương pháp tối ưu để bán hàng, có thể giảm thiểu thời gian và các chi phí khác của khách hàng và công ty Với thời gian và năng lực có hạn, trong một thời gian em

đã nghiên cứu và ứng dụng thư viện Laravel với công cụ hỗ trợ Laragon để xây dựng thử nghiệm trang Web thương mại điện tử Trong quá trình thực hiện đề tài này không thể tránh khỏi những thiếu sót Kính mong sự thông cảm, góp ý và bổ sung của các thầy cô và các bạn để Website ngày càng hoàn thiện hơn Em xin chân thành cảm ơn!

Ngày đăng: 27/09/2023, 16:10

TỪ KHÓA LIÊN QUAN

w