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

Báo cáo đồ án ứng dụng phần mềm quản lý học sinh mầm non Laravel 2020

61 275 1

Đ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

Định dạng
Số trang 61
Dung lượng 2,3 MB
File đính kèm Phan_mem_quan_ly_hoc_sinh_mam_non nhung.rar (2 MB)

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

Nội dung

Báo cáo đồ án ứng dụng phần mềm quản lý học sinh mầm non Laravel 2020 Bao gồm phân tích thiết kế biểu đồ phát triển, Biếu đồ hoạt động, Biểu đồ use caseBiểu đồ tuần tựBiểu đồ lớpThiết kế mô tả chi tiết về cơ sở dữ liệu Phân tích và thể hiện các tài liệu liên quan

Trang 1

LỜI CẢM ƠN

Sau một thời gian học tập, nghiên cứu và triển khai khóa luận tốt nghiệp:

“Xây dựng phần mềm quản lý học sinh mầm non bán trú”, đến nay tôi đã

hoàn thành khóa luận tốt nghiệp của mình.

Tôi xin bày tỏ tấm lòng biết ơn sâu sắc nhất tới ThS Phan Trung Kiên đã

trực tiếp hướng dẫn, chỉ bảo tận tình trong suốt quá trình tôi thực hiện khóa luận tốt nghiệp này.

Đồng thời tôi cũng chân thành cảm ơn tới lãnh đạo Nhà trường, Ban chủ nhiệm Khoa cùng các thầy cô giáo đã giúp đỡ, tạo điều kiện để tôi có cơ hội nghiên cứu, học tập và hoàn thành khóa luận tốt nghiệp này.

Do hạn chế về trình độ chuyên môn và thời gian thực hiện nên đề tài không tránh khỏi những thiếu sót, rất mong nhận được sự góp ý của thầy cô để tôi có thể hoàn thành tốt nhất đề tài nghiên cứu này.

Xin chân thành cảm ơn!

Sơn laLa, tháng 5 năm 2018

Sinh viên

Đỗ Hồng Nhung

Trang 2

MỤC LỤC

MỞ ĐẦU 1

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

2 Mục đích nghiên cứu 1

3 Đối tượng nghiên cứu 1

4 Phạm vi nghiên cứu 1

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

6 Bố cục đề tài 2

NỘI DUNG 3

CHƯƠNG I: TỔNG QUAN VỀ LARAVEL FRAMEWORK 3

1.1 Giới thiệu về Laravel Framework 3

1.1.1 Khái niệm 3

1.1.2 Lịch sử phát triển của Laravel 4

1.1.3 Ưu điểm của Laravel 6

1.1.4 Cài đặt Laravel với Laragon 7

1.1.5 Cài đặt Laragon 8

1.1.5.1 Thiết lập ứng dụng Laravel 9

1.1.5.2 Các công cụ được tích hợp trong Laragon 11

1.1.6 Composer 14

1.1.6.1 Khái niệm Composer 14

1.1.6.2 Yêu cầu hệ thống với Composer 14

1.1.6.3 Cài đặt Composer trên Windows 15

1.1.7 Cấu trúc thư mục Laravel Framework 16

1.2 Các thành phần cơ bản của Laravel Framework 17

1.2.1 Route 17

1.2.1.1 Các loại route trong Laravel 17

1.2.1.2 Sử dụng route trong Laravel 17

1.2.2 View 19

1.2.2.1 Tạo View trong Laravel 19

1.2.2.2 Truyền dữ liệu cho View 19

Trang 3

1.2.2.3 Chia sẻ dữ liệu cho tất cả các View 20

1.2.3 Controller 20

1.2.3.1 Tạo Controller trong Laravel 20

1.2.3.2 Sử dụng các action trong Controllers 20

1.2.3.3 Sử dụng filter trong Controllers 21

1.2.4 Laravel Middleware 21

1.2.4.1 Đăng ký Laravel Middleware với hệ thống: 22

1.3 Thao tác với cơ sở dữ liệu 22

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

1.3.2 Thực hiện chạy cây lệnh truy vấn 23

1.3.3 Database Transactions 23

1.3.4 Accessing Connections 23

1.4 Laravel Eloquent ORM 24

1.4.1 Khái niệm 24

1.4.2 Cách sử dụng 24

1.4.3 Một số query đơn giản 24

CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG QUẢN LÝ HỌC SINH MẦM NON BÁN TRÚ 26

2.1 Mô tả hệ thống 26

2.1.1 Các quy trình nghiệp vụ 26

2.1.2 Nhiệm vụ của hệ thống 26

2.2 Liệt kê và đặc tả các ca sử dụng 26

2.2.1 Use case 26

2.2.2 Đặc tả ca sử dụng 27

2.2.2.1 Đăng nhập 27

2.2.2.2 Quản lý thông tin 27

2.2.2.3 Thêm học sinh 28

2.2.2.4 Thêm giáo viên 28

2.2.2.5 Thêm món ăn 29

2.2.2.6 Thêm thực đơn 29

Trang 4

2.2.2.7 Thêm nhóm lớp 30

2.3 Biểu đồ CA 30

2.4 Biểu đồ hoạt động 31

2.4.1 Đăng nhập 31

2.4.2 Quản lý thông tin 32

