website php framework laravel niên khóa : 2015 - 2018

24
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT - HÀN KHOA CÔNG NGHỆ THÔNG TIN TÓM TẮT ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN Đề tài: XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG WEBSITE TIN TỨC CÔNG NGHỆ DỰA TRÊN PHP FRAMEWORK LARAVEL SVTH : Nguyễn Minh Trƣởng Lớp : CCCT15A Niên khóa : 2015 - 2018 CBHD : TS. Hồ Văn Phi Đà Nẵng, tháng 06 năm 2018

Upload: others

Post on 16-Oct-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN

HỮU NGHỊ VIỆT - HÀN

KHOA CÔNG NGHỆ THÔNG TIN

TÓM TẮT ĐỒ ÁN TỐT NGHIỆP

NGÀNH: CÔNG NGHỆ THÔNG TIN

Đề tài:

XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG

WEBSITE TIN TỨC CÔNG NGHỆ DỰA TRÊN

PHP FRAMEWORK LARAVEL

SVTH : Nguyễn Minh Trƣởng

Lớp : CCCT15A

Niên khóa : 2015 - 2018

CBHD : TS. Hồ Văn Phi

Đà Nẵng, tháng 06 năm 2018

Page 2: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018
Page 3: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN

HỮU NGHỊ VIỆT - HÀN

KHOA CÔNG NGHỆ THÔNG TIN

TÓM TẮT ĐỒ ÁN TỐT NGHIỆP

NGÀNH: CÔNG NGHỆ THÔNG TIN

Đề tài:

XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG

WEBSITE TIN TỨC CÔNG NGHỆ DỰA TRÊN

PHP FRAMEWORK LARAVEL

SVTH : Nguyễn Minh Trƣởng

Lớp : CCCT15A

Niên khóa : 2015 - 2018

CBHD : TS. Hồ Văn Phi

Đà Nẵng, tháng 06 năm 2018

Page 4: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

1

PHẦN MỞ ĐẦU

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

Với mong muốn đóng góp một phần công sức của mình cho

việc xây dụng hệ thống website giới thiệu về trường nói chung và

khoa công nghệ thông tin nói riêng và đặc biệt sau khi học được

nhiều kiến thức tại trường nên em quyết định chọn đề tài “Xây dựng

và phát triển ứng dụng website tin tức công nghệ dựa trên PHP

Framework Laravel” mong muốn cho các bạn sinh viên của khoa

biết về các thông tin về khoa và cũng như đường lối phát triển mô

hình đào tạo của khoa đặc biệt là các thế mạnh của khoa được công

nhận.

2. Mục tiêu và nhiệm vụ nghiên cứu.

Mục tiêu

Tìm hiểu công cụ xây dựng website Laravel và ứng dụng để

xây dựng website đáp ứng các yêu cầu cơ bản như sau: Hiện thị các

tin tức mới nhất lên trang chủ mang đến người dùng những tin tức

nóng hổi. Về phía lập trình viên giúp tối ưu hóa code và việc quản lý

code dễ dàng.

Nhiệm vụ

- Nghiên cứu Framework Laravel và mô hình MVC trong

framework.

- Phân tích thiết kế hệ thống để đưa cơ sơ dữ liệu và các chức

năng cho cho website.

- Xây dựng website, đánh giá thực nghiệm.

- Khảo sát người dùng và đưa ra yêu cầu người dùng về tin

tức, thiết kế giao diện ưa nhìn, hiện thị thông tin mới nhất cho người

dùng. Tìm hiểu thêm về Framework Laravel. Phân tích và xây dựng

website.

Page 5: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

2

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

Đối tƣợng nghiên cứu

-Nghiên cứu website công nghệ TECHNEWS.TK

-Nghiên cứu Framework Laravel

-Nghiên cứu phương thức sluggable để tối ưu hóa đường dẫn

Phạm vi nghiên cứu

- Website công nghệ TECHNEWS.TK

- Framework Laravel

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

- Tìm hiểu lý thuyết

