Tải bản đầy đủ (.pdf) (54 trang)

Xây dựng hệ thống thương mại điện tử salevia com

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.13 MB, 54 trang )

LỜI CẢM ƠN
Sau quãng thời gian học tập và rèn luyện dưới ngôi trường Công nghệ thông tin
và truyền thông – Thái Nguyên, bằng sự nỗ lực học tập của bản thân, sự giúp đỡ của
bạn bè và đặc biệt là sự dìu dắt đầy tâm huyết của các thầy cô trong trường, kết thúc
chặng đường 5 năm em thấy mình đã trưởng thành hơn và với kiến thức đã tích lũy
được trong quá trình học tập, em sẽ cố gắng sống và làm việc thật tốt, trở thành một
người có ích cho gia đình và xã hội.
Với lòng biết ơn sâu sắc nhất, em xin gửi lời cảm ơn chân thành đến Thạc sĩ
Nguyễn Quang Hiệp và các thầy cô trong khoa Công nghệ thông tin đã tâm huyết
truyền đạt vốn kiến thức quý báu của mình cho em, tận tình giúp đỡ và động viên em
trong suốt thời gian thực hiện đồ án tốt nghiệp.
Sau cùng em xin kính chúc các thầy cô dồi dào sức khỏe, luôn tràn đầy tâm
huyết để tiếp tục vững tay chèo lái con thuyền đưa thế hệ sinh viên cập bến bờ tri thức.
Trong phạm vi khả năng cho phép, em đã cố gắng để hoàn thành đề tài một
cách tốt nhất. Xong, với kiến thức còn có hạn, chắc chắn sẽ không tránh khỏi những
thiếu sót. Em kính mong nhận được sự thông cảm và đóng góp ý kiến tích cực từ phía
các thầy cô và các bạn.
Em xin chân thành cảm ơn!

1


LỜI CAM ĐOAN
Em tên là: Đỗ Văn Khang – sinh viên lớp CNTT-K11A, khoa công nghệ thông
tin, trường Đại học Công Nghệ Thông Tin và Truyền Thông - Đại học Thái Nguyên,
khóa 2012-2017.
Em xin cam đoan đã thực hiện quá trình làm đồ án một cách khoa học, chính
xác và trung thực.
Toàn bộ kết quả của quá trình làm đồ án là thành quả của quá trình học tập,
nghiên cứu của em, dưới sự hướng dẫn của Thạc sĩ Nguyễn Quang Hiệp. Nội dung
trong đồ án nếu có tham khảo, sử dụng tài liệu thông tin từ một số nguồn khác đều


được trích dẫn trong phần tài liệu tham khảo.
Em xin chịu trách nhiệm toàn bộ trước bài báo cáo của mình!
Thái Nguyên, Ngày 5 tháng 5 năm 2017.
Sinh viên

Đỗ Văn Khang

2


MỤC LỤC
LỜI CẢM ƠN ............................................................................................................ 1
LỜI CAM ĐOAN ........................................................................................................ 2
MỤC LỤC ................................................................................................................... 3
DANH MỤC HÌNH..................................................................................................... 5
LỜI MỞ ĐẦU ............................................................................................................. 6
CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT ............................................................................ 7
1.1. Dịch vụ Software as a Service (SaaS) ............................................................... 7
1.1.1. Giới thiệu SaaS .......................................................................................... 7
1.1.2. Làm sao để chọn giữa SaaS và phần mềm on-premise? ............................. 7
1.1.3. SaaS có mới với người sử dụng?................................................................ 8
1.1.4. Liệu tôi có thể tùy chỉnh phần mềm SaaS?................................................. 9
1.1.5. Ai sở hữu dữ liệu của tôi? ........................................................................ 10
1.1.6. Dữ liệu của tôi có được an toàn? .............................................................. 10
1.1.7. Điều gì sẽ xảy ra nếu nhà cung cấp dịch vụ SaaS ngừng kinh doanh? ...... 11
1.1.8. Hạn chế của SaaS là gì? ........................................................................... 11
1.1.9. Đâu là sự khác biệt giữa SaaS và điện toán đám mây? ............................. 11
1.2. Giới thiệu về Affiliate ..................................................................................... 12
1.2.1. Affiliate là gì ?......................................................................................... 12
1.2.2. Lợi ích của Affiliate Marketing ............................................................... 12

1.3. Giới thiệu về Application Programming Interface(API) .................................. 13
1.3.1. API là gì .................................................................................................. 13
1.3.2. Ứng dụng API ......................................................................................... 14
1.4. Tìm hiểu về Laravel ........................................................................................ 14
1.4.1. Giới thiệu về Laravel ............................................................................... 14
1.4.2. Sự phát triển của Laravel. ........................................................................ 15
1.4.3. Các điểm nhấn đặc sắc của Laravel.......................................................... 15
1.4.4. Cài đặt Laravel thông qua Composer. ...................................................... 17
1.4.5. Cấu trúc Laravel ...................................................................................... 18
1.4.6. Các thành phần cơ bản trong Laravel ....................................................... 20
1.5. Tìm hiểu về Bootstrap..................................................................................... 28

3


1.5.1. Giới thiệu về Bootstrap ............................................................................ 28
1.5.2. Một số ưu điểm chính của Boostrap. ........................................................ 29
1.5.3. Cách sử dụng Twitter Bootstrap............................................................... 30
1.6. PHP & MySQL .............................................................................................. 32
1.6.1. Hệ quản trị CSDL MySQL. ..................................................................... 32
1.6.2. PHP ......................................................................................................... 32
1.7. Unified Modeling Language (UML) ............................................................... 33
1.7.1. Giới thiệu về UML .................................................................................. 33
1.7.2. Kiểu dữ liệu trong UML .......................................................................... 34
1.7.3. Biểu đồ trong UML ................................................................................. 34
CHƯƠNG 2: KHẢO SÁT, PHÂN TÍCH THIẾT KẾ HỆ THỐNG ............................ 37
2.1. Khảo sát hệ thống ........................................................................................... 37
2.1.1. Đặt vấn đề ............................................................................................... 37
2.1.2. Cách thức hoạt động của Lazada Affiliate ............................................... 38
2.1.3. Yêu cầu bài toán ...................................................................................... 38