2.5 Biểu đồ trình tự 33

2.5.1 Đăng nhập 33

2.5.2 Thêm mới (học sinh, giáo viên, món ăn, thực đơn) 33

2.5.3 Sửa thông tin (học sinh, giáo viên, món ăn, thực đơn) 34

2.5.4 Hiển thị danh sách (học sinh, giáo viên, món ăn, thực đơn) 34

2.6 Biểu đồ lớp chi tiết 35

2.7 Thiết kế cơ sở dữ liệu 35

2.7.1 Người quản trị 35

2.7.2 Giáo Viên 36

2.7.3 Học sinh 36

2.7.4 Món ăn 37

2.7.5 Nhóm 37

2.7.6 Suất ăn 37

2.7.7 Thực đơn 38

CHƯƠNG 3: PHẦN MỀM QUẢN LÝ HỌC SINH MẦN NON BÁN TRÚ 39

3.1 Thiết kế giao diện 39

3.1.1 Trang đăng nhập 39

3.1.2 Khung hiển thị của website 39

3.1.3 Quản lý sinh 40

3.1.3.1 Danh sách học sinh 40

3.1.3.2 Thêm mới học sinh 40

3.1.4 Quản lý giáo viên 40

3.1.4.1 Danh sách giáo viên 40

3.1.4.2 Cập nhật giáo viên 41

3.1.5 Quản lý món ăn 41

Trang 5

3.1.5.1 Danh sách món ăn 41

3.1.5.2 Thêm mới món ăn 41

3.1.6 Quản lý thực đơn 42

3.1.6.1 Danh sách thực đơn 42

3.1.6.2 Thêm mới thực đơn 42

3.1.7 Quản lý nhóm lớp 42

3.1.7.1 Danh sách nhóm lớp 42

3.1.7.2 Thêm mới nhóm lớp 43

3.1.8 Quản trị viên 43

3.1.8.1 Danh sách quản trị viên 43

3.1.8.2 Thêm mới quản trị viên 44

3.2 Cài đặt một số chức năng 44

3.2.1 Đăng nhập 44

3.2.2 Trang chủ 45

3.2.3 Danh sách học sinh 45

3.2.4 Thêm mới học sinh 46

3.2.5 Danh sách giáo viên 46

3.2.6 Quản lý món ăn 47

3.2.7 Quản lý thực đơn 47

3.2.8 Quản lý nhóm lớp 48

3.2.9 Quản trị viên 48

3.2.10 Thêm mới quản trị viên 49

KẾT LUẬN 50

TÀI LIỆU THAM KHẢO 1

DANH MỤC HÌNH Hình 1: Tỉ lệ người dùng Laravel so với những Framework khác 4

Trang 6

Hình 2: Giao diện khi khởi động cài đặt 8

Hình 3: Giao diện lựa chọn khi khởi động 9

Hình 4: Tạo dự án Laravel bằng giao diện 9

Hình 5: Giao diện thông báo những dòng lệnh chạy 10

Hình 6: Giao diện thông báo thành công và tên miền ảo 10

Hình 7: Thiết lập thành công 11

Hình 8: Thiết lập đường dẫn đến cmder trên Sublime Text 12

Hình 9: Giao diện của HeidiSQL 13

Hình 10: Trang quản trị tài khoản trên ngrok 13

Hình 11: Địa chỉ demo của dự án 14

Hình 12: Màn hình dòng lệnh trên composer 15

Hình 13: Mô hình MVC 19

Hình 14: Cơ chế hoạt động của Middleware 21

Hình 15: Kỹ thuật OMR 24

Hình 16: Biểu đồ Use Case của quản trị viên 30

Hình 17: Phân giã Use Case quản lý thông tin 31

Hình 18: Biểu đồ hoạt động đăng nhập 31

Hình 19: Biểu đồ hoạt động quản lý giáo viên 32

Hình 20: Biểu đồ trình tự đăng nhập 33

Hình 21: Biểu đồ trình tự thêm mới 33

Hình 22: Biểu đồ trình tự sửa thông tin 34

Hình 23: Biểu đồ trình tự hiển thị danh sách 34

Hình 24: Biểu đồ lớp chi tiết 35

Hình 25: Đăng nhập vào hệ thống 39

Hình 26: Khung hiển thị của website 39

Hình 27: Trang danh sách học sinh 40

Hình 28: Trang thêm mới học sinh 40

Hình 29: Trang danh sách giáo viên 40

Hình 30: Trang Cập nhật giáo viên 41

Hình 31: Trang danh sách món ăn 41

Hình 32: Trang thêm mới món ăn 41

Hình 33: Trang danh sách thực đơn 42

Hình 34: Trang thêm mới thực đơn 42

Hình 35: Trang danh sách nhóm lớp 42

Hình 36: Trang thêm mới nhóm lớp 43

Trang 7

Hình 37: Trang danh sách quản trị viên 43

Hình 38: Trang thêm mới quản trị viên 44

Hình 39: Giao diện đăng nhập 44

Hình 40: Giao diện trang chủ 45

Hình 41: Giao diện danh sách học sinh 45

Hình 42: Giao diện thêm mới học sinh 46

Hình 43: Giao diện danh sách giáo viên 46