- Lấy ý kiến chuyên gia (giáo viên hướng dẫn và các thầy cô,

bạn bè, chuyên gia)

- Khảo sát các website tin tức về công nghệ.

- Tìm hiểu và nghiên cứu nhu cầu của người dùng.

5. Ý nghĩa khoa học và thực tiễn

Kết quả nghiên cứu của đề tài sẽ là chứng cứ cho các nghiên

cứu lý thuyết về Laravel và các công cụ xây dựng website. Kết quả

của đồ án này sẽ là một trong những ví dụ thực tế giúp người dùng

đọc tin tức công nghệ một cách đơn giản nhất, đọc được những tin

tức công nghệ mới nhất, một cách nhanh chóng nhất

Ngoài những nội dung như Phần mở đầu, Kết luận, Tài liệu

tham khảo, Phụ lục thì đồ án được chia làm 4 chương với nội dung

như sau:

Chương 1: Cơ sở lý thuyết

Chương 2: Phân tích thiết kế hệ thống

Chương 3: Xây dựng ứng dụng

Chương 4: Triển khai xây dựng quản trị cho website tin tức.

Page 6: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

3

CHƢƠNG I. CƠ SỞ LÝ THUYẾT

1.1. GIỚI THIỆU VỀ LARAVEL PHP FRAMEWORK

Laravel là một PHP framework mã nguồn mở và miễn phí,

được phát triển bởi Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát

triển các ứng dụng web theo kiếm trúc model-view-controller

(MVC). Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu

– rõ ràng , một hệ thống đóng gói modular và quản lý gói phụ thuộc,

nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ,

nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng.

1.2. ƢU ĐIỂM CỦA LARAVEL PHP FRAMEWORK ĐỐI

VỚI PHÁT TRIỂN WEBSITE

1.3. CẤU TRÚC THƢ MỤC VÀ LUỒNG XỬ LÝ TRONG

LARAVEL

1.4. THÀNH PHẦN CƠ BẢN TRONG LARAVEL

1.4.1. Route trong Laravel

1.4.2. Laravel Model

Hình 1.1. Mô hình tương tác Model và cơ sở dữ liệu

1.4.3. Laravel Controller

1.4.4. Laravel View (Master Template)

Page 7: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

4

Laravel View

Hình 1.2. Liên kết Route, Controller và View trong Laravel

Hình 1.3. Hoạt động của Master Template trong Laravel

1.5. SỬ DỤNG CÁC THƢ VIỆN DÀNH CHO THIẾT KẾ

GIAO DIỆN WEBSITE VỚI LARAVEL

1.5.1. Sử dụng Boostrap CSS Framework

1.5.2. Sử dụng Jquery Javascript Framework

1.5.3. Sử dụng kỹ thuật Jquery Ajax

Page 8: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

5

CHƢƠNG II. PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1. KHẢO SÁT YÊU CẦU CỦA WEBSITE

Bước khảo sát yêu cầu sẽ làm rõ được một số vấn đề sau:

Mục đích xây dựng ứng dụng: Mục đích sử dụng của dự án

này là trình bày bài viết trên website dưới dạng tin tức, cho phép

người dùng truy cập và tra cứu tin tức trên trình duyệt web.

Đối tượng sử dụng: Người dùng bình thường (độc giả),

quản trị viên website (gồm quản trị viên đăng bài và quản trị viên

toàn bộ hệ thống).

Yêu cầu về chức năng: Đối với một website, yêu cầu tối

thiểu sẽ phải đạt được là:

o Hiển thị nội dung theo từng loại tin.

o Cho phép truy cập và đọc thông báo, tin tức, bài viết.

o Cho phép liệt kê danh sách thông báo, tin tức, bài viếttheo

từng chuyên mục.

o Cho phép tìm kiếm thông báo, tin tức, bài viết..

o Cho phép bình luận ở cuối tin tức.

o Các chức năng cao hơn cho tác giả như đăng tin, sửa tin,

xoá tin, tải lên các dữ liệu đa phương tiện như ảnh, phim, …