2.1.4. Các chức năng chính................................................................................ 38
2.1.5. Các bước xây dựng hệ thống................................................................... 39
2.2. Phân tích thiết kế hệ thống .............................................................................. 40
2.2.1. Yêu cầu hệ thống ..................................................................................... 40
2.2.2. Biểu đồ trường hợp sử dụng (Use case) ................................................... 40
2.2.3. Biểu đồ trình tự (Sequence) ..................................................................... 45
CHƯƠNG 3 : THIẾT KẾ GIAO DIỆN CHƯƠNG TRÌNH ....................................... 49
3.1. Giới thiệu website ........................................................................................... 49
3.2. Giao diện chương trình ................................................................................... 49
KẾT LUẬN ............................................................................................................... 52
TÀI LIỆU THAM KHẢO ......................................................................................... 53

4


DANH MỤC HÌNH
Hình 1.1 : Tỉ lệ người sử dụng Laravel năm 2015 ...................................................... 15
Hình 1.2 : MVC trong Laravel ................................................................................... 16
Hình 1.3 : Cài đặt composer....................................................................................... 17
Hình 1.4 : Cấu trúc thư mục Laravel .......................................................................... 18
Hình 1.5 : Bootstrap trên Github ................................................................................ 29
Hình 1.6 : Cấu trúc thư mục css framework boostrap ................................................. 30
Hình 1.7 : minh hóa form trong boostrap ................................................................... 31
Hình 1.8 : Kết quả viết form ...................................................................................... 31
Hình 1.9 : Kết quả bootstrap responsive..................................................................... 31
Hình 2.1 : Cách thức hoạt động của Lazada affiliate .................................................. 38
Hình 2.2 : Hoạt động của hệ thống dk100 .................................................................. 39
Hình 2.3 : Cơ sở dữ liệu của hệ thống dk100 ............................................................. 39
Hình 2.4 : Biểu đồ Use Case hệ thống salevia.com .................................................... 40
Hình 2.5 : Biểu đồ phân rã usecase xem và hiển thị cấu hình cửa hàng ...................... 41

Hình 2.6 : Biểu đồ phân rã usecase xem chi tiết sản phẩm ......................................... 42
Hình 2.7 : Biểu đồ phân rã usecase hệ thống dk100 ................................................... 43
Hình 2.8 : Biểu đồ phân rã usecase lấy chi tiết thông tin sản phẩm ............................ 44
Hình 2.9 : Biểu đồ trình tự lấy dự liệu của hệ thống dk100 ........................................ 45
Hình 2.10 : Biểu đồ trình tự chức năng xem trang, hiển thị cấu hình cửa hàng ........... 45
Hình 2.11 : Biểu đồ trình tự chức năng xem sản phẩm theo danh mục ....................... 46
Hình 2.12 : Biểu đồ trình tự chức năng xem chi tiết sản phẩm ................................... 46
Hình 2.13 : Biểu đồ trình tự chức năng tìm kiếm ....................................................... 47
Hình 2.14 : Biểu đồ trình tự chức mua sản phẩm ....................................................... 47
Hình 2.15 : Biểu đồ trình tự chức chia sẻ sản phẩm ................................................... 48
Hình 3.1 : Giao diện trang chính ................................................................................ 49
Hình 3.2 : Giao diện trang danh mục sản phẩm .......................................................... 50
Hình 3.3 : Giao diện trang chi tiết sản phẩm .............................................................. 51

5


LỜI MỞ ĐẦU
Trong thời đại ngày nay, mạng internet và các ứng dụng trên internet đã trở nên
phổ biến và đóng vai trò quan trọng trong nhiều lĩnh vực của cuộc sống, kinh tế, xã
hội. Một trong những ứng dụng và cũng là thành phần quan trọng của mạng internet đó
chính là các website. Mọi thông tin trên mạng internet hầu hết được xuất bản và cập
nhật từ những website. Các hệ thống website thương mại điện tử từ đó cũng được
hình thành là nhu cầu tất yếu của người dùng, để giúp việc mua sắm trở lên dễ dàng
hơn với 1 cú nhấp chuột.
Affiliate marketing (Tiếp thị liên kết) là hình thức quảng bá sản phẩm hoặc dịch
vụ của nhà cung cấp là công ty có sản phẩm, dịch vụ muốn thông quá các trang mạng
của các đối tác quảng bá sản phẩm, dịch vụ đến người dùng cuối cùng. Nó đã và đang
rất phát triển ở Việt Nam và là miếng mồi kiếm bội cho các nhà đối tác với phần trăm
hoa hồng lớn.

Vì vậy, cùng với những gợi ý của giảng viên Thạc sĩ Nguyễn Quang Hiệp, em
đã chọn đề tài:“Xây dựng hệ thống thương mại điện tử SaleVia.com”.
Trước tiên em xin gửi lời cảm ơn đến thầy giáo Thạc sĩ Nguyễn Quang Hiệp,
là giảng viên trực tiếp hướng dẫn em trong suốt quá trình làm đồ án. Cảm ơn thầy đã
tạo cho em những điều kiện thuận lợi để em có thể hoàn thành tốt đề tài đồ án. Bên
cạnh những kết quả khiêm tốn mà em đạt được, chắc chắn không tránh khỏi những
thiếu sót và hạn chế trong nội dung báo cáo và chương trình. Kính mong nhận được
những ý kiến đóng góp của thầy cô để em có thể hoàn thiện hơn.
Em xin chân thành cảm ơn!
Thái Nguyên, ngày 5 , tháng 5 , năm 2017
Người viết báo cáo

Đỗ Văn Khang

6


CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT
1.1. Dịch vụ Software as a Service (SaaS)
1.1.1. Giới thiệu SaaS
SaaS (Software as a Service) là một dạng chuyển giao phần mềm cho phép
truy cập dữ liệu từ bất kì thiết bị nào có kết nối internet và cài đặt trình duyệt
web. Trong mô hình chạy trên web này, các nhà cung cấp phần mềm thực hiện nhiệm
vụ lưu trữ và bảo trì các máy chủ, cơ sở dữ liệu và các đoạn mã để cấu thành ứng
dụng. Đây là sự cải tiến đặc biệt so với mô hình on-premise do doanh nghiệp không
cần đầu tư vào phần cứng dung lượng lớn để lưu trữ phần mềm. Doanh nghiệp không
phải chịu các trách nhiệm kỹ thuật như khắc phục sự cố và bảo trì hệ thống. Các nhà
cung cấp dịch vụ SaaS sẽ lo việc đó.
Ngoài việc cho phép truy cập từ xa vào các phần mềm ứng dụng và dữ liệu
thông qua web, SaaS cũng khác với phần mềm on-premise về phương diện chi phí.