Hình 44: Giao diện danh sách món ăn 47

Hình 45: Giao diện danh sách thực đơn 47

Hình 46: Giao diện danh sách nhóm lớp 48

Hình 47: Danh sách quản trị viên 48

Hình 48: Giao diện thêm mới quản trị viên 49

Trang 8

DANH MỤC BẢNG BIỂU

Bảng 1: Bảng người quản trị 35

Bảng 2: Bảng giáo viên 36

Bảng 3: Bảng học sinh 36

Bảng 4: Bảng món ăn 37

Bảng 5: Bảng nhóm lớp 37

Bảng 6: Bảng suất ăn 37

Bảng 7: Bảng thực đơn 38

Trang 9

DANH MỤC CHỮ VIẾT TẮT

Trang 10

Chính vì thế tôi đã chọn và thực hiện đề tài “Xây dựng phần mềm quản lý

học sinh mầm non bán trú” phát triển ứng dụng web bằng Laravel.

2 Mục đích nghiên cứu

- Nghiên cứu học tập về framword framework Laravel

- Nghiên cứu và phát triển ứng dụng “Phần mềm quản lý học sinh mầm nonbán trú”

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

- Framword Framework Laravel và công cụ Laragon

- Hệ thống quản lý học mầm non bán trú trường mầm non (trường mầmnon Hoa Ban Tông Lệnh 2)

Trang 11

6 Bố cục đề tài

Đề tài gồm:

Mở đầu

Nội dung

- Chương 1.Tổng quan về cơ sở lý thuyết

- Chương 2 Phân tích và thiết kế hệ thống quản lý học sinh mầm non bántrú

- Chương 3 Cài đặt và thử nghiệm ứng dụng

Kết luận

Tài liệu tham khảo

Trang 12

NỘI DUNG CHƯƠNG I: TỔNG QUAN VỀ LARAVEL FRAMEWORKD

1.1 Giới thiệu về Laravel FramwordFramework.

1.1.1 Khái niệm

Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triểnbởi Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng webtheo kiếm trúc model-view-controller (MVC) Những tính năng nổi bật củaLaravel 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ì ứngdụng

Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bìnhchọn PHP framework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHPframework phổ biến nhất năm 2015, theo sau lần lượt là Symfony2,Nette, CodeIgniter, Yii2 vào một số framework khác Trước đó, Tháng 8 năm

2014, Laravel đã trở thành project PHP phổ biến nhất và được theo dõitải nhiềunhất trên Github

Mặc dù Laravel là một framework PHP tương đối mới (nó được phát hànhvào năm 2011), theo khảo sát trực tuyến gần đây của Sitepoint thì nó làframework phổ biến nhất mà các nhà phát triển hay sử dụng Laravel có một hệsinh thái rất lớn với một nền tảng giúp triển khai ứng dụng của bạn một cáchnhanh chóng, trang web chính thức của nó cung cấp nhiều hướng dẫn bằngvideo gọi là Laracasts

Laravel có nhiều tính năng giúp cho việc phát triển ứng dụng nhanh chóngnhất có thể Laravel sở hữu một light - weight templating engine có tên là

“Blade”, cú pháp mới hỗ trợ cho các tác vụ thường xuyên cần phải làm trongứng dụng, chẳng hạn như authentication, sessions, queueing, caching

và RESTful routing Laravel cũng bao gồm một môi trường phát triển cục bộ gọi

là Homestead – đây thực chất là một Vagrant box được đóng gói

Trang 13

Hình 1: Tỉ lệ người dùng Laravel so với những Framword Framework khác

1.1.2 Lịch sử phát triển của Laravel

Laravel được Taylor Otwell tạo ra như một giải pháp thay thế choCodeIgniter, cung cấp nhiều tính năng quan trọng hơn như xác thực và phânquyền Nhưng có thể Taylor vốn là một NET developer khi bắt đầu có nhu cầulàm việc với PHP khoảng vào những năm 2010 - 2011, đã chọn CodeIgniter khi

đó đang là một ngôi sao mới nổi, thậm chí lấn át cả Symfony gạo cội Và Taylornhanh chóng nhận ra những điểm khiếm khuyết ở CodeIgniter, với tài năng vàkiến thức xuất sắc về design - pattern của mình, Taylor quyết định tự mình tạo ramột framework sao cho thật đơn giản, dễ hiểu, hỗ trợ lập trình viên hiện thực ýtưởng một cách nhanh nhất bằng nhiều tính năng hỗ trợ như Eloquent ORMmạnh mẽ, xác thực đơn giản, phân trang hiệu quả, và hơn thế nữa

Bản Laravel beta đầu tiên được phát hành vào ngày 9/6/2011, tiếp đó

là Laravel 1 phát hành trong cùng tháng Laravel 1 bao gồm các tính năng như

xác thực, bản địa hóa, model, view, session, định tuyến và các cơ cấu khác,nhưng vẫn còn thiếu controller, điều này làm nó chưa thật sự là một MVC

Trang 14

framework đúng nghĩa.

Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều cải tiến

từ tác giả và cộng đồng Tính năng đáng kể bao gồm hỗ trợ controller, điều nàythực sự biến Laravel 2 thành một MVC framework hoàn chỉnh, hỗ trợ Inversion