o Các chức năng cho quản trị viên hệ thống như thêm, sửa,

xoá tài khoản, thêm chuyên mục, thêm tệp tin, thông báo, tin tức, bài

viết nổi bật

Yêu cầu về thiết kế (yêu cầu phi chức năng):

o Trình bày nội dung thông báo, tin tức, bài viết, có tiêu đề,

ngày tháng đăng bài.

o Trang chủ liệt kê danh sách cách thông báo, tin tức, bài viết

phân chia theo từng danh mục, các bài viết nổi bật.

Page 9: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

6

o Phần đầu trang web có logo của trang web, phần menu hiển

thị các danh mục thông báo, tin tức, bài viết cho người dùng lựa

chọn.

o Phần cuối trang web có thông tin chung về trang web, đơn

vị vận hành, quản lý, và một số các thông tin khác.

Sau khi đã làm rõ được các yêu cầu đối với ứng dụng, bước

tiếp theo sẽ là thiết kế hệ thống theo những yêu cầu đã nêu ở trên.

2.2. PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ HỆ THỐNG

CHỨC NĂNG WEBSITE

2.1.1. Các đối tƣợng sử dụng website

Như đã khảo sát, các đối tượng sử dụng của website bao gồm

người dùng (độc giả) và quản trị viên website. Hai đối tượng này, về

mặt chung đều là người sử dụng website, nhưng mục đích sử dụng của

mỗi đối tượng lại khác nhau. Người dùng bình thường chỉ có quyền

đọc bài viết, có thể bình luận về bài viết, quản trị viên sẽ có tất cả các

quyền của người dùng bình thường, ngoài ra sẽ có quyền cao hơn là

quản lý bài viết (đăng bài, sửa bài, xoá bài viết, tải lên các dữ liệu đa

phương tiện).

2.1.2. Các trƣờng hợp sử dụng (Use Case)

Các trường hợp sử dụng của người dùng sẽ được biểu thị

thông qua các sơ đồ use case.

Page 10: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

7

Hình 2.1. Sơ đồ Use Case của người dùng thông thường

Hình 2.2. Sơ đồ Use Case của quản trị viên đăng bài (Author)

Page 11: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

8

Hình 2.3. Sơ đồ Use Case của quản trị viên hệ thống

2.3. MÔ HÌNH HÓA TƢƠNG TÁC

2.3.1. Biểu đồ trình tự

2.3.1.1. Biểu đồ trình tự đăng nhập

Hình 2.4. Biểu đồ trình tự đăng nhập

2.3.2. Biểu đồ cộng tác

Page 12: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

9

2.3.2.1. Biểu đồ cộng tác đăng nhập

Hình 2.5. Biểu đồ cộng tác đăng nhập

2.3.2.2. Biểu đồ cộng tác cập nhập ảnh

Hình 2.6. Biểu đồ công tác cập nhập ảnh

2.4. MÔ HÌNH HÓA HÀNH VI

2.4.1. Biểu đồ trạng thái

2.4.1.1. Biểu đồ trạng thái đăng nhập

Page 13: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

10

Hình 2.7. Biểu đồ trạng thái cập nhập

2.4.2. Biểu đồ hoạt động

2.4.2.1. Biểu đồ hoạt động đăng nhập

Hình 2.8. Biểu đồ hoạt động đăng nhập

Page 14: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

11

2.5. THIẾT KẾ CƠ SỞ DỮ LIỆU

Hình 2.4. Sơ đồ quan hệ của cơ sở dữ liệu

Page 15: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

12

CHƢƠNG III. XÂY DỰNG ỨNG DỤNG

3.1. TRIỂN KHAI LÕI VÀ CẤU HÌNH HỆ THỐNG SỬ

DỤNG LARAVEL FRAMEWORK

Để bắt đầu với dự án xây dựng website tin tức với Laravel, cần

cài đặt lõi của Framework này (xem phần phụ lục). Sau khi cài đặt