Phần mềm on-premise thường được mua thông qua một giấy phép vĩnh viễn, nghĩa là
doanh nghiệp sẽ sở hữu phần mềm đó. Ngoài ra, doanh nghiệp còn phải trả từ 15% đến
20% phí bảo trì và phí hỗ trợ hàng tháng. Ngược lại, SaaS cho phép người mua trả một
khoản phí thuê bao hàng năm hoặc hàng tháng, chi phí đã bao gồm giấy phép sử dụng
phần mềm, phí hỗ trợ và hầu hết các chi phí khác. Lợi ích chính của SaaS là có thể linh
hoạt mở rộng quy mô dịch vụ để phù hợp với nhu cầu của doanh nghiệp theo thời gian,
từ đó giúp tiết kiệm chi phí.
1.1.2. Làm sao để chọn giữa SaaS và phần mềm on-premise?
Đầu tiên bạn phải xác định được mức độ phức tạp của mô hình kinh doanh của
doanh nghiệp mình. Chúng tôi thường đề xuất SaaS cho các doanh nghiệp vừa và
nhỏ với với quy trình làm việc đơn giản và mong muốn giảm bớt chi phí cố định. Tại
sao lại như vậy? Các giải pháp của SaaS đều giúp tiết kiệm chi phí nhưng nó vẫn có
thể xử lý được những yêu cầu phức tạp của doanh nghiệp lớn. Nếu muốn theo kịp hệ
thống on-premise thì SaaS cần phát triển các chức năng mạnh mẽ tương tự như hệ
thống on-premise.
Trong khi SaaS đang dần thu hẹp khoảng cách về chức năng thì giữa 2 hệ thống
vẫn còn nhiều điểm khác biệt. Đơn cử như một xí nghiệp cỡ vừa sản xuất các chi tiết
hàng không vũ trụ kỹ thuật cao theo đơn đặt hàng có thể rất phù hợp với hệ thống on-

7


premise, đơn giản vì các hệ thống này có tuổi thọ lớn và có nhiều chức năng hơn. Mặt
khác, một nhà máy chuyên sản xuất các loại đai ốc và bu lông sẽ tìm thấy tất cả các
chức năng cần thiết trong một giải pháp SaaS như NetSuite hoặc Plex Systems. Vì
vậy, quan trọng nhất là bạn phải hiểu rõ những nhu cầu của tổ chức và giải pháp nào
có thể giúp bạn đáp ứng những nhu cầu đó trong tương lai gần hoặc xa
1.1.3. SaaS có mới với người sử dụng?
Khởi nguồn của môi trường chia sẻ tài nguyên như điện toán đám mây xuất
phát từ những năm thập niên 60. Trong một bài phát biểu năm 1961 gửi đến sinh

viên Học viện Công nghệ Massachusetts, nhà khoa học máy tính lừng danh John
McCarthy, người đạt giải thưởng Turing với tác phẩm Trí Tuệ Nhân Tạo đã có câu nói
nổi tiếng: “Thao tác điện toán ngày nào đó có thể sẽ được tổ chức như một dịch vụ
công cộng.” Nói cách khác, khái niệm điện toán đám mây chính là cách thức chia sẻ
năng lực tính toán. Trong khi ý tưởng đã có từ trước, công nghệ dựa trên nền tảng web
yêu cầu hỗ trợ SaaS chỉ phát triển mạnh mẽ từ cuối những năm 1990. Đó là khi các
công ty như Salesforce bắt đầu cung cấp các giải pháp cho hoạt động kinh doanh
truyền thống, chẳng hạn như quản lý quan hệ khách hàng thông qua mô hình SaaS.
Lúc đầu, các doanh nghiệp phần mềm trên thế giới đã không nhìn nhận SaaS
một cách nghiêm túc. Tuy nhiên, trong 5 năm trở lại đây, đã có sự chuyển biến mạnh
mẽ khi các doanh nghiệp SaaS chứng minh được họ có thể tăng doanh thu và nền tảng
người dùng của mình thông qua mô hình cấp giấy phép đăng ký. Đồng thời, người
mua đang ngày càng bị thu hút bởi tính tiết kiệm chi phí và sự quen thuộc của giao
diện người dùng (UI) giống trình duyệt web mà các giải pháp SaaS cung cấp.
SaaS
Chi phí cố định ban
đầu
Phí thuê bao hàng
tháng
Phí bảo trì và phí hỗ

On-premise
Có – mua một giấy phép

Không

vĩnh viễn và thuộc sở
hữu của doanh nghiệp




Không

Không – đã bao gồm trong phí

Có – Phải trả thêm 15%

8


trợ hàng tháng

Mở rộng quy mô dịch
vụ

thuê bao

đến 20%/năm

Có thể mở rộng bất kỳ lúc nào, tùy
theo nhu cầu sử dụng à tăng phí
thuê bao

Phải mua bản nâng cấp
mới

Trách nhiệm kỹ thuật
(khắc phục sự cố hoặc Nhà cung cấp dịch vụ SaaS

Doanh nghiệp


bảo trì hệ thống)
Quy mô doanh nghiệp Doanh nghiệp vừa và nhỏ
Doanh nghiệp sở hữu, cần quy
Quyền sở hữu dữ liệu định rõ trong ‘Cam kết mức độ
dịch vụ’ (SLA)
Cập nhật phiên bản
mới

Doanh nghiệp lớn
Thuộc quyền sở hữu của
doanh nghiệp hoàn toàn

Nhà cung cấp dịch vụ SaaS tự

Cập nhật theo nhu cầu

động cập nhật thường xuyên,

của doanh nghiệp, cần trả

không cần trả phí

phí

1.1.4. Liệu tôi có thể tùy chỉnh phần mềm SaaS?
Khi các ứng dụng SaaS lần đầu tiên xuất hiện, sự tuỳ biến rất hạn chế. Mọi
doanh nghiệp đều có cùng một giải pháp và phải thay đổi quy trình kinh doanh của
mình để phù hợp với phần mềm mà họ nhận được. Ngày nay, việc tùy chỉnh hệ thống
SaaS ngày càng trở nên dễ dàng và phổ biến. Có hẳn những đội ngũ tư vấn viên