of Control (IoC), hệ thống template Blade Bên cạnh đó, có một nhược điểm là

hỗ trợ cho các gói của nhà phát triển bên thứ 3 bị gỡ bỏ

Laravel 3 được phát hành vào tháng 2 năm 2012, với một tấn tính năng

mới bao gồm giao diện dòng lệnh (CLI) tên “Artisan”, hỗ trợ nhiều hơn cho hệthống quản trị cơ sở dữ liệu, chức năng ánh xạ cơ sở dữ liệu Migration, hỗ trợ

“bắt sự kiện” trong ứng dụng và hệ thống quản lý gói gọi là “Bundles” Lượngngười dùng và sự phổ biến tăng trưởng mạnh kể từ phiên bản Laravel 3

Laravel 4 tên mã “Illuminate”, được phát hành vào tháng 5 năm 2013 Lần

này thực sự là sự lột xác của Laravel framework, di chuyển và tái cấu trúc cácgói hỗ trợ vào một tập được phân phối thông qua Composer, một chương trìnhquản lý gói thư viện phụ thuộc độc lập của PHP Bố trí mới như vậy giúp khảnăng mở rộng của Laravel 4 tốt hơn nhiều so với các phiên bản trước Ra mắtlịch phát hành chính thức mỗi sáu tháng một phiên bản nâng cấp nhỏ các tínhnăng khác trong Laravel 4 bao gồm tạo và thêm dữ liệu mẫu (database seeding),

hỗ trợ hàng đợi, các kiểu gởi mail, và hỗ trợ “xóa mềm” (soft - delete: record bịlọc khỏi các truy vấn từ Eloquent mà không thực sự xóa hẳn khỏi DB)

Laravel 5 được phát hành trong tháng 2 năm 2015, như một kết quả thay

đổi đáng kể cho việc kết thúc vòng đời nâng cấp Laravel lên 4.3 Bên cạnh mộtloạt tính năng mới và các cải tiến như hiện tại, Laravel 5 cũng giới thiệu cấu trúccây thư mục nội bộ cho phát triển ứng dụng mới Những tính năng mới củaLaravel 5 bao gồm hỗ trợ lập lịch định kỳ thực hiện nhiệm vụ thông qua một góitên là “Scheduler”, một lớp trừu tượng gọi là “Flysystem” cho phép điều khiểnviệc lưu trữ từ xa đơn giản như lưu trữ trên máy local – dễ thấy nhất là mặc định

hỗ trợ dịch vụ Amazone S3, cải tiến quản lý assets thông qua “Elixir”, cũng nhưđơn giản hóa quản lý xác thực với các dịch vụ bên ngoài bằng gói “Socialite”

Laravel 5.1 phát hành vào tháng 6 năm 2015, là bản phát hành đầu tiên

Trang 15

nhận được hỗ trợ dài hạng (LTS) với một kết hoạch fix bug lên tới 2 năm vào hỗtrợ vá lỗi bảo mật lên tới 3 năm Các bản phát hành LTS của Laravel được lên

kế hoạch theo mỗi 2 năm

1.1.3 Ưu điểm của Laravel

Laravel có một hệ thống có kiến trúc thống nhất, khoa học và cực đơn giảngiúp những người mới tiếp cận framework PHP có thể nắm bắt được ngay Cácframework khác thật sự khá là khó để bắt đầu, đặc biệt là Zend, Yii Tuy rất đơngiản nhưng Laravel hoàn toàn có thể xây dựng những hệ thống ứng dụng webcực phức tạp, với hiệu năng cao

Các tài nguyên liên quan đến Laravel rất đa dạng, dễ sử dụng, kể đến có tàiliệu chính thức của Laravel được chính Taylor Otwell biên soạn, tác giả củaframework này muốn đưa việc lập trình lên một tầm cao mới đó là khám phá vàtrải nghiệm, ngoài ra cộng đồng Laravel rất lớn trên Laracast, bạn có tìm đượccâu trả lời cho bất kỳ tình huống nào bạn gặp phải trong Laravel hoặc tiếp cậnrất nhiều các video hướng dẫn cụ thể

Trực quan, đó là những gì mọi người nói về viết mã trong Laravel, giúpchúng ta tập trung vào các nhiệm vụ chính và các đoạn mã viết trong Laravelđược rõ ràng và rất dễ dàng trong bảo trì mã nguồn

Tích hợp công cụ dòng lệnh Artisan, giúp các tác vụ trong phát triển ứngdụng thật đơn giản Những người mới tiếp cận với Laravel sẽ rất ít để ý đếnArtisan vì có một suy nghĩ là tại sao viết code lại liên quan đến một công cụdòng lệnh? Artisan là một phụ tá đắc lực trong quá trình phát triển ứng dụng,giúp các công việc như tối ưu hóa ứng dụng, migrate dữ liệu, tạo các template,gọi các ứng dụng khác trong xử lý song song với hàng đợi… được thực hiện đơngiản Có lẽ do Taylor Otwell đã quen với Microsoft Visual Studio NET khi lậptrình NET nên cũng mong muốn có những công cụ tốt cho những lập trình viênPHP

