lOMoARcPSD| 58797173
O CÁO THỰC TẬP TT NGHIỆP
Y DỰNG WEBSITE BẰNG LARAVEL
lOMoARcPSD| 58797173
MỤC LỤC
PHẦN 1. MỞ ĐẦU...................................................................................................3
1. Lý do chọn đề tài.............................................................................................3
2. Mục đích nghiên cu (các kết quả cần đạt được)............................................3
3. Đối tượng và phạm vi nghiên cu...................................................................3
4......................................................................................Phương pháp nghiên cu:
............................................................................................................................3
PHẦN 2. ĐỀ CƯƠNG CHI TIẾT.............................................................................5
CHƯƠNG 1: ĐẶT VẤN ĐỀ.....................................................................................5
1.1 PHP Framework là gì?.....................................................................................5
1.2 Tại sao nên s dụng PHP Framework?.............................................................5
1.3 Tại sao nên s dụng Laravel Framework?........................................................6
CHƯƠNG 2:.............................................................................................................7
GIỚI THIỆU VỀ LARAVEL....................................................................................7
2.1 Cấu trúc thư mục của
Laravel...........................................................................7
2.2 Cài đặt Laravel.................................................................................................8
2.2.1 Cài Composer.............................................................................................8
2.2.2 Cài Laravel.................................................................................................9
2.3 Cấu hình cơ bản cho ng dụng.........................................................................9
2.4 Chạy ng dụng đầu ên với Laravel................................................................9
2.5 Route trong Laravel Framework.....................................................................10
2.5.1 Basic Roung...........................................................................................10
2.5.2 Route
Parameters......................................................................................11
2.5.3 Route Filters.............................................................................................11
2.5.4 Name Route.............................................................................................13
2.5.5 Route Groups...........................................................................................14
2.5.6 Route Prexing........................................................................................14
2.6 View trong Laravel Framework......................................................................15
2.7 Controller trong Laravel Framework..............................................................16
lOMoARcPSD| 58797173
2.7.1 Khai báo Controller trong Laravel Framework:.......................................16
2.7.2 Chy Controller theo phương thc
Route::get.........................................17
2.7.3 Implicit Controllers – S dụng phương thc
Route::controller................17
2.7.4 RESTful Resource Controllers – S dụng phương thc Route::resource.18
2.7.5 Controller với Filter.................................................................................20
2.8 Kết nối cơ sở d liệu......................................................................................21
2.8.1 Cấu hình kết nối cơ sở d liệu trong Laravel Framework........................21
2.8.2 Database
Transacons..............................................................................22
2.9 S dụng Query Builder..................................................................................23
2.9.1 Truy vấn d liệu.......................................................................................24
2.9.2 Join bảng d liệu......................................................................................26
2.9.3 Hàm trong Laravel Framework................................................................27
2.9.4 Raw Expressions......................................................................................27
2.9.5 Câu lệnh Inserts d liệu...........................................................................27
2.9.6 Câu lệnh Updates d liệu.........................................................................27
2.9.7 Câu lệnh Deletes d liệu..........................................................................27
2.9.8 Câu lệnh Union........................................................................................28
2.10 Eloquent ORM.............................................................................................28
2.10.1 Lấy d liệu.............................................................................................28
2.10.2 Thêm d liệu (Insert).............................................................................29
2.10.3 Cập nhật d liệu (Update)......................................................................29
2.10.4 Xóa d liệu (Delete)...............................................................................29
2.11 S dụng Migraons và Schema Builder.......................................................30
2.11.1 Lớp Schema Builder – thao tác với bảng CSDL.....................................30
2.11.2 Migraons – Quản lý CSDL...................................................................32
CHƯƠNG 3:............................................................................................................35
PHÂN TÍCH - THIẾT KẾ WEBSITE.....................................................................35
1. Giới thiệu chương.......................................................................................35
2. Nội dung.....................................................................................................35
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.........................................40
lOMoARcPSD| 58797173
4. Kết luận:...........................................................................................................40
4.1 Kết quả đạt
được.........................................................................................40
4.2 ớng phát
triển............................................................................................40
DANH MỤC TÀI LIỆU THAM KHẢO.................................................................41
lOMoARcPSD| 58797173
LỜI MỞ ĐẦU
PHẦN 1. MỞ ĐU
1. Mục đích nghiên cứu (các kết quả cần đạt được).
Xây dựng website kinh doanh giầy dép.
Giới thiệu và trưng 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, ện lợi và dễ dàng s dụng
cho khách hàng.
Thuận ện cho việc bán và mua hàng.
2. Đối tượng và phạm vi nghiên cứu.
Đối tượng nghiên cu:
▪ Laravel framework.
▪ Tìm hiểu và khảo sát qui trình bán hàng qua mạng để có cơ sở xây
dựng một trang web bán hàng.
Phạm vi nghiên cu: xây dựng một trang web n lẻ, chuyên bán sản phẩm
sản phẩm giầy dép trong lãnh thổ việt nam
3. Phương pháp nghiên cứu:
Phương pháp thông kê, thu thập thông n, số liu.
Phương pháp phân ch và tổng hợp tài liệu để xây dựng một website.
Quá trình n học để xây dựng website thương mại điện í.
lOMoARcPSD| 58797173
NHẬN XÉT CỦA GIÁO VIÊN ỚNG DẪN
………………………………………………………………………………..
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
…………………………………………………………………………………......
Tp.Hồ Chí Minh, ngày ….. tháng ….. năm …..
Giáo viên hướng dẫn
(Ký tên và ghi rõ họ tên)
lOMoARcPSD| 58797173
lOMoARcPSD| 58797173
PHẦN 2. ĐỀ CƯƠNG CHI TIẾT
CHƯƠNG 1: ĐT VẤN ĐỀ
1.1 PHP Framework là gì?
PHP 1 ngôn ng script rất phổ biến hiện nay bởi nhng do: linh hoạt, ds
dụng, dễ học, ..v…v. nhưng đôi khi việc viết mã PHP, hay bất c ngôn ng (lập trình)
nào khác, thtrn đơn điệu và lủng củng. Đó c PHP Framework có thể giúp
bạn.
PHP Frameworks làm cho sự phát triển của nhng ng dụng web viết bằng ngôn
ng PHP trnên trôi chảy hơn, bằng cách cung cấp 1 cấu trúc bản để y dựng
nhng ng dụng đó. Hay nói cách khác, PHP Framework giúp đcác bạn thúc đy
nhanh chóng quá trình phát triển ng dụng, giúp bạn ết kiệm được thời gian, tăng
sự ổn định cho ng dụng, giảm thiểu số lần phải viết lại cho lập trình viên.
Ngoài ra Framework n giúp nhng người mới bắt đầu thxây dựng các ng
dụng ổn định hơn nhờ việc tương tác chính xác gia các Database, mã (PHP) và giao
diện (HTML) 1 cách riêng biệt. Điều này cho phép bạn nh nhiều thời gian đtạo
ra các ng dụng web, hơn là phí thời gian để viết các đoạn mã lặp lại trong 1 project.
Ý ởng chung đằng sau cách thc m việc của 1 PHP Framework được kđến
Model View Controller (MVC). MVC 1 nh (kiến trúc) trong lập trình, cho
phép tách biệt các nghiệp vụ giao diện thành các phần riêng biệt, điều này
đồng nghĩa với việc ta có thể chỉnh sa chúng 1 cách riêng lẻ. Trong cụm i MVC thì:
Model (M) có thể hiểu là phần x lý các thao tác về nghiệp vụ ( business logic), View
được hiểu phần x lớp giao diện (presentaon layer), Controller làm nhim
vụ lọc các request đc gọi i user, chc năng như 1 route: điều chỉnh, phân luồng
các yêu cầu để gọi đúng Model & View thích hợp. Vbản, MVC chia nhỏ quá trình
x của 1 ng dụng, thế nên bạn thm việc trên ing thành phần riêng lẻ,
trong khi nhng thành phần khác sẽ không bảnh hưởng tới. Thực chất, điều này
giúp đỡ bạn lập trình PHP nhanh hơn và ít phc tạp hơn.
1.2 Tại sao nên s dụng PHP Framework?
rất nhiều do khác nhau để các lập trình viên s dụng PHP Framework, nhưng
1 trong nhng do chính vẫn khả năng giúp các lập trình viền tăng tốc quá trình
phát triển ng dụng. Việc s dụng lại các mã lệnh giống nhau trong nhiều project sẽ
giúp các bạn ết kiệm được thời gian công sc 1 cách đáng kể. Một Framework
sẽ cung cấp sẵn các module nền tảng cần thiết để xây dựng 1 project, vì thế, các lập
trình viên có thể tận dụng được thời gian để phát triển các ng dụng thực tế, hơn là
mất thời gian để xây dựng lại nền tảng trên mỗi project.
1.3 Tại sao nên s dụng Laravel Framework?
hơn 20 Framework nguồn mở PHP khác nhau, nhưng trong số đó thì
Laravel Framework phổ biến nhất, xếp sau : PhaIcon, Symfony2, CodeIgniter,
Yii,… .
Nó là 1 Framework khá mới mẻ nhưng bù lại nó có "hướng dẫn s dụng" khá đầy
đủ, rõ ràng và dễ hiểu và cùng với cộng đồng phát triển rộng lớn trên toàn thế giới.
Nếu bạn đã ing làm việc với các Framework khác hoặc chỉ người mới bắt đu
"chập chng" m hiểu PHP Framework thì việc ếp cận Laravel Framework không
lOMoARcPSD| 58797173
phải vấn đề khó khăn gì. Ưu điểm của : Autoload theo namespace, Các lệnh
tương tác với sở dliệu cực kỳ ngắn gọn thân thiện, phân trang trong laravel
cực kỳ đơn giản, việc quản layout giđây thật sự giản đơn với Laravel, ddàng
ch hợp các thư viện của Zend và các gói bundle (giống như moduel) vào project, có
rất nhiều gói bundle đc các đồng đạo trên thế giới build sẵn và share trên github
còn rất nhiều ưu điểm khác đang đợi các bạn khám phá… .
lOMoARcPSD| 58797173
CHƯƠNG 2:
GIỚI THIỆU VỀ LARAVEL
2.1 Cấu trúc thư mục của Laravel
Một dự án web viết bằng Laravel có cấu trúc thư mục như sau:
Hình 2.1: Thư mục Laravel Framework
lOMoARcPSD| 58797173
Hình 2.3: Chc năng cụ thể của các thư mục con trong app
2.2 Cài đặt Laravel
2.2.1 Cài Composer
Chúng ta sẽ cài đặt Laravel bằng composer nên các bạn cần cài đặt composer
trước, tôi dùng window nên tôi download bản cài đặt composer của window. Bạn
thể tải composer tại địa chỉ: hp://laravel.com/docs/4.2/installaon
Các bạn download về và cài đặt bình thường, lưu ý ch chọn php thôi, các
bạn chỉ đường dẫn đến le php.exe trong thư mục php của XAMPP
(xampp/php/php.exe).
2.2.2 Cài Laravel
Bản Laravel mới nhất hiện tại 4.2 (Tại thời điểm bài viết này), bản này yêu
cầu chạy trên PHP>=5.4, hiện tại tôi đang dùng XAMPP 5.6.3 nên cài được bản mới
nhất của Laravel. Nếu các bạn muốn cài đặt bản mới nhất thì chỉ cần dùng lệnh sau:
composer create-project laravel/laravel tên-thư-mục-laravel-của-bn Còn
muốn nếu install các bản thấp hơn thì dùng:
composer create-project laravel/laravel tên-thư-mục-laravel-của-bạn 4.0.*
Sau khi cài đặt xong, chúng ta có cấu trúc thư mục Laravel như hình 2.1 phía
trên. Để biết được có cài Laravel thành công hay không thì chúng ta th chạy Laravel
bằng cách mở trình duyệt lên rồi địa ch như sau:
lOMoARcPSD| 58797173
hp://localhost/laravel_demo/public/ . Nếu thành công thì sẽ hiển thị hình i
đây:
2.3 Cấu hình cơ bản cho ng dụng
Các bạn truy cập vào app/cong/app.php và chỉnh sa lại nhng thông n bản
sau:
+ Chỉnh lại URL,các bạn m tới key url chỉnh lại cho phù hợp với dự án ca
mình nhé:
'url' => 'hp://localhost/kienthuc24h/'
+ Cấu hình key,các bạn m tới ng cấu hình key mục đích của lệnh y tăng
nh bảo mật của nhng cookie và session cho website. Hoặc các bạn có thể s dụng
lệnh CMD bằng cách chỉ đường dẫn đến thư mục làm việc của bạn đây mình s
dụng thư mục kienthuc24h và chạy dòng lệnh sau: php arsan key:generate
2.4 Chạy ng dụng đầu ên với Laravel
- Các bạn truy cập vào le app/route.php và thêm nội dung sao vào cuối le:
Route::get(‘/dang-nhap’,funcon(){
echo ‘Đây là trang đăng nhập’;
});
- Và các bạn th gõ lên trình duyệt đường link:
hp://localhost/kienthuc24h/public/dang-nhap các bạn sẽ thấy được kết quả với
nội dung sau:
Đây là trang đăng nhập
2.5 Route trong Laravel Framework
Mục đích của router định tuyến đến nhng controller cụ th nào i phía
request của người s dụng. Đối với nhng Framework khác thì khi các bn muốn
thực hiện 1 công việc nào đó thường chúng ta cần xây dựng 1 controller để x phi
không nào, nhưng trong Laravel thì các bạn hoàn toàn thể x d liệu ngay trong
phần Router. Đây chính điểm mạnh cũng như điểm khác biệt lớn của Laravel
Framework đối với các Framework khác.
2.5.1 Basic Roung
- Các định tuyến trong Laravel đều được viết trong
app/route.php. Cú pháp đơn giản nhất của 1 định tuyến đó là:
Route::method(‘URI’,’Funcon call back’)
Hình 2.4: Cài đặt Laravel thành công
lOMoARcPSD| 58797173
Trong đó thì:
+ URI là dạng link trên url.
+ Funcon callback: Hàm sẽ gọi tới link URI phía trên được chạy, đây chính là
nơi các bạn có thể x lý d liệu.
+ Method chính là các dạng phương thc cơ bản: post, get, put, delete, any.
- POST Route: Các thao tác lấy i form như thêm d liệu.
- GET Route: Dành cho các thao tác truy cập thông thường tương
đương với request cơ bản trong PHP. Ví dụ chạy 1 link trên url.
- PUT Route: Dành cho thao tác lấy i form nhưng là cập nhật d
liu.
- DELETE Route: Dành cho thao tác hành động xóa d liệu.
- ANY Route: là sự tổng hợp các thao tác ở trên.
Trong đó thì 2 dạng POST và GET sẽ được s dụng nhiều nhất.
Ví dụ:
Các bạn mở le app/route.php và viết dòng code sau:
Route::get(‘/san-pham’, funcon(){
echo ‘Trang sản phẩm’;
});
Tiếp theo truy cập vào đường link url với đường dẫn localhost/kienthuc24h/s
an-pham (Trong đó thì kienthuc24h chính tmục dự án). Khi các bạn chạy link
này lập íc trong Route sẽ kiểm tra và gọi đúng tới hàm callback. Sau khi chạy trang
này các bạn sẽ nhận được thông báo như ý muốn.
- Ngoài ra các bạn còn thể tùy chỉnh rất nhiều trong phần
Route này theo cú pháp:
Route::method(‘Tên định danh’,’Tham số’);
dụ:
Route::get(“san-pham”,”ProductController@list”);
Với ví dụ trên có nghĩa là khi chúng ta chạy link san-pham lúc này bộ điều
ớng sẽ gọi tới controller là ProducController và phương thc (acon) là list.
2.5.2 Route Parameters
- Trong trường hợp các bạn muốn gi kèm theo tham scho bộ định
tuyến thì chcần khai o theo dạng{Tên tham số} trong hàm callback chúng ta
coi nó như tham số trong hàm bình thường.
Ví dụ:
Route::get(‘/san-pham/{name}/{id}’, funcon($name,$id)
{ echo ‘Bạn đang xem sản phẩm’.$name.có ID = ’.&id;
});
Tiếp theo bạn truy cập vào đường link
localhost/kienthuc24h/sanpham/nokia520/1 và kết quả sẽ là:
Bạn đang xem sản phẩm nokia520 có ID = 1
lOMoARcPSD| 58797173
- Ngoài ra các bạn hoàn toàn có thể kiểm tra d liệu của tham số truyn
vào bằng cách s dụng thêm phương thc where().
Ví dụ:
Route::get(‘/san-pham/{name}/{id}’, funcon($name,$id){ echo
‘Bạn đang xem sản phẩm’.$name.có ID = ’.&id;
})->where(array(‘name’=>’[a-z]+’,’id’=>’[0-9]+’));
trường hợp trên ta xét với điều kiện kiểm tra sẽ sản phẩm(name) sẽ
các ký tự thường i a-z còn id sẽ là các số tự nhiên i 0-9.
2.5.3 Route Filters
- Đây chính phần blọc định tuyến, cho phép chúng ta
thkiểm tra trước khi cập nhật vào đường dẫn đó (URI). ng dụng trong thực
tế kiểm tra trạng thái đăng nhập trước khi cho phép truy cập vào 1 trang
nào đó.
- Filter chia ra 2 loại là before và aer.
+ Before: Nghĩa là request trước khi tới roung.
+ Aer: Nghĩa là request sau khi tới roung.
Trên thực tế thì Before thường được s dụng nhiều hơn.
- Cú pháp cơ bản:
Route::lter(“tên lter, funcon(){
// code xử
});
Ví dụ:
lOMoARcPSD| 58797173
Route:: lter(“checklogin”, funcon(){ if(session::get(‘login’)!
=1){ return Redirect::to(“/dang-nhap”); }
});
Đoạn code trên mình y dựng 1Filter tên checklogin đang thực hiện
kiểm tra xem biến session login có bằng 1, ý định của mình ở đây là kiểm tra xem đã
đăng nhập chưa. Nếu chưa đăng nhập thì lập íc chuyển về trang đăng nhp.
Tiếp theo ta có đoạn code:
Route::get(‘/them-san-pham’, array(“before”=>”checklogin”,uses”=>
”ProductController@store”));
Với đoạn code trên mình đã thêm vào khóa before ch tới checklogin. Chính
lter ta đã thiết lập trước đó, đẩy sang controller ProductController với
acon là store dựa vào khóa uses.
- Như vậy, khi các bạn truy cập vào link them-san-pham thì lúc này
sẽ kiểm tra Filter checklogin trước.
- Với bất kỳ link nào đó mà bạn muốn kiểm tra đăng nhập thì chỉ cần s
dụng “before”=>”checklogin” là đưc.
- Filter trong Laravel Framework còn cho phép chúng ta truyền giá tr
vào dựa vào cú pháp sau:
Route::lter(‘Tên lter, funcon($route, $request,$value){
// code xử lý, kiểm tra dliu
});
+ Như các bạn thấy tham số th 3 $value chính giá trchúng ta struyền
vào, ví dụ:
Route::lter(“checkId”, funcon($route, $request,$value){
// Xử lý dữ liệu if($value<=0)
{ echo ‘Id khong hop le’;
}
});
Route::get(‘/check-id’,array(“before”=>”checkId:-1”,uses”=>”
DemoController@checkid“));
+ Như vậy khi các bạn chạy link check-id lúc này sẽ gọi tới Filter checkId đ
kiểm tra, và giá trị mình gi sang bên Filter đó chính là -1(checkId:-1).
- Qua nhng ví dụ này các bạn thấy được ý nghĩa và sc mạnh của lter trong
thực tế phải không o. Với lter ta thể tối giản code mc cao nhất tái s
dụng vô cùng đơn giản.
lOMoARcPSD| 58797173
2.5.4 Name Route
- Đặt tên cho các Route nhằm s dụng linh hoạt cho ng dụng. Dễ ng lấy
được thông n của Route thông qua tên này.
Ví dụ:
Route::get(‘/san-pham/{name}/{id}’, array(‘as’=>’product,uses’=>Produ
ctController@view));
$url= URL::route(“product,array(‘nokia520’,’1’));
echo “<a href=’$url’>Chi ết sản phẩm</a>”; + as: Là
tên của route (product).
+ uses: Route này sẽ s dụng controller (ProductController) nào acon
(view) nào.
+ Thư viện URL, s dụng phương thc route với cú pháp sau:
URL::route(“tên route”, array(‘chứa đối số’));
Sau khi chạy đoạn code trên chúng ta sẽ có $url=/san-pham/nokia520/1.
- Tiếp đến ta xây dựng 1 controller với nội dung sau:
<?php
class ProductController extends
BaseController{ public funcon view($name, $id)
{ echo ‘Bạn đang xem sản phẩm’.$name.có ID = ’.$id; }
} kết quả sẽ hiển thị
ra như sau:
Bạn đang xem sản phẩm nokia520 có ID = 1
2.5.5 Route Groups
- Route Groups sẽ giúp chúng ta có thể nhóm các Route mà cần thông qua bộ
lọc định tuyến nào đó (Filter). Như với ví dụ trên chúng ta có Filter là checklogin, giả
s chúng ta rất nhiều trang cần s dụng blọc kiểm tra đăng nhp này, không lẻ
chúng ta phải viết tất cả các khóa before. Nhưng khi s dụng Route Groups các bạn
chỉ cần viết 1 lần khóa before cho nhóm đó.
Ví dụ:
Route::group(array(“before”=>”checklogin”), funcon(){
Route::get(‘/them-san-pham’,array(“uses”=>”ProductControl
ler@store”));
Route::get(‘/cap-nhat-san-pham’,array(“uses”=>”Product
Controller@update”));
lOMoARcPSD| 58797173
Route::get(‘/them-danh-muc’,array(“uses”=>”CatalogControl
ler@store”));
Route::get(‘/cap-nhat-danh-muc’,array(“uses”=>”CatalogControl
ler@update”));
});
+ Như vậy khi các bạn truy cập vào các link trên thì sẽ được thông qua
Filter checklogin kiểm trước.
2.5.6 Route Prexing
- Gồm 1 số các định tuyến mà đằng trước nó có ền tố.
Ví dụ:
localhost/kienthuc24h/admin/them-san-pham
localhost/kienthuc24h/admin/cap-nhat-san-pham
localhost/kienthuc24h/admin/them-danh-muc
localhost/kienthuc24h/admin/cap-nhat-danh-muc
- Với các đường link trên thì các bạn thấy trước đều có ền t(Prex)
là admin phải không nào. Lúc này chúng ta hoàn toàn có thcho nó vào 1 nhóm
có ền tố admin và thực hiện kiểm tra.
Ví dụ:
Route::group(array(“prex”=>”admin”,”before”=>”checklogin”), funcon(){ //
phần sử lý nằm đây.
});
Với ví dụ trên thì mình đang nhóm tất cả các link có ền tố là admin, và trước
khi truy cập vào nhng link này mình sthực hiện gọi tới Filter checklogin đkim
tra xem đã đăng nhập chưa.
2.6 View trong Laravel Framework
- Như đã đề cập trên thì thư mục view dùng để cha các le mẫu
như html để tương tác với người s dụng nằm trong thư mục
(app/view).
- Để s dụng view ta thể s dụng như sau: return
View::make("Tên",Đối số nếu có);
Ví dụ trong app/route.php ta có đường dẫn sau:
Route::get("name",funcon(){ return View::make("hoten"); // gọi le view
có tên là: app/views/hoten.php });
<!-- View stored in app/views/hoten.php -->
lOMoARcPSD| 58797173
<html>
<body>
<h1>Hello, <?php echo $name; ?></h1>
</body>
</html>
Sau đó ta tạo le app/views/hoten.php với nội dung Tên tôi Tính” . khi chạy
th đường link hp://localhost/kienthuc24h/public/name thì ta sẽ thấy kết quả.
Vậy nếu ta muốn truyền đối số cho view thì sao. Bạn nhiều cách đlàm điều
đó.
Cách 1: S dụng đối số
Route::get("name2",funcon(){
$data['name']= "Bui Van Tinh"; return
View::make("hoten",$data);
});
Với cách này bạn đang truyền sang view hoten.php một đối số có tên $name.
Do vậy tại hoten.php bạn có thể dùng nó như sau:
echo "Họ tên của bạn là: $name";
Cách 2: Truyền qua 1 phương thc tên with().
Route::get("name3",funcon(){ return
View::make('hoten')->with('name', 'Steve'); });
Và view hoten.php ta hoàn toàn ths dụng $name dễ dàng. Nhưng với
cách này, bạn sẽ rất khó để truyền nhiều giá trị cho view.
Cách 3: S dụng hàm compact() trong PHP.
Route::get("name4",funcon(){
$name = "Framgia"; return
View::make("hoten",compact("name"));
});
Và ở view abcd.php bạn chviệc s dụng $id một cách dễ dàng.
Trong trường hợp bạn muốn thao đặt view trong thực mục cho gọn gàng. Bạn có
thể s dụng phân cách, thay vì là dấu / thì bạn sẽ dùng dấu “..
Route::get("name",funcon(){ return
View::make("demo.hoten");
});
lOMoARcPSD| 58797173
2.7 Controller trong Laravel Framework
- Như các bạn được biết trong Laravel cho phép chúng ta thể x lý d liệu ngay
bên trong Route nhưng đối với nhng thao tác phc tạp dài chúng ta lên x
trong Controller.như vậy thì ng dụng của bạn mới trở nên linh hoạt dễ mở
rộng sau này.
2.7.1 Khai báo Controller trong Laravel Framework:
– Để tạo 1 controller các bạn cần vào thư mục app/controller với các quy tắc
sau:
1. Tên le trùng với tên Class.
2. Kế tha i lớp BaseController.
Ví dụ, tạo 1 le HocphpController.php với nội dung:
<?php
class HocphpController extends BaseController
{ public funcon test(){ echo 'Tim hieu ve Controller trong
Laravel tai kienthuc24h'; }
}
2.7.2 Chạy Controller theo phương thc Route::get
- Trước ên các bạn truy cập vào le 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(acon) test.Như vậy khi các chạy link
localhost/kienthuc24h/public/controller-test sẽ hiển thị nội dung như ý muốn: Tim
hieu ve Controller trong Laravel tai kienthuc24
Chúng ta sẽ đi thêm vào 1 ví dụ na về việc truyền tham số vào controller thế
nào nhé.Trong HocphpController tạo phương thc sau:
<?php
class HocphpController extends BaseController
{ public funcon view($tle, $id)
{ echo 'Bạn đang xemi viết '.$tle.' có ID là :'.$id; }
}
Và le routes.php ta cấu hình như sau:
Route::get('/bai-viet-{tle}/{id}', 'HocphpController@view');
Và khi các bạn chạy link localhost/laravel/public/bai-viet-hocphp/1 sẽ nhn
được kết quả:
Bạn đang xem bài viết hocphp có ID là :1
Như vậy các bạn thấy chúng ta đã gi thành công 2 biến đó chính $tle =
hocphp và $id = 1.
lOMoARcPSD| 58797173
2.7.3 Implicit Controllers – S dụng phương thc Route::controller
Như các bạn thấy trong 1 controller chúng ta thường khá nhiều các phương
thc(acon) phải không o,như vậy chả lẽ mỗi lần muốn chạy 1 acon nào đó li
phải vào le routes.php đthêm cấu hình sao?nvậy cũng thật bất ện khó
quản lý phải không nào.Trong Larvel còn cho phép chúng ta có thể chạy các phương
thc trong controller 1 cách tự động dựa vào tên acon đó.
+ Trước ên các bạn vào le routes.php thêm đoạn code cấu hình như sau:
Route::controller('hocphp', 'HocphpController');
Với phương thc Route::controller cho phép chúng ta s dụng 2 đối số, đối
số th nhất chính định dạnh URI,đối sth 2 chính tên lớp controller.Trong
dụ trên mình đã định nghĩa 1 URI tên hocphp đại diện cho lớp controller
HocphpController.
+ Tiếp theo chúng ta cần chỉnh sa nội dung le controller như sau:
<?php
class HocphpController extends BaseController
{ public funcon getTest(){ echo 'Tim hieu ve Controller trong
Laravel tai kienthuc24h';
}
}
Như các bạn thấy nếu chúng ta cấu hình theo phương thc Route::controller
trong routes thì trong controller chúng ta cũng phải viết đúng theo các quy tắc trong
Laravel như sau:
+ Trước các acon phải các ền tố các gtrị get, post, any…các giá trị
này các bạn thể xem lại về Route phía trên tên acon phải viết hoa ch cái đầu.
+ Tên phương thc phân biệt ch hoa và ch thường.
+ Khi muốn chạy acon thì chạy theo dạng link URI/tên acon viết thường.
Và lúc này chúng ta muốn chạy acon test thì sẽ chạy đường link sau: locaho
st/kienthuc24h/public/hocphp/test, thì sẽ được kết quả như mong đi.
2.7.4 RESTful Resource Controllers S dụng phương thc
Route::resource
- Để lập một controller qua câu lệnh command line, thì ta thực hiện: php
arsan controller:make HocphpController
- Bây giờ bạn có thể x lý một resourceful route tới controller:
Route::resource('hocphp', 'HocphpController');
Việc lập route đơn này sx nhiều route của RESTful acons trên nguồn
hocphp.
ới đây là bảng ánh xạ gia route và acon:

Preview text:

Hello, <?php echo $name; ?>