chuyên tinh chỉnh các ứng dụng SaaS để phù hợp với quy trình kinh doanh của bạn.
Người mua có thể tùy chỉnh giao diện người dùng của chương trình, cũng như
sửa đổi các trường dữ liệu khi cần. Một vài tính năng của quy trình kinh doanh cũng
có thể được tắt và bật theo ý muốn. Tuy nhiên, khả năng tương thích của phần mềm
SaaS vẫn không phải là điểm cần so sánh với những giải pháp on-premise. Khi thị
trường SaaS tăng trưởng mạnh, các nhà cung cấp phần mềm sẽ đầu tư nhiều hơn vào
việc phát triển để cung cấp nhiều hơn sự tuỳ chỉnh và linh hoạt mà các doanh nghiệp
vốn đã quen thuộc với phần mềm on-premise. Tất nhiên, tất cả điều này thay đổi tùy
thuộc vào từng loại ứng dụng và từng nhà cung cấp.

9


1.1.5. Ai sở hữu dữ liệu của tôi?
Rất nhiều khách hàng lo ngại rằng các nhà cung cấp SaaS sẽ “sở hữu” dữ liệu
của họ. Chắc chắn đây là điều cần được nhận biết khi đàm phán một Cam kết mức độ
dịch vụ (SLA) với nhà cung cấp SaaS của bạn. Ngoài các tiêu chuẩn hệ thống đáng tin
cậy, SLA cần phải giải thích rõ ràng các thông số của sản phẩm, chẳng hạn như quyền
sở hữu dữ liệu, các yêu cầu bảo mật và lịch bảo trì. Đây là một tài liệu quan trọng và
khá phức tạp mà chúng tôi không thể nói hết ở đây.
Doanh nghiệp phải đảm bảo chắn chắn trong SLA sẽ có những điều khoản quy
định quyền sở hữu dữ liệu. Hầu hết các hợp đồng SaaS được lập với điều khoản trả
trước dự phòng sẽ quy định quyền truy cập vào dữ liệu của doanh nghiệp nếu các nhà
cung cấp ngừng kinh doanh (xem thêm câu hỏi số 7). Điều khoản này cũng đảm bảo
rằng doanh nghiệp có quyền sở hữu những dữ liệu đó. Hơn nữa, hầu hết các nhà cung
cấp SaaS sẽ cho phép bạn truy xuất dữ liệu và sao lưu cục bộ bất cứ khi nào bạn muốn.
Sẽ rất bất thường khi nhà cung cấp khăng khăng giữ quyền sở hữu dữ liệu của bạn.
Nếu bạn nhận thấy điều này trong hợp đồng, đừng đặt bút kí.
1.1.6. Dữ liệu của tôi có được an toàn?
Đây là một trong những điểm then chốt ảnh hưởng đến quyết định của các

doanh nghiệp đang cân nhắc việc sử dụng SaaS. Bảo mật là vấn đề cần được xem xét
kĩ khi cho phép ai đó lưu trữ dữ liệu kinh doanh quan trọng của doanh nghiệp, đặc biệt
là những doanh nghiệp có hệ thống dữ liệu lớn. Tuy nhiên, ngày nay, với hệ thống
ngân hàng và hệ thống lương trực tuyến trở thành quy chuẩn, vấn đề an ninh không
còn đáng lo. Một số thứ còn quan trọng hơn cả tài khoản ngân hàng, tuy nhiên hầu hết
chúng ta đều thấy thoải mái khi gửi thông tin vào các dịch vụ điện toán đám mây.
Thật vậy, bảo mật dữ liệu không phụ thuộc việc máy chủ được đặt ngay cạnh
bạn hay ở một thành phố khác. Công bằng mà nói, các nhà cung cấp SaaS thực sự có
thể đầu tư vào bảo mật, sao lưu và bảo trì nhiều hơn bất kỳ doanh nghiệp nhỏ và vừa
nào. Vì lẽ đó, hệ thống dựa trên nền tảng web thường có mức bảo mật cao hơn hơn hệ
thống phần mềm on-premise. Ngoài ra, hầu hết các nhà cung cấp SaaS đều trải qua
quy trình bảo mật nghiêm ngặt của kiểm toán SAS70 Type II để kiểm tra mức độ bảo
mật của trung tâm dữ liệu.

10


1.1.7. Điều gì sẽ xảy ra nếu nhà cung cấp dịch vụ SaaS ngừng kinh doanh?
Đây là thắc mắc hợp lí trong giới phần mềm. Các nhà cung cấp liên tục ra đời
rồi phá sản do thực hiện việc hợp nhất doanh nghiệp hoặc kinh doanh thất bại. Tuy
nhiên, dữ liệu của bạn vẫn còn đó. Hầu hết các nhà cung cấp SaaS đều trả trước cho
công ty lưu trữ dữ liệu trung tâm để lưu trữ dữ liệu vĩnh viễn. Lệ phí trả trước này
dùng để bảo vệ các doanh nghiệp, đảm bảo dữ liệu của họ vẫn có thể được truy cập
trong trường hợp nhà cung cấp gặp chuyện.
Điều quan trọng ở đây là phải đảm bảo trong SLA của bạn có điều khoản quy
định rõ ràng việc bạn có thể xuất dữ liệu từ nhà cung cấp. Điều khoản này cũng nên
quy định mức độ thường xuyên và bạn có thể truy cập vào dữ liệu của mình thông qua
những loại định dạng nào. Thông thường, SLAs cũng quy định việc các nhà cung cấp
sẽ giúp di dời dữ liệu của bạn với mức phí thích hợp.
1.1.8. Hạn chế của SaaS là gì?