Bộ máy blade template thực sự rất hay, nó giúp cho làm việc giữa PHP vàHTML thật đơn giản, sáng sủa và tách biệt giữa mã hiển thị và mã logic nghiệp

vụ, cái mà trước đó chỉ có thể biết đến ở NET hoặc Java

Trang 16

Laravel hỗ trợ việc cài đặt các gói thư viện và bản thân nó sử dụng rấtnhiều các gói thư viện khác để tạo ra các tính năng tuyệt vời, ví dụ: nếu bạn làmviệc với Laravel Mix bạn sẽ nhận thấy Laravel sử dụng gói thư viện Webpackkết hợp với npm, yarn… giúp bạn tự động hóa, giảm rất nhiều các tác vụ thủcông trong quá trình build ứng dụng và triển khai sản phẩm.

Luôn đổi mới, tích cực và sáng tạo đó là những mỹ từ dành cho Laravelcũng như người phát triển chính Taylor Otwell Nếu bạn là người theo dõiLaravel trong thời gian dài bạn sẽ thấy Laravel luôn thay đổi trong các phiênbản, tìm kiếm những tính năng hay, những gói thư viện tốt nhất để tích hợp vào.Nếu bạn biết đến Vue.js, Lodash, Webpack, Carbon… bạn sẽ hiểu tại saoLaravel ngày càng củng cố vững chắc hơn vị trí số một của mình, do khôngnhững nội tại Laravel là hệ thống cực khoa học, đơn giản và cực hay mà hệ sinhthái xung quanh Laravel cũng toàn các sản phẩm số một trong lĩnh vực ngáchcủa nó

1.1.4 Cài đặt Laravel với Laragon

Khái niệm Laragon

Laragon là một gói phần mềm tổng hợp các công cụ cần thiết do đó bạnchỉ cần cài đặt một ứng dụng với thời gian cực nhanh là đã có ngay một môitrường phát triển Laravel Laragon hoàn toàn độc lập với hệ điều hành, do đóbạn có thể copy sao chép thư mục sau cài đặt đi bất cứ đâu để chạy, thậm chí cóthể đồng bộ lên clound

Lý do chọn Laragon

Chúng ta sẽ cùng nhau phân tích xem tại sao không nên cài đặt môi trườngLaravel theo cách truyền thống? Một môi trường làm việc với Laravel cần một

số các công cụ cần thiết như sau:

được

 Composer, Node.js, npm, yarn: Bộ các công cụ này để quản lý các gói thưviện phụ thuộc trong dự án, đặc biệt khi làm việc với các framework PHP việctận dụng các thư viện ngoài là cần thiết, bạn đã tận dung dụng được tri thức của

Trang 17

hàng triệu lập trình viên PHP trên toàn cầu.

 Công cụ dòng lệnh (command line), cái nàylà công cụ rất cần thiết vì làmviệc với Laravel chúng ta sử dụng các câu lệnh artisan giúp tiết kiệm rất nhiềuthời gian Nếu bạn đã sử dụng Windows Command Prompt hẳn có lúc rất ức chế

do không đánh được tiếng Việt có dấu, copy paste cũng rất khó khăn, hiển thịchỉ trong một kích cỡ cửa sổ Tôi chuyển qua ConEmu (Console Emulation)thấy cũng rất ok Ngoài ra chúng ta cũng thường kết nối SSH đến các máy chủ

để làm việc thông qua các công cụ dòng lệnh này

 Git một công cụ cũng không thể thiếu trong quản lý phiên bản mã nguồn

Bạn thấy đấy, có khá nhiều thứ cần thiết để tạo ra một môi trường phát triển Laravel, với cách cài đặt truyền thống chúng ta sẽ phải cài rất nhiều thứ và đương nhiên cũng mất nhiều thời gian Laragon là một gói phần mềm tổng hợp các công cụ cần thiết do đó bạn chỉ cần cài đặt một ứng dụng với thời gian cực nhanh là đã có ngay một môi trường phát triển Laravel Một vấn đề nữa là Laragon hoàn toàn độc lập với hệ điều hành, do đó bạn có thể copy thư mục sau cài đặt đi bất cứ đâu để chạy, thậm chí có thể đồng bộ lên

clound Theo đánh giá cá nhân, tôi thấy sử dụng Laragon là tốt nhất do cài đặt cực nhanh và chiếm ít dung lượng.

1.1.5 Cài đặt Laragon

Phiên bản hiện tại là Laragon 3.2, bạn thực hiện tải file, chọn phiên bảnphù hợp với máy tính, cài đặt và kích đúp để cài đặt link Link tải về:https://forum.laragon.org/topic/473/download-laragon

Trang 18

Hình 2: Giao diện khi khởi động cài đặt

Laragon có thêm một số lựa chọn như khởi động cùng hệ thống, tự độngthiết lập host ảo (trước đây phải thiết lập thông qua file hosts và httpd-vhosts.conf)

Trang 19

Hình 3: Giao diện lựa chọn khi khởi động

Cài đặt Laragon là rất nhanh, chỉ khoảng 3-5 phút

1.1.5.1 Thiết lập ứng dụng Laravel đầu tiên

Laragon hỗ trợ tạo dự án Laravel bằng giao diện, bạn click chuột vào Menuchọn đến Quick create và tìm đến mục Laravel