xong, bước tiếp theo là cấu hình hệ thống của Framework để phù hợp

với môi trường lập trình. Để cụ thể hơn, môi trường lập trình được sử

dụng trong tài liệu này là máy chủ web ảo sử dụng XAMPP phiên bản

7.0.8.

3.1.1. Cấu hình chung cho hệ thống ứng dụng

3.1.2. Cấu hình cơ sở dữ liệu

3.2. MÔ TẢ CÁC CHỨC NĂNG

Trang chủ: Là cổng thông tin chính của website, các tin

mới của từng chuyên mục sẽ được bố trí phù hợp giúp người dùng dễ

dàng vào được chuyên mục cần xem. Các tin nỗi bật bồ trí khu vục

đầu trang với hiệu ứng đẹp mắt.

Giới thiệu: Đăng tải các bài viết và hình ảnh về lịch sử

hình thành và phát triển của khoa, tầm nhìn, sứ mạng, giới thiệu các

bộ môn, cơ sở vật chất của khoa.

Đội ngũ cán bộ: Đăng tải sơ đồ các cán bộ trong khoa và

danh sách thông tin chi tiết về các cán bộ trong khoa.

Đào tạo: Đăng tải mô hình đào tạo của khoa với các

chương trình đào tạo chính quy và đào tạo nghề, cuối cùng là tuyển

sinh đăng tải các thông tin tuyển sinh về các bộ môn giảng dạy của

khoa.

Hợp tác nghiên cứu: Đăng tải các hướng phát triển nghiên

cứu của khoa và các danh sách công trình nghiên cứu của sinh viên

Page 16: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

13

và cán bộ trong khoa phục vụ sinh viên trong quá trình học tập.

Cơ hội việc làm: Đăng tải các thông tin tuyển dụng của

các công ty một cách chi tiết và danh sách các công ty có cựu sinh

viên đang làm việc giúp sinh viên có cơ hội việc làm sau khi ra

trường.

Đăng nhập: Giúp sinh viên và khoa có sự tương tác với

nhau thông qua chức năng bình luận.

3.3. XÂY DỰNG TRANG CHỦ

Sau khi cấu hình xong, ứng dụng đã có thể khởi chạy hoàn

toàn, nhưng nó chỉ có một trang web duy nhất, mặc định của Laravel,

cần phải xây dựng các trang web để thay đổi nó. Đầu tiên là trang

chủ của website tin tức.

Hình 3.1. Giao diện trang chủ

3.4. XÂY DỰNG TRANG PHÂN LOẠI THEO CHỦ ĐỀ BÀI

VIẾT

Trang phân loại theo chủ đề bài viết có chức năng hiển thị các

bài viết theo danh mục mà người dùng đã chọn.

3.5. XÂY DỰNG TRANG CHI TIẾT BÀI ĐĂNG TIN TỨC

Trang chi tiết bài đăng tin tức có chức năng hiển thị ra nội

Page 17: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

14

dung của bài viết.

Hình 3.2. Chi tiết bài viết

3.6. XÂY DỰNG CHỨC NĂNG TÌM KIẾM BÀI VIẾT

Trong một website bất kỳ, chức năng tìm kiếm nội dung là

không thể thiếu, website càng chứa nhiều thông tin, chức năng tìm

kiếm càng cần thiết. Trong dự án này, chức năng tìm kiếm được xây

dựng để tìm kiếm theo tiêu đề bài viết.

Hình 3.3. Tìm kiếm bài viết

3.7. XÂY ROUTE QUẢN TRỊ VÀ LAYOUT DÙNG CHUNG

Page 18: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

15

3.7.1. Tạo nhóm route cho admin

3.7.2. Tạo layout dùng chung cho trang quản trị và tổ chức

thƣ mục

Truy cập theo đường dẫn resource/view tạo một thứ mục mới

admin. Tại đây sẽ lưu tất cả tệp view của trang quản trị

3.8. XÂY DỰNG ĐĂNG NHẬP VÀ ĐĂNG XUẤT