Nhược điểm chính của SaaS là nó phụ thuộc vào đường truyền kết nối Internet.
Trong khi nhiều người tin rằng hệ thống on-premise là đáng tin cậy hơn thì thực tế
không có hệ thống nào hoàn toàn không chịu ảnh hưởng của “downtime”. Phần mềm
on-premise dễ bị mất điện, lỗi phần cứng và một loạt các rủi ro khác. Một số nhà cung
cấp SaaS đã phát triển chức năng “offline” cho phép mọi người tiếp tục làm việc trong
trường hợp rớt mạng như một biện pháp dự phòng. Khi internet được kết nối lại, tất cả
dữ liệu sẽ được đồng bộ hóa với hệ thống.
Ngoài việc kết nối Internet, một số doanh nghiệp còn lo lắng về khả năng tương
thích với hệ điều hành. Hầu hết các hệ thống của doanh nghiệp được xây dựng để chạy
trên nền Windows hoặc Linux. Gần đây bắt đầu có sự thay đổi. Chúng tôi vui mừng
khi thấy rằng nhiều nhà cung cấp còn hỗ trợ cả hệ điều hành Mac. Hy vọng việc hỗ trợ
chức năng để tăng tốc độ hệ điều hành Mac sẽ được chú ý hơn khi càng có nhiều
doanh nghiệp dùng Mac. Hơn nữa, hầu hết các công ty SaaS đều hỗ trợ nhiều trình
duyệt web. Vậy nên, bất kể bạn sử dụng hệ thống nào, bạn đều có thể truy cập các vào
các ứng dụng SaaS của mình.
1.1.9. Đâu là sự khác biệt giữa SaaS và điện toán đám mây?
Nó không chỉ khác về ngữ nghĩa. Điện toán đám mây dùng để chỉ một tập hợp
cơ sở hạ tầng công nghệ vô cùng phức tạp. Về cơ bản, đó là một nhóm các máy tính,

11


máy chủ và cơ sở dữ liệu được kết nối với nhau, theo đó người dùng có thể thuê việc
truy cập để chia sẻ năng lượng kết hợp. Doanh nghiệp có thể tăng hoặc giảm dung
lượng sử dụng tùy thuộc vào nhu cầu của mình.
Điện toán đám mây có thể liên quan đến bất kì thứ gì được lưu trữ từ xa và
truyền tải thông qua Internet. Trong khi tất cả các chương trình điện toán đám mây
được vận hành bởi các phần mềm cơ bản, SaaS đề cập cụ thể đến các ứng dụng phần
mềm doanh nghiệp được truyền tải thông qua điện toán đám mây. Với sức ảnh hưởng
ngày càng lớn của điện toán đám mây, các nhà phát triển SaaS có thể tung ra các ứng

dụng dễ dàng hơn, nhanh hơn và ít tốn kém hơn so với việc phát triển phần mềm onpremise truyền thống. Ngày nay, hầu hết các loại chức năng kinh doanh cốt lõi – từ
nguồn nhân lực đến hoạch định nguồn lực doanh nghiệp – đều có sẵn thông qua SaaS.
1.2. Giới thiệu về Affiliate
1.2.1. Affiliate là gì ?
Affiliate Marketing (hay còn gọi là tiếp thị liên kết) là 1 hình thức kinh doanh
online theo dạng cộng tác viên. Với hình thức này, bạn có thể tìm các nhà phân phối sản
phẩm có hỗ trợ affiliate, đăng ký và quảng bá sản phẩm của họ, bạn sẽ được hoa hồng.
Affiliate marketing đã được hình thành và phát triển nhanh chóng ở các nước
phát triển như Mỹ, Anh, Nhật,…Sau đó, với rất nhiều câu chuyện thành công xoay
quanh affiliate marketing và khả năng mang lại doanh thu cực cao từ mô hình kinh
doanh này, affiliate marketing dần dần du nhập vào các quốc gia khác, trong đó
có Việt Nam.
1.2.2. Lợi ích của Affiliate Marketing
Lợi ích đầu tiên và quan trọng nhất đó là affiliate marketing có thể kiếm tiền mà
không cần bỏ công sức tạo ra sản phẩm hay phải có sản phẩm của riêng mình, có thể
kể thêm những lợi ích sau :
- Có thể làm việc ở bất cứ đâu giống như các hình thức kiếm tiền online khác,
với chỉ 1 chiếc máy tính có kết nối mạng internet.
- Không cần phải chăm sóc khách hàng (hoặc rất ít), không cần lo về việc
vận chuyển, bàn giao sản phẩm cho khách hàng, những công việc này do người tạo ra
sản phẩm sẽ đảm nhiệm.

12


- Có thể bắt đầu với chi phí thấp, thậm chí với vài trăm ngàn là bạn có thể
đầu tư thời gian, công sức vào tìm hiểu và bắt đầu kiếm tiền với affiliate marketing
- Đa dạng hóa lựa chọn : Nhiều network trung gian affiliate mọc lên và chính
họ là những người mang affiliate marketing phổ biến, giới thiệu đến các chủ shop, đại
lý bán lẻ,…như vậy bạn sẽ có rất nhiều sản phẩm để lựa chọn trong nhiều nghách khác

nhau, kể cả ngắn và dài hạn. Và khi được network trung gian thì các vấn đề về thanh
toán, thống kê sẽ luôn minh bạch.
- Khả năng nhân rộng, thu nhập thụ động : Khi bạn làm affiliate và biết cách
kiếm tiền, kỹ năng bạn càng được nâng cao và bạn có thể nhân rộng những gì bạn làm,
thuê đội ngũ quản lý, như vậy bạn đã có 1 nguồn thu nhập thụ động rất cao
1.3. Giới thiệu về Application Programming Interface(API)
1.3.1. API là gì
API là viết tắt của từ "Application Programming Interface" (giao diện lập trình
ứng dụng). Nó là 1 giao tiếp phần mềm được dùng bởi các ứng dụng khác nhau. Cũng
giống như bàn phím là một thiết bị giao tiếp giữa người dùng và máy tính, API là 1
giao tiếp phần mềm chẳng hạn như giữa chương trình và hệ điều hành (HĐH).

Bộ API của từng HĐH là khác nhau, làm cho các HĐH khác nhau và thường
không tương thích với nhau. Ví dụ những phần mềm trên HĐH linux không thể chạy
được trên máy Windows bởi vì Linux và Windows có các API hoàn toàn khác nhau.
Một trong các mục đích chính của một API là cung cấp khả năng truy xuất đến
một tập các hàm hay dùng — ví dụ, hàm để vẽ các cửa sổ hay các icon trên màn hình.
Các API, cũng như hầu hết các interfaces, là trừu tượng (abstract). Phần mềm mà
muốn cung cấp truy xuất đến chính nó thông qua các API cho sẵn, phải hiện thực API
đó. Trong nhiều tình huống, một API thường là một phần của bộ SDK, hay software

13