Hình 4: Tạo dự án Laravel bằng giao diện

Trang 20

Một cửa sổ yêu cầu nhập tên dự án, ví dụ ở đây nhập dự án làallaravel.com, khi click Ok, màn hình dòng lênh xuất hiện, chạy các kịch bản càiđặt dự án bao gồm:

 Tạo database với tên chính là tên dự án

 Tải khung dự án Laravel với phiên bản mới nhất

 Tự động tạo host ảo, ví dụ dự án ở đây là allaravel.com thì sẽ tự động tạo

ra tên miền ảo http://allaravel.com.dev

Hình 5: Giao diện thông báo những dòng lệnh chạy

Khi kết thúc thông báo tên miền ảo được tạo ra

Hình 6: Giao diện thông báo thành công và tên miền ảo

Trang 21

Mở trình duyệt và chạy thử http://allaravel.com.dev

Hình 7: Thiết lập thành công

Nếu bạn không muốn sử dụng giao diện để tạo mới ứng dụng Laravel, bạnvẫn có thể sử dụng câu lệnh composer để tạo mới dự án:

composer create-project laravel/laravel laravel-test

1.1.5.2 Các công cụ được tích hợp trong Laragon

Notepad++:

Notepad++ là một trình soạn thảo rất nhẹ và nhanh giúp viết code nhanhchóng, tuy nhiên còn nhiều vấn đề nếu sử dụng Notepad++ để lập trình Laravelnhư việc highlight code, ví dụ với Laravel Blade, Vue.js template… Khó để sosánh Notepad++ với Sublime Text hoặc chuyên nghiệp hơn như PHP Storm.Laragon đã tích hợp sẵn Notepad++ do đó nếu bạn dùng trình soạn thảo này, bạn

có thể truy cập ứng dụng qua menu Tools -> Notepad++

Cmder:

Laragon tích hợp cmder một công cụ dòng lệnh tuyệt vời, nó được pháttriển từ ConEmu và Clink do đó ngoài thừa hưởng những tính năng củaConEmu về giao diện thì nó còn cho phép chỉnh sửa các dòng lệnh giống nhưBash trên Unix, Linux Cmder giúp bạn dễ dàng copy (Ctrl+C) và paste

Trang 22

(Ctrl+V) dễ dàng hơn nhiều công cụ dòng lệnh mặc định của Windows Nó cũngtích hợp sẵn với công cụ Git để quản lý phiên bản mã nguồn Cmder cho phépbạn phân chia ra nhiều tab hoặc nhiều khung trên một cửa sổ với các thông tinđược highlight rất dễ nhìn Để chạy được cmder bạn bấm vào nút Terminal trênLaragon.

Việc sử dụng cmder là rất nhiều khi phát triển Laravel, nếu bạn sử dụngSublime Text, bạn nên thiết lập ứng dụng dòng lệnh mặc định cho Sublime Textnhư vậy, tại bất kỳ đâu trong dự án, chỉ cần một phím tắt bạn đã có màn hìnhcmder với thư mục hiện hành là thư mục gốc của dự án Các bước thiết lập nhưsau:

Cài đặt package Terminal, bạn vào theo đường dẫn Preferences->Package

Control->Install Package và tìm package có tên Teminal, sau khi cài đặt xong

trong thư mục Preferences->Package Settings sẽ có thêm một mục Terminal,

bạn click vào Settings – Default để thiết lập đường dẫn đến cmder

Hình 8: Thiết lập đường dẫn đến cmder trên Sublime Text

Giờ bạn có thể sử dụng tổ hợp phím Ctrl + Shift + T để mở cmder khi đangcode một class nào đó

Trang 23

Hình 9: Giao diện của HeidiSQL

Ngrok:

Ngrok là gì? Bạn có thể tưởng tượng một tình huống như thế này, bạn vừaphát triển xong ở máy tính và muốn show cho khách hàng xem thử, bình thườngbạn cần phải upload code lên một server nào đấy, sau đó cấu hình và chuyển chokhách hàng đường dẫn đến trang demo Như vậy khá là mất công, hơn nữa bạncũng cần phải có sẵn một server nào đó trên Internet Ngrok giúp bạn xử lý vấn

đề này một cách đơn giản thông qua dịch vụ VPN (secure tunnel) Laragon cũngtích hợp sẵn ngrok và các công việc còn lại bạn cần làm như sau:

Tạo tài khoản trên ngrok.com, sau khi tạo xong website sẽ chuyển hướngvào trang quản trị tài khoản như hình dưới

Hình 10: Trang quản trị tài khoản trên ngrok

Trang 24

Mở cmder trên Laragon, tìm dự án cần làm lên và copy paste lệnh ngrokauthtoken xxx để cài đặt mã xác thực Sau đó thực hiện lệnh ngrok http 80.

Hình 11: Địa chỉ demo của dự án

Như vậy là xong, bạn có thể cung cấp cho khách hàng địa chỉ trong ô màu

đỏ, khách hàng có thể truy cập từ bất kỳ đâu trên Internet đến localhost trên máytính của bạn

1.1.6 Composer

1.1.6.1 Khái niệm Composer

Composer là một công cụ quản lý thư viện PHP cho các dự án, một cáchchính xác hơn Composer quản lý sự phụ thuộc các tài nguyên trong dự án(dependency management), nó cho phép khai báo các thư viện mà dự án của bạn