Để xác thực người dùng truy cập vào trang quản trị với đường

dẫn /admin thì bắt buộc phải xây dựng một trang đăng nhập và nếu

qua được bước xác thực này thì mới cho vào trong trang quản trị.

Giao diện trang đăng nhập như sau:

Hình 3.5. Giao diện trang đăng nhập cho quản trị

3.9. XÂY DỰNG TRANG CHỦ QUẢN TRỊ

3.10. XÂY DỰNG TRANG CÁ NHÂN

Page 19: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

16

Hình 3.6. Giao diện thông tin tài khoản

3.11. XÂY DỰNG TRANG QUẢN LÝ BÀI VIẾT

3.11.1. Trang hiển thị danh sách bài viết

Hình 3.7. Giao diện danh sách bài viết

Page 20: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

17

3.11.2. Trang thêm bài viết

Hình 3.8. Giao diện trang đăng bài viết

3.11.3. Trang sửa bài viết

Route thực hiện việc sửa bài viết Route::get('update/{id}',

'PostController@getUpdate'). {id} ở đây chính là một biên tương

ứng với id bài viết sẽ sửa. Chi tiết hàm getUpdate() xem thêm trong

mã nguồn.

Hình 3.9. Giao diện trang sửa bài viết

Page 21: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

18

Hàm postUpdate sẽ thực hiện việc kiểm tra dữ liệu mà form

này gửi lên và lưu thay đổi vào database.

3.11.4. Trang xóa bài viết

Route của trang xoá bài viết:

Route::post('update/{id}', 'PostController@postUpdate');

Route::get('delete/{id}', 'PostController@getDelete')

Page 22: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018

19

KẾT LUẬN

Qua đồ án này em đã tìm hiểu được framework laravel cách

thức học động mô hình MVC trong framework. Và áp dựng kiến

thức trên em đã xây dựng được website giới thiệu khoa công nghệ

thông tin. Website cũng đã đáp ứng được những yêu cầu của đặt tả.

Những còn một số chức năng chưa phát huy được hết công dụng của

mình ví dụ như: Các công trình nghiên cứu chưa kết nối được cơ sở

dữ liêu để thay đổi dễ dàng hơn...

Sau một thời gian bắt tay vào làm việc với sự giúp đỡ của

Thầy giao hướng dẫn đã hoàn thành đề tài “Xây dựng và phát triển

ứng dụng website tin tức công nghệ dựa trên PHP Framework

Laravel ”. Tuy nhiên trong quá trình phân tích, thiết kế và xây dựng

hệ thống do thời gian có hạn và kinh nghiệm của bản thân còn hạn

chế nên chắc chắn trong báo cáo này không tránh khỏi những thiếu

sót và những chỗ xử lý vấn đề chưa tối ưu. Em rất mong nhận được

những nhận xét, đánh giá từ phía các thầy cô đẽ em khắc phục và

hoàn thiện hơn cho hệ thống website vận hành sau này.

Hướng phát triển của em sau này em muốn hoàn thiện hơn về

các chức năng như: hiển thị file đính kèm và bổ xung các chức năng

khác cho website trở nên hoàn thiện hơn.Sau một thời gian bắt tay

vào làm việc với sự giúp đỡ của Thầy giáo hướng dẫn đã hoàn thành

đề tài “Xây dựng và phát triển ứng dụng website tin tức công nghệ

dựa trên PHP Framework Laravel”. Tuy nhiên trong quá trình phân

tích, thiết kế và xây dựng hệ thống do thời gian có hạn và kinh

nghiệm của bản thân còn hạn chế nên chắc chắn trong báo cáo này

không tránh khỏi những thiếu sót và những chỗ xử lý vấn đề chưa tối

ưu. Em rất mong nhận được những nhận xét, đánh giá từ phía các

thầy cô để em khắc phục và hoàn thiện hơn cho hệ thống website vận

hành sau này.

Page 23: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018
Page 24: WEBSITE PHP FRAMEWORK LARAVEL Niên khóa : 2015 - 2018