development kit. Một bộ SDK có thể bao gồm một API cũng như các công cụ/phần
cứng, vì thế hai thuật ngữ này không thay thế cho nhau được.
1.3.2. Ứng dụng API
Hiện nay nhiều người dùng mạng xã hội facebook và bạn muốn viết một ứng
dụng để đăng tin lên mạng xã hội này. Vậy làm sao để làm một ứng dụng như vậy khi
facebook là của người khác? Hiểu được nhu cầu này của các lập trình viên facebook sẽ

đưa ra các thư viện chứa các hàm đăng, like, share...trên trang của mình để các lập
trình viên khai thác! Đó chính là API.
Google+, Gmail, Blogger, Youtube, các ứng dụng của Windows (Windows
media player, Internet Explorer,..), nhaccuatui, zing mp3,... rất nhiều các trang web,
ứng dụng đưa ra các API để hỗ trợ các lập trình viên.
- Ví dụ: Các hàm API của hệ điều hành windows cho phép chúng ta lập trình
ứng dụng thay đổi icon màn hình, xem thông tin máy tính, ... hay các hàm API của
google cho phép lập trình viên lấy thông tin, sửa thông tin người dùng,...Các hàm API
của facebook cho chúng ta đăng trạng thái, ảnh, bình luận,...
1.4. Tìm hiểu về Laravel
1.4.1. Giới thiệu về Laravel
Laravel là một bộ mã nguồn PHP Framework hoàn toàn miễn phí, được thiết
kế và xây dựng theo chuẩn mô hình MVC. Laravel được phát hành theo giấy phép
MIT, với mã nguồn của nó được lưu trữ trên GitHub. Phiên bản đầu tiên được phát
hành ngày 22 tháng 1 năm 2012 bởi Taylor Otwell và phiên bản mới nhất hiện này là
Laravel 5 phát hành tháng 1 năm 2015. Theo thống kê đánh giá của một cuộc khảo sát
các PHP Framework phổ biến 2013, thì Laravel đứng thứ hạng cao, sau đó là
Zendframework, Symfony, Yii Framework, CodeIgniter… Đây là một framework khá
mới mẻ và dễ tiếp cận, được rất nhiều lập trình viên ưa thích và sử dụng.
Trước hết, sự tinh tế của Laravel nằm ở chỗ bắt kịp được xu hướng công nghệ
mà điểm nhấn ở đây là các tính năng mới trong các phiên bản PHP 5.3 trở lên. Điều đó
được thể hiện qua khái niệm namespace, composer, closure và rất nhiều những tiêu
chuẩn trong design pattern được áp dụng trên nền tảng framework này. Đồng thời, với
cách hướng dẫn đơn giản và dễ tiếp cận giống với Codeigniter Framework đã khiến
người dùng thích ngay từ lần đầu tiếp xúc.

14


Laravel là một kết hợp tinh hoa từ các Framework khác, nó cung cấp một bộ

công cụ mạnh mẽ và một kiến trúc ứng dụng kết hợp nhiều tính năng tốt nhất của
CodeIgniter, Yii, ASP.NET MVC, Ruby on Rails, Sinatra.
1.4.2. Sự phát triển của Laravel.
Năm 2015, với sự ra mắt của Laravel 5 thì tỉ lệ người dùng Laravel cũng được
thống kê như sau :

Hình 1.1 : Tỉ lệ người sử dụng Laravel năm 2015
Trải qua nhiều năm phát triển qua các phiên bản từ thấp, đến nay bản đã ra bản
cập nhật 5.4
1.4.3. Các điểm nhấn đặc sắc của Laravel.
Laravel là một PHP Framework. Nó giảm bớt các tác vụ thường gặp của các
trang web như authentication, routing, sessions, và caching. Nó ra đời vào tháng
04/2011, có lẽ là khá mới mẻ, nhưng cũng chính vì ra đời muộn màng như thế đã buộc
nó phải học hỏi cái hay từ các PHP Framework đàn anh đi trước. Không những là các
PHP Framework, nó còn học cái hay từ Ruby on Rails, ASP.NET MVC, và Sinatra.
Tham khảo Best PHP Frameworks 2014 ta thấy Laravel đang được cộng đồng đánh giá cao:
15


MVC trong Laravel
Ở phần Routes phía trên, chúng ta đã biết cách chỉ định cho Laravel ứng với url
pattern nào thì gọi đến controller, action nào.
Trong phần này, chúng ta sẽ tìm hiểu rõ hơn về controller trong Laravel, cũng
như Model và view.

Hình 1.2 : MVC trong Laravel
 Các tính năng nổi trội của Laravel có thể kể đến :
- RESTful routing: Sử dụng Closures để hỗ trợ việc trả lời các requests.
- Blade templating (tượng tự Razor View Engine): giúp chúng ta tạo ra các
mẫu cho các view và có thể kế thừa dễ dàng.

- Eloquent ORM: đây là một ORM tuyệt vời với khả năng migration data và
làm việc tốt với MySQL, Postgres, SQL Server và SQLite
- Đáp ứng nhiều loại ứng dụng, từ ứng dụng dành cho Enterprise, hay ứng
dụng hỗ trợ RESTful, hoặc là ứng dụng web đơn giản.

16


- Laravel được xây dựng trên một số thành phần của Symphony, và ai lập trình
PHP cũng biết rằng Symphony là một MVC Framework tuyệt vời, và Laravel là một
Framework tuyệt vời hơn khi kế thừa từ Symphony.
- Sử dụng Composer để quản lý các gói của bên thứ ba, tượng tự như Nuget
Package mà chúng ta thường sử dụng trên Visual Studio.
- Red, Green, Refactor: đây là các bước khi áp dụng TDD, nghĩa là Laravel hỗ
trợ TDD và Unit Test với PHPUnit và một IoC Container để bạn có thể áp dụng
Dependency Injection và viết Unit Test dễ dàng cho ứng dụng của bạn.
1.4.4. Cài đặt Laravel thông qua Composer.
 Giới thiệu Composer
- Nếu có một thư viện quá tuyệt vời muốn tích hợp vào dự án. Khi mã nguồn
update hay thư viện update thì ta phải chạy theo nghiên cứu và update lại chúng.
Compose là tài nguyên, thư viện trung gian quản lý việc tịch hợp thư viện, giải quyết
vấn đề quản lý tài nguyên.
- Composer là bộ thư viện xây dựng dựa trên Json. Nhiệm vụ quản lý các thư
viện thứ 3 từ bên ngoài. Laravel sử dụng Composer để quản lý phụ thuộc của nó. Vì
vậy, trước khi sử dụng Laravel, bạn sẽ cần phải chắc chắn rằng bạn đã cài đặt trên máy
Composer của bạn.
- Link download Composer : />
Hình 1.3 : Cài đặt composer
17



 Cài đặt Laravel thông qua Composer