sử dụng và nó sẽ quản lý các thư viện này giúp bạn Việc quản lý này bao gồm:cài đặt các thư viện yêu cầu tự động, cập nhật các thư viện khi có phiên bảnmới…

Composer sẽ:

 Khai báo các thư viện mà dự án sử dụng

 Tìm các phiên bản của package có thể cài đặt và cần thiết cho dự án, sau

đó cài đặt chúng vào dự án (tức là tải chúng về dự án)

1.1.6.2 Yêu cầu hệ thống với Composer

Composer yêu cầu hệ thống phải cài đặt PHP với phiên bản từ 5.3.2 trở lên,

sẽ có một vài các thiết lập thông số PHP và một số các cờ trong biên dịch, cáccảnh báo này sẽ được hiển thị khi cài đặt composer

Composer là một công cụ đa nền tảng do đó nó có thể chạy tốt trên các hệ

Trang 25

điều hành hiện nay như Windows, Linux, OSX…

1.1.6.3 Cài đặt Composer trên Windows

Sử dụng bộ cài

Đây là cách đơn giản nhất, bạn tải về file Composer-Setup.exe theo đường

dẫn sau: https://getcomposer.org/download/, bạn tìm tải về bản composer mới

nhất và tự động thiết lập các biến môi trường PATH để bạn có thể gọi lệnhcomposer ở bất kỳ đâu

Hình 12: Màn hình dòng lệnh trên composer

Trang 26

Cài đặt thủ công

Tải về file composer.phar tại trang: https://getcomposer.org/download/.

Tạo một file batch composer.bat để thực thi với nội dung như sau:

@php "%~dp0composer.phar" %*

Hoặc chạy lệnh sau trên màn hình dòng lệnh để tự động lưu ra filecomposer.bat

C:\composer>echo @php "%~dp0composer.phar" %*>composer.bat

Tiếp theo là đưa đường dẫn đến file composer.bat vào biến môi trườngPATH Sau đó thử chạy một lệnh của composer để kiểm tra:

C:\Users\Admin>composer -V

Composer version 1.2.2 2018-03-03 17:43:15

1.1.7 Cấu trúc thư mục Laravel Framework

Thư mục app: thư mục này rất quan trọng và thường xuyên phải thao tác

trong thư mục này: Nó chứa các Models, Controller, Providers

Thư mục bootstrap: chứa các file khởi tạo và một số file cấu hình nạp tự

động

Thư mục config: chứa các file cấu hình của Laravel Framework: cấu hình

database, app, mail, session

Thư mục public: các file tĩnh như file HTML, CSS, Javascript hay ảnh sẽ

được đưa vào thư mục này

Thư mục resources: chứa trang views (V của mô hình MVC), chứa các

file khác như (SASS, LESS, CoffeeScript) và các file hỗ trợ cho đa ngôn ngữ

Thư mục routes (từ laravel 5.2 mới có): chứa file web.php và api.php có

vai trò chỉ đường cho yêu cầu (request) đi đến đâu

Thư mục storage : chứa các file đã biên dịch từ các file view xài Blade

template, chứa file sessions, caches và các file được sinh ra tự động củaframework

Thư mục tests: chứa các file test của Framework.

Thư mục vendor: chứa các thư viện mà Composer cài đặt cho Framework Một số file con khác:

Trang 27

.gitignore: Git (phần mềm để quản lý sự thay đổi của source code) sử dụng

2 file này để định nghĩa thuộc tính và danh sách các file không theo dõi

Composer.json: File này chứa danh sách các dependencies (thư viện,

framework) sử dụng trong app Khi chạy câu lệnh composer install hoặccomposer update thì file này sẽ là cơ sở để xác định phiên bản nào cần tải về củacác thư viện, framework được liệt kê trong file này

Artisan: File này dùng để thực thi các lệnh CLI để hỗ trợ phát triển ứng

dụng

1.2 Các thành phần cơ bản của Laravel Framework

1.2.1 Route

Khái niệm route: Route trong Larvel cũng như các framework khác đều

có chức năng là định ra các dạng resquest (hiểu nôm na là url) định sẵn và cũng

có các action (hành động) do chúng ta định nghĩa cho nó

1.2.1.1 Các loại route trong Laravel

Laravel là một framework hỗ trợ rất đa dạng về route, và cũng rất dễ sửdụng Nó gồm có các loại:

Route::get nhận resquest với phương thức GET.

Route::post nhận resquest với phương thức POST.

Route::put nhận resquest với phương thức PUT.

Route::delete nhận resquest với phương thức DELETE.

Route::match kết hợp nhiều phương phức POST, GET, PUT,

Route::any nhận tất cả các phương thức.

Route::group tạo ra các nhóm route.

Route::controller gọi đến controller tương ứng mà ta tự định.

Route::resource sử dụng với resource controller.

1.2.1.2 Sử dụng route trong Laravel

Để sử dụng được route thì các bạn mở thư mục laravel vừa tạo sau đóchúng ta truy cập routes/web.php để bắt đầu viết code route

Route::get: Đây là route sẽ tiếp nhận các request với phương thức GET.

Cú Pháp:

Trang 28

Route::get($url, $action);

Trong đó: $url là đường dẫn của route, $action là các hành động thực hiệntrong router đó

Route::post: với loại route này thì nó không khác gì với Route::get() ngoài :

Route::get() nhận phương phương thức GET còn Route::post() nhận phươngthức POST

Cú Pháp:

Route::post($url,$action);

Route::match: Nếu muốn sử dụng hai phương thức GET, POST mà không

muốn dùng phương thức PUT, PATCH, DELE, thì làm sao? Nhận thấy điều

đó nên Laravel đã cho chúng ta thêm một route nữa là match route

Cú Pháp:

Route::match('phuong thuc','url','action');

Trong đó:

 Phương thức: có thể là một mảng POST, GET, vd: ['POST','GET']

 url: thì không khác gì như Route::get

 action: cũng không khác gì Route::get

Route::any: Sử dụng một số phương thức trong route thì dùng Route::any() ,

còn nếu như muốn dùng tất cả các phương thức thì chẳng lẽ chúng ta cứ phảiviết đi viết lại 1 url với từng phương thức? Cũng vì điều này mà Laravel đã cungcấp cho chúng ta Route::any()

Cú pháp:

Route::any($url,$action);

Cách sử dụng giống Route::get()

Trang 29

1.2.2 View

Hình 13: Mô hình MVC

Trong mô hình MVC, V là chữ viết tắt của View Nó giúp tách biệt giữaapplication logic và presentation logic giúp quản lý và phát triển mã nguồn tốthơn Các view trong Laravel được lưu trữ trong thư mục resources/views Có thểtạo thêm các thư mục trong thư mục resources/views để phân cấp quản lý Cácview có thể chứa mã HTML, CSS, Javascript phục vụ cho hiển thị nội dung chongười dùng

1.2.2.1 Tạo View trong Laravel

View trong Laravel không tạo được bằng câu lệnh php artisan mà chỉ đơngiản là tạo một file mới trong các thư mục con của resources/views với cấu trúctên file như sau:

tên-view.blade.php

1.2.2.2 Truyền dữ liệu cho View

Truyền dữ liệu cho view giúp cho view hiển thị các nội dung động, ví dụview hiển thị chi tiết một bài viết thì tiêu đề bài viết, nội dung mỗi bài viết khácnhau ta sẽ truyền các giá trị này cho view

Có thể truyền dữ liệu vào view bằng phương thức with, tham số truyền vào

Trang 30

là một mảng giá trị.

return view('fontend.news-detail')->with(['news_id' => $news_id, 'news_title' => $news_title]);

Khi đó, muốn in nội dung các giá trị này trong view chúng ta đưa các biến

này vào dấu {{ }}, xem nội dung view news-detail.blade.php nằm trong

resources/views/fontend

1.2.2.3 Chia sẻ dữ liệu cho tất cả các View

Thực hiện bằng cách sử dụng phương thức share() trong phương thức

boot() của service provider, là thêm vào app\Provider\AppServiceProvider.php.

Khi đó, trong các view bạn chỉ cần sử dụng {{ $key }} là nó sẽ in ra ‘value’.

1.2.3 Controller

Controller với viết tắt là chữ C trong mô hình MVC, nó thực hiện điềuhướng giữa Model và View sau khi nhận request từ trình duyệt web

1.2.3.1 Tạo Controller trong Laravel

Để tạo mới một Controller ta sử dụng câu lệnh:

php artisan make:controller MyController

Sau khi thực hiện, nó sẽ tạo ra một file MyController.php trong thư mục

app/Http/Controllers Khi một yêu cầu gửi đến hệ thống Laravel sẽ tìm trong

route và route sẽ gọi đến một hàm trong một Controller theo cú pháp như sau:

Route::get('base URI','controller@method');

1.2.3.2 Sử dụng các action trong Controllers.

Khi làm việc với Route::controller thì cần chú ý việc đặt tên action phảituân theo quy tắc methodUri như sau:

Method là post, get, và viết thường

Uri: Chữ cái đầu tiên của Uri sẽ bắt buộc viết in hoa, cứ 1 chữ in hoa sẽđược tính là 1 đoạn uri được phân cách bởi dấu -

Khi làm việc với Route::resource thì controller laravel hỗ trợ 8action: index, create, store, show, edit, update, destroy nhưng trong controllerkhông nhất thiết phải tạo đủ 8 action này

Ngoại trừ những điều trên thì action bạn có thể đặt tên tùy ý

Ngày đăng: 14/05/2020, 21:48

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Thị Tĩnh, Bài giảng môn Phân tích và thiết kế hệ thống hướng đối tượng Khác
2. Đoàn Văn Ban, Phân tích thiết kế hướng đối tượng bằng UML, NXB Khoa học và Kỹ thuật, 2004 Khác
3. Đặng Văn Đức, Phân tích thiết kế hướng đối tượng bằng UML (Thực hành với Rational Rose), NXB Khoa học và Kỹ thuật, 2002 Khác
4. Dương Kiều Hoa - Tôn Thất Hoà An, Phân tích và thiết kế hệ thống thông tin với UML Khác
5. Dương Anh Đức, Bài giảng về ngôn ngữ UML Trang web tham khảo Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w