- Tạo 1 project Laravel bằng Composer trong terminal của bạn:
composer create-project laravel/laravel your-project-name “5.*” --prefer-dist

Hình 1.4 : Cấu trúc thư mục Laravel
1.4.5. Cấu trúc Laravel
1.4.5.1. Các thư mục chính
 app
App chứa các mô hình và điều khiển các ứng dụng. App chứa Model và
Controller cho ứng dụng của bạn.
 Booststrap
Thư mục này chứa các thiết lập cơ bản để bắt đầu ứng dụng
 config
Thư mục này chứa tất cả các thiết lập cấu hình của các ứng dụng như kết nối cơ
sở dữ liệu, bao gồm các lớp lõi, cài đặt email… vv
18


 database
Thư mục này chứa các mã cho các giao dịch cơ sở dữ liệu như tạo bảng, chỉnh
sửa các cột, thêm hàng mặc định trong cơ sở dữ liệu… vv
 public
Thư mục chứa các file tĩnh (css, js, less, etc.). File index.php trong thư mục này
gọi đến các tập tin đó
 resources
Thư mục chứa các mã nguồn của ứng dụng như Views, assets
Thư mục views chứa những file mẫu HTML mà người sử dụng bời controller
hay route.
Thư mục lang chứa những file ngôn ngữ dùng cho việc phân trang và chứng

thực form người dùng với ngôn ngữ tiếng Anh.
 routes
Thư mục xác định các định tuyến của website.
 storage
Thư mục lưu trữ khuôn mẫu Blade, dữ liệu của sessions, caches và các file
khác được sinh ra bởi framework
 test
Thư mục này chứa tất cả các bài tests của ứng dụng
 vendor
Thư mục này chứa tất cả các file của bên thứ ba (phụ thuộc và prepackages bổ
sung cho các plugin) và các tập tin mã nguồn của Frameworl laravel.
1.4.5.2. Các thư mục và tập tin qua trọng khác
 app/Http
Thư mục này chưa controller và routes. Routes được đặt trong file route.php và
controller được đặt trong thư mục Controllers. Trong đây còn có 2 folder khác là
Resquests và Middleware. Resquests chứa các file resquest, Middleware chứa các
middlerware.
 app/ Exception:
Thư mục chứa các classes ngoại lệ.
 app/ Services

19


Thư mục này được sử dụng để xác định các Services mới.
 app/ Providers
Thư mục này đăng ký và liên kết với các Services.
 resources/views
Thư mục này chứa các tập tin views.
 .env

Đây là một tập tin ẩn trong thư mục gốc của ứng dụng. Tập tin này có chứa các
dữ liệu cá nhân như tên và mật khẩu cơ sở dữ liệu, dữ liệu cấu hình email…vv
1.4.6. Các thành phần cơ bản trong Laravel
1.4.6.1. Routing
 Basic Routing (định tuyến cơ bản)
Bạn sẽ xác định hầu hết các tuyến cho ứng dụng của bạn trong tập tin
app/Http/routes.php, được nạp bởi các lớp App\Providers\RouteServiceProvider. Hầu
hết các định tuyến Laravel cơ bản chỉ đơn giản là chấp nhận một URL và a Closure :
- Basic GET Route (định tuyến GET cơ bản)
Route::get('/', function(){
return 'Hello World';
});
- Other Basic Routes (các định tuyến cơ bản khác)
Route::post('foo/bar', function(){
return 'Hello World';
});
Route::put('foo/bar', function(){
//
});
Route::delete('foo/bar', function(){
//
});
- Registering A Route For Multiple Verbs (đăng ký một định tuyến đối với
nhiều động từ)
Route::match(['get', 'post'], '/', function(){

20


return 'Hello World';

});
- Registering A Route That Responds To Any HTTP Verb (đăng ký một định
tuyến đáp ứng đến động từ HTTP bất kỳ)
Route::any('foo', function(){
return 'Hello World';
});
Thông thường, bạn sẽ cần phải tạo ra đường dẫn đến các định tuyến của bạn,
bạn có thể làm như vậy bằng cách sử dụng url helper:
$url = url('foo');
 Named Routes (Định tuyến được đặt tên)
- Các định tuyến được đặt tên cho phép bạn để thuận tiện tạo ra các URL hoặc
chuyển hướng cho một định tuyến cụ thể. Bạn có thể chỉ định một tên cho một định
tuyến với mảng khóa as :
Route::get('user/profile', ['as' => 'profile', function(){
//
}]);
- Bạn cũng có thể chỉ định tên định tuyến cho các hành động điều khiển:
Route::get('user/profile', [
'as' => 'profile', 'uses' => 'UserController@showProfile'
]);
- Giờ, bạn có thể sử dụng tên của định tuyến khi tạo URL hoặc chuyển hướng:
$url = route('profile');
$redirect = redirect()->route('profile');
- Phương thức currentRouteName trả về tên của các định tuyến xử lý các yêu
cầu hiện tại:
$name = Route::currentRouteName();
1.4.6.2. Controller
Sau khi route nhận được request thì sẽ chuyển hướng request đến cho controller
và giao cho controller này xử lý. Controller sẽ gọi tới Model để tương tác với cơ sở dữ


21


liệu (database) và đưa dữ liệu tới View và View sẽ nhận dữ liệu và chuyển thành
những đoạn mã HTML rồi gửi về cho Client.
Tất cả controller trong laravel được chứa trong thư mục app/Http/controllers và
việc tạo tên file, đặt tên controller cũng phải tuân theo nguyên tắc của nó như sau:
 Trong laravel có một lớp xử lý Controller chính của nó, do đó các Controller
tạo mới phải kế thừa controller này.
 Tên controller phải trùng với tên file.
Có hai cách tạo controller:
 Tạo trực tiếp trong thư mục app/Http/controllers:
Class <Tên controller> extends Controller{
//Các action
}
 Tạo bằng câu lệnh artisan:
Trỏ đến thư mục gốc chứa project laravel, sau đó nhập câu lệnh:
php artisan make:controller controller nameController
 Tạo các action trong controller
Khi làm việc với Route::controller thì cần chú ý việc đặt tên action phải tuâ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 Ví dụ: action getDemoAction sẽ có method là get và Url là demo-action
- Khi làm việc với Route::resource thì controller laravel hỗ trợ 8 action: index,
create, store, show, edit, update, destroy nhưng trong controller khô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 ý.
1.4.6.3. Eloquent ORM
 Introduction (Giới thiệu)

- Các Eloquent ORM kèm với Laravel cung cấp một ActiveRecord đẹp mắt,
đơn giản để thực hiện làm việc với cơ sở dữ liệu của bạn. Mỗi bảng cơ sở dữ liệu có
một "Model" tương ứng được sử dụng để tương tác với các bảng đó.

22


- Trước khi bắt đầu, hãy chắc chắn đã cấu hình một kết nối cơ sở dữ liệu trong:
app/config/database.php.
 Basic Usage (Cách sử dụng cơ bản)
- Để bắt đầu, tạo ra một Eloquent model. Model thường chứa trong các thư
mục app/models, nhưng bạn được tự do để đặt chúng ở bất cứ đâu có thể được tự động
tải tập tin theo composer.json của bạn.
- Defining An Eloquent Model (Định nghĩa một mô hình Eloquent):
class User extends Eloquent {}
Lưu ý : Laravel không nói các bảng của Eloquent chỉ để sử dụng cho User
model của Laravel. Các trường hợp thấp hơn, phần lớn tên của các lớp sẽ được sử
dụng như tên bảng trừ khi tên khác được quy định một cách rõ ràng. Vì vậy, trong
trường hợp này, Eloquent sẽ cho rằng các lưu trữ User model ghi trong bảng người
dùng. Bạn có thể chỉ định một bảng tùy chỉnh bằng cách định nghĩa một thuộc tính
bảng trên mô hình của bạn.
 Insert, Update, Delete (Chèn, Cập nhật, Xóa)
- Để tạo ra một bản ghi mới trong cơ sở dữ liệu từ một mô hình, chỉ đơn giản
là tạo ra một trường mô hình mới và gọi phương thức save.
- Saving A New Model (Lưu một mô hình mới)
$user = new User;
$user->name = 'John';
$user->save();
Lưu ý: Thông thường, các mô hình Eloquent của bạn sẽ có các khoá tự động
tăng. Tuy nhiên, nếu bạn muốn chỉ định các khóa riêng của bạn thì hãy thiết lập thuộc

tính incrementing trên mô hình của bạn là false.
Sau khi lưu hoặc tạo ra một mô hình mới mà sử dụng ID tự động tăng, bạn có
thể lấy lại ID bằng cách truy cập thuộc tính id của đối tượng:
$ insertedId = $ user-> id;
- Setting The Guarded Attributes On The Model (Thiết lập các thuộc tính bảo
vệ trong mô hình)
class User extends Eloquent {
protected $guarded = array('id', 'account_id');

23


}
- Using The Model Create Method (Sử dụng mô hình tạo phương thức)
/* Tạo một người dùng mới trong cơ sở dữ liệu… */
$user = User::create(array('name' => 'John'));
/* Lấy người dùng bởi các thuộc tính, hoặc tạo ra nó nếu nó không tồn tại... */
$user = User::firstOrCreate(array('name' => 'John'));

/* Lấy người sử dụng bởi các thuộc tính, hoặc khởi tạo một trường mới... */
$user = User::firstOrNew(array('name' => 'John'));
- Updating A Retrieved Model (Cập nhật một mô hình lấy dữ liệu)
$user = User::find(1);
$user->email = '';
$user->save();
- Saving A Model And Relationships (Lưu trữ một mô hình và các mối quan hệ)
Đôi khi bạn có thể lưu lại không chỉ là một mô hình, mà còn tất cả các mối
quan hệ của nó. Để làm như vậy, bạn có thể sử dụng phương thức push:
$user->push();
Bạn cũng có thể chạy bản cập nhật như truy vấn đối với một tập hợp các mô hình:

$affectedRows = User::where('votes', '>', 100)->update(array('status' => 2));
- Deleting An Existing Model (Xóa một mô hình đang hiện tại)
$user = User::find(1);
$user->delete();
 Timestamps (Mốc thời gian)
Theo mặc định, Eloquent sẽ duy trì các cột created_at và updated_at trên bảng
cơ sở dữ liệu của bạn tự động. Đơn giản chỉ cần thêm những cột mốc thời gian cho
bảng của bạn và Eloquent sẽ lo phần còn lại. Nếu bạn không muốn cho Eloquent giữ
các cột này hãy thêm các quyền sau cho mô hình của bạn:
- Disabling Auto Timestamps (Vô hiệu hóa tự động lưu mốc thời gian)
class User extends Eloquent {
protected $table = 'users';
public $timestamps = false;

24


}
- Providing A Custom Timestamp Format (Cung cấp một định dạng tùy chỉnh
với mốc thời gian)
class User extends Eloquent {
protected function getDateFormat(){return 'U'; }
}
1.4.6.4. Views (Khung nhìn)
 Basic Usage (Cách sử dụng cơ bản)
Views chứa HTML phục vụ cho ứng dụng của bạn, và đóng vai trò một phương
pháp tiện lợi của việc tách điều khiển của bạn và phần logic từ sự trình bày logic của
bạn. Views được lưu trữ trong thư mục resources/views.
<!-- View stored in resources/views/greeting.php -->
<html>

<body>

Hello, <?php echo $name; ?>


</body>
</html>
Khung nhìn có thể được trả về cho các trình duyệt như sau :
Route::get('/', function(){
return view('greeting', ['name' => Mike]);
});
Như bạn có thể thấy, các đối số đầu tiên được truyền cho các view helper tương
ứng với tên của tập tin view trong thư mục resources/views. Đối số thứ hai được
truyền cho helper là một mảng các dữ liệu cần được lập có sẵn để xem.
Tất nhiên, các view cũng có thể được lồng trong thư mục con của thư mục
resources/views. Ví dụ, nếu view của bạn được lưu trữ tại resources/views/admin/
profile.php, nó nên được lấy ra như sau :
return view('admin.profile', $data);
- Passing Data To Views (Thông qua dữ liệu để tạo khung nhìn)
// Using conventional approach
$view = view('greeting')->with('name', 'Victoria');

25


×