Tải bản đầy đủ (.docx) (31 trang)

hdinhdung bao cao thuc tap

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 (1.08 MB, 31 trang )

ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC
KHOA ĐIỆN TỬ - VIỄN THÔNG


BÁO CÁO THỰC TẬP TỐT NGHIỆP
TÌM HIỂU VỀ FRAMEWORK LARAVEL 5.X

Giảng viên hướng dẫn: Nguyễn Văn Ân
Sinh viên thực hiện:

Hồ Đình Dụng

Mã Sinh viên:

15T1051010

Đơn vị thực tập:

Công ty TNHH Papagroup


Đà Nẵng, tháng 12 năm 2019


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

LỜI CẢM ƠN


Lời đầu tiên, cho phép em được gửi lời cảm ơn chân thành đến toàn thể quý Thầy
Cô khoa Điện tử Viễn thông, Trường Đại Học Khoa Học – Đại học Huế đã luôn tận tình
chỉ bảo, truyền đạt cho em những kiến thức quý báu trong suốt những năm qua. Đó chính
là cơ sở, tiền đề vững chắc giúp em tự tin bước vào thực tế để tìm hiểu và học hỏi nhiều
hơn.
Tiếp đến, em xin bày tỏ lòng biết ơn sâu sắc đến Thầy giáo – Nguyễn Văn Ân đã hết
lòng quan tâm, giúp đỡ, tận tình chỉ bảo và hướng dẫn em có những định hướng đúng đắn
để có thể hoàn thành bài khóa luận thực tập một cách tốt nhất.
Em cũng xin gửi lời cảm ơn chân thành đến anh chị ở Công ty TNHH Papagroup Đà
Nẵng. Đặc biệt là Giám đốc anh Mai Thanh Xuân, người đã tận tình giúp đỡ, cho em
những nhận xét, góp ý trong công việc, định hướng giúp em đi sâu vào thực tế trong môi
trường công ty, cũng như tạo mọi điều kiện thuận lợi để em hoàn thành đề tài này.
Với năng lực còn hạn chế của một sinh viên cũng như thời gian tìm hiểu tại Công ty
TNHH Papagroup Đà Nẵng có hạn, nên sự nhìn nhận vấn đề sẽ không tránh những sai
sót. Rất mong nhận được lời góp ý kiến của quý thầy cô cùng ban lãnh đạo Papagroup Đà
Nẵng để bài báo cáo thực tập được hoàn thiện hơn.
Xin chân thành cảm ơn! Em xin chân thành cảm ơn!

Đà Nẵng, ngày 24 tháng 12 năm 2019
Sinh viên
Hồ Đình Dụng

1


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

MỤC LỤC


LỜI CẢM ƠN.....................................................................................................................................................i
MỤC LỤC........................................................................................................................................................ii
LÝ DO CHỌN ĐỀ TÀI...................................................................................................................................1
I.

Đặt vấn đề................................................................................................................................................2
1.

2.

II.

Mô hình MVC......................................................................................................................................2
1.1

Các thành phần trong mô hình MVC.......................................................................................2

1.2

Sự tương tác giữa các thành phần............................................................................................2

Tổng quan về PHP Framework.........................................................................................................2
2.1

PHP là gì?.....................................................................................................................................2

2.2

PHP Framework là gì?...............................................................................................................3


2.3

Tại sao chúng ta nên sử dụng PHP Framework?....................................................................3

2.4

Tại sao chúng ta nên sử dụng Laravel Framework?..............................................................4

2.5

Mô hình MVC trong Laravel....................................................................................................5

Cở sở lí thuyết......................................................................................................................................6

1.

Cấu trúc thư mục của Laravel..........................................................................................................6

2.

Cài đặt Laravel....................................................................................................................................7
2.1

Cài đặt Composer.......................................................................................................................7

2.2

Cài Laravel..................................................................................................................................7


3.

Chạy ứng dụng đầu tiên với Laravel................................................................................................8

4.

Route trong Laravel Framework......................................................................................................8
4.1

Basic Routing...............................................................................................................................8

4.2

Route Parameter.........................................................................................................................9

5.

View trong Laravel Framework........................................................................................................9

6.

Controller trong Laravel Framework............................................................................................11

7.

Model trong Laravel Framework...................................................................................................12

8.

Kết nối cơ sở dữ liệu.........................................................................................................................13


9.

8.1

Cấu hình kết nối với cơ sở dữ liệu MySQL trong Laravel Framework.............................14

8.2

Migrations và Schema Builder................................................................................................14

Restful API.........................................................................................................................................18
9.1

API là gì?....................................................................................................................................18

2


GVHD: Nguyễn Văn Ân

III.

Tìm hiểu về Framework Laravel 5.x

9.2

Restful API là gì?......................................................................................................................19

9.3


Các phương thức trong Restful API.......................................................................................20

9.4

Status code.................................................................................................................................21

9.5

Restful API trong Laravel Framework..................................................................................21

9.6

POSTMAN.................................................................................................................................22

Kết luận:.............................................................................................................................................25

1.

Kết quả thu được:.............................................................................................................................25

2.

Hướng phát triển:.............................................................................................................................25

3


GVHD: Nguyễn Văn Ân


Tìm hiểu về Framework Laravel 5.x

LÝ DO CHỌN ĐỀ TÀI
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một trong
những yếu tố mang tính quyết định trong hoạt động của các tổ chức, cũng như của các
công ty, nó đóng vai trò hết sức quan trọng tạo ra bước đột phá mạnh mẽ trong phát triển
kinh tế, xã hội.
Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng
trở nên một công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông
tin trên toàn cầu. Từ khi World Wide Web ra đời, mọi việc liên quan tới thông tin trở nên
thật dễ dàng cho người sử dụng: chỉ cần có một máy tính có kết nối internet hay một
chiếc điện thoại thông minh sẽ truy cập được tất cả các thông tin, hình ảnh, thậm chi
video mà ta mong muốn.
Để thể hiện hết thông tin những văn bản, hình ảnh, đoạn phim, nhạc, trò chơi,…
gần với người sử dụng nhất người ta đã tạo ra trang web được xây dựng với nhiều ngôn
ngữ lập trình khác nhau như PHP, .NET, Java,… Laravel ra đời năm 2011, là một PHP
framework mã nguồn mở và miễn phí, được phát triển bởi Taylor Otwell và nhằm mục
tiêu hỗ trợ phát triển các ứng dụng web theo cấu trúc Model – View – Controller. Tuy ra
đời muộn, nhưng Laravel đã được các lập trình viên bình chọn vị trí quán quân cho PHP
framework vào năm 2015. Bởi những lí do nổi bật của Laravel bao gồm cú pháp dễ hiểu,
rõ ràng, một hệ thống đóng gói Modular và quản lí gói phụ thuộc, hỗ trợ triển khai bảo
trì ứng dụng, truy cập cơ sở dữ liệu quan hệ dễ dàng.
Đồ án thực tập tìm hiểu về Laravel Framework giúp cho chúng ta có một cái nhìn
mới của mô hình ứng dụng web cũng như cách sử dụng hiệu quả về Framework này.

1


GVHD: Nguyễn Văn Ân


I.

Tìm hiểu về Framework Laravel 5.x

Đặt vấn đề

1. Mô hình MVC
Mô hình MVC là mô hình chuẩn cho ứng dụng web được sử dụng nhiều nhất ngày
nay
Về cơ bản, mô hình MVC chia nhỏ quá trình xử lý của một ứng dụng, vì thế có thể
làm việc trên từng 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.
1.1 Các thành phần trong mô hình MVC
Mô hình MVC là viết tắt của 3 chữ Model, View, Controller. Mô hình này tách một
ứng dụng web ra làm 3 thành phần đảm nhiệm chức năng riêng biệt, thuận tiện cho việc
xử lí và bảo trì.
 Model: Chịu trách nhiệm quản lý dữ liệu, nó lưu trữ và truy xuất các thực thể từ cơ
sở dữ liệu như MySQL, SQL server, PostgreSQL,… nó sẽ bao gồm các class/
function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu, thêm – xóa –
sửa dữ liệu,…
 View: là nơi chứa giao diện như một nút bấm, khung nhập, menu, hình ảnh,… nó
đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ thống.
 Controller: là nơi tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó sẽ
gồm nhiều class/ function xử lý nghiệp vụ logic giúp lấy đúng dữ liệu thông tin cần
thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị ra cho người dùng nhờ lớp
View.
1.2 Sự tương tác giữa các thành phần
-

Controller tương tác qua lại với View

Controller tương tác qua lại với Model
Model và View không có sự tương tác với nhau mà nó tương tác với nhau qua
Controller

2. Tổng quan về PHP Framework
2.1 PHP là gì?
PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại mã
lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng
cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang
HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống
2


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn
ngữ khác nên PHP đã nhanh chóng trở thành ngôn ngữ lập trình web phổ biến nhất thế
giới.
2.2 PHP Framework là gì?
Framework là một bộ mã nguồn được xây dựng, phát triển và đóng gói – phân phối
bởi các chuyên gia lập trình hoặc bởi các công ty lập trình. 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 trở nên trôi chảy hơn, bằng
cách cung cấp 1 cấu trúc cơ bản để xâ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
tiết kiệm được thời gian, tăng sự ổn định cho ứng dụng, và giảm thiểu số lần phải viết lại
code cho lập trình viên. Ngoài ra Framework còn giúp những người mới bắt đầu có thể xâ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, code
(PHP) và giao diện (HTML) 1 cách riêng biệt. Điều này cho phép bạn dà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. Ý tưởng chung đằng sau cách thức hoạt động của một PHP Framework là mô hình
MVC. Như vậy, điều này giúp cho người lập trình PHP nhanh hơn và ít phức tạp hơn.
2.3 Tại sao chúng ta nên sử dụng PHP Framework?
 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 tiết kiệm được thời gian và
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.
 Sự ổn định, mã nguồn sạch đẹp, dễ dàng phát triển, bảo trì.
 Nhóm làm việc với nhau hiệu quả hơn, hiểu ý nhau hơn, tốc độ hơn (có sự thống nhất
về code).

3


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

 Hiệu năng cũng như bảo mật sẽ được chăm sóc và cập nhật thường xuyên nhờ cộng
đồng phát triển.
 Có sẵn rất nhiều thành phần mở rộng (extensions)

2.4 Tại sao chúng ta nên sử dụng Laravel Framework?
Có hơn 20 Framework mã nguồn mở PHP khác nhau, nhưng trong số đó thì Laravel
Framework là phổ biến nhất, xếp sau là: PhaIcon, Symfony2, CodeIgniter, …
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, dễ hiểu và có cộng đồng phát triển rộng lớn trên toàn thế giới. Ưu điểm của

nó là:
 Routes mới mẻ và đầy mạnh mẻ. Mọi url đều có thể quản lý trong file
routes/web.php
 Master layout được tích hợp sẵn cùng Blade template giúp code của chúng ta trên
nên gọn gàng và tiện dụng. Các file layout có thể dẽ dàng extend của nhau giúp
code ngắn gọn, dễ quản lý.
 Migration quản lý database thật dễ dàng khi làm việc nhóm.
 Eloquent class đầy mạnh mẽ nổi bật khi xử lý cơ sở dữ liệu quan hệ 1 – N và N –
N, tối ưu tất cả các câu truy vấn.
 Composer quản lý và tích hợp các thư viện khác thật hay và không lo lắng khi thư
viện đó bị thay đổi, laravel có đầy đủ các thư viện cơ bản đủ để thực hiện mọi yêu
cầu của chúng ta.

4


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

 Document dễ đọc, dễ hiểu và có đầy đủ các ví dụ. Tuy ra đời muộn hơn các
framework khác nhưng laravel lại có hướng dẫn chi tiết và đầy đủ ví dụ ngay tại
trang chủ, các ví vụ để đọc đễ hiểu, cộng đồng phát triển rộng lớn và luôn luôn
được update kịp thời
 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, MongoDB. Các câu truy
vấn database dễ hiểu, nhanh chóng.
 Package-libery phong phú, đa dạng, đáp ứng được hầu hết các nhu cầu cơ bản của
chúng ta.
 User authentication được tích hợp sẵn, lập trình viên chỉ cần gọi class là có thể sử

dụng theo ý muốn..

2.5 Mô hình MVC trong Laravel
Laravel Framework hỗ trợ lập trình theo mô hình MVC khá mạnh mẽ.
Ngoài các thành phần chính Model, View, Controller thì Routes được sử dụng định tuyến
người dùng theo đúng Urls.
Ở đây, mọi Request từ phía người dùng đều phải qua Route, dữ liệu được gửi
xuống Controller để xử lý, cần dữ liệu sẽ lấy từ Model lên hoặc cập nhật dữ liệu
xuống Model, kết quả gửi ra View cho người sử dụng.

5


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

Hình 1.1. Mô hình MVC trong Laravel.

II. Cở sở lí thuyết
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:

6


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x


Hình 2.1. Cấu trúc thư mục của Laravel.

Bảng 2.1. Mục đích của các thư mục trong Laravel

Thư mục
app
bootstrap
config

Mục đích
Chứa những code cốt lõi của ứng dụng
Chứa file app.php làm việc như một bootstrap của ứng dụng
Chứa tất cả các file config ứng dụng, rất thuận tiện cho việc thay

database
public

đổi các thiết lập.
Chứa các file làm việc với cơ sở dữ liệu của ứng dụng.
Chứa file index.php, file này đảm nhận vai trò như một đích đến
của các request và autoload các lớp. Ngoài ra nó còn chứa các
tài nguyên mà trình duyệt có thể truy cập như JS, CSS, hình ảnh,

resources
routes
storage


Chứa các tài nguyên thô chưa được biên dịch như view,…
Chứa các tuyến đường (route) đã định nghĩa của ứng dụng

Chứa các file blade template đã được phiên dịch, các file

tests

sessions, file cache và một số file khác tạo bởi framework.
Dùng để test các class trong quá trình thử nghiệm trên
commander
7


GVHD: Nguyễn Văn Ân

vendor

Tìm hiểu về Framework Laravel 5.x

Chứa các thư viện tích hợp và mã nguồn của Laravel

2. Cài đặt Laravel
2.1 Cài đặt Composer
Chúng ta sẽ cài đặt Laravel bằng composer, có thể tải composer tại địa chỉ:
/>Download và cài đặt bình thường, lưu ý ở chỗ chọn PHP, chỉ đường dẫn file php.exe
trong thư mục php của Xampp (xampp/php/php/exe).
2.2 Cài Laravel
Vào Start Menu mở Command Prompt di chuyển đến thư mục htdocs trong Xampp
gõ lệnh cài đặt Laravel như sau:
composer create-project laravel/laravel tên-thư-mục-laravel-của-bạn

Hình 2.2. Tạo dự án Laravel.


3. Chạy ứng dụng đầu tiên với Laravel
Gõ lệnh: php artisan serve để chạy localhost

Hình 2.3. Chạy localhost.

8


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

Hình 2.4. Ứng dụng đầu tiên của Laravel.

4. Route trong Laravel Framework
Mục đích của Router là định tuyến những controller cụ thể nào từ phía request người
sử dụng. Ở trong Laravel ta có thể hoàn toàn xử lý các dữ liệu đó trong phần Router. Đây
chính là đ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.
4.1 Basic Routing
Các định tuyến trong Laravel đều được viết trong routes/web.php để định nghĩa cho
web, routes/api.php để định nghĩa các route cho api. Cú pháp đơn giản của một định tuyến
đó là:
Route::method(‘URI’, ‘Function call back’)
Trong đó:
 URI là dạng link trên url
 Function call back: Hàm sẽ gọi tới link URI phía trên được chạy, đây chính là nơi
xử lý dữ liệu.
 Method chính là dạng các phương thức cơ bản như post, get, put, delete,…
 POST Route: Các thao tác lấy từ 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.
 PUT Route: Dành cho thao tác lấy từ form nhưng là cập nhật dữ liệu
9


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

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

4.2 Route Parameter
Trong trường hợp muốn gửi kèm theo các tham số cho bộ định tuyến thì chỉ cần khai
báo theo dạng {tên tham số} và trong hàm callback chúng ta coi nó như tham số trong
hàm bình thường.
Ví dụ:
Route::get(‘user/{id}’, function ($id){
Return ‘User’.$id;
})

5. View trong Laravel Framework
-

View Trong Laravel thì bắt buộc phải được nằm trong thư mục resources/view và
phải có đuôi là .php hay .blade.php
Trong view thì các bạn có thể sử dụng tất cả các ngôn ngữ trong file PHP hỗ trợ
như: HTML, CSS, JS,…
Ví dụ file helloworld.php


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>hello cac ban</title>
<link rel="stylesheet" href="">
</head>
<body>
Hello World
</body>
</html>
-

Gọi view trong Laravel

Route::get('duong-dan-route', function () {
10


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

return view('ten-view', 'data-neu-co');
});
Ví dụ: Tạo 1 route rồi gọi view và truyền tham số vào bên trong cho view
 Route: nằm trong file routes/web.php
Route::get('chao/{user}', function ($user) {
return view('hello-user', ['user' => $user]);

});
 View: hello-user.php
echo $user;
?>
-

Cách các truyền dữ liệu cho view

Cú pháp: compact('ten-cua-bien-truyen-vao')
// view muon hien thi thi goi bien $user
Route::get('chao/{user}', function ($user) {
return view('hello-user', compact('user'));
});
Cú pháp: view('ten-view')->with('key', 'value');
Route::get('chao/{user}', function ($user) {
return view('hello-user')->with('user', $user);
});
//de hien thi trong view goi bien $user
view('ten-view', ['key' => 'value']);
Route::get('chao/{user}', function ($user) {
return view('hello-user', ['user' => $user]);
});
11


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x


6. Controller trong Laravel Framework
-

Để tạo controller trong Laravel cũng phải có một số ràng buộc như sau:

 Controller phải được đặt trong đường dẫn app/Http/Controllers.
 Tên của controller phải giống với tên class trong file Controller đó.
 Class controller (do bạn tạo) phải extends(kế thừa) từ Controller (chú ý chữ C phải
viết hoa).
- Tạo controller bằng lệnh php artisan:
php artisan make: controller tên-controller
Ví dụ:
Cú pháp: php artisan make: controller HomeController
namespace App\Http\Controllers;
use App\User;
use App\Http\Controllers\Controller;
class HomeController extends Controller
{
//
}
-

Sử dụng các hành động (action) trong Controllers

Controller:
namespace App\Http\Controllers;
class HomeController extends Controller
{

public function index(){
echo "Đây là index trong homecontroller";
}
}
12


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

Route: Gọi đến action đó
Route::get('call-controller', 'HomeController@index');
-

Truyền tham số trong action Controllers

Ví dụ:
Controller
namespace App\Http\Controllers;
class HomeController extends Controller
{
public function index($name, $age){
echo "Xin chào $name, $age tuổi";
}
}
Route: Truyền tham số cho controller
Route::get('user/{name}/{age}', 'HomeController@index')


7. Model trong Laravel Framework
-

Sử dụng cú pháp để tạo Model: php artisan make:model ten-model

Ví dụ
Cú pháp: php artisan make: model News
namespace App;
use Illuminate\Database\Eloquent\Model;
class News extends Model
{
//
}
13


GVHD: Nguyễn Văn Ân

-

Tìm hiểu về Framework Laravel 5.x

Khai báo bảng cần sử dụng trong Model

Trong Laravel mỗi một model ứng với một bảng(table) dữ liệu trong CSDL và để khai
báo model sử dụng bảng dữ liệu nào trong database thì mọi người khai báo dòng sau
trong class model.
protected $table = 'tableName';
-


Lọc cột dữ liệu trong Model

Truy cập một số cột nhất định
protected $fillable = ['column1', 'column2', .., 'columnn'];
-

Khai báo timestamps

Laravel cũng cung cấp cho chúng ta tùy biến có sử dụng time stamps hay không.
Nếu để true là có và ngược lại false là không.
public $timestamps = true;
// hoặc
public $timestamps = false;
8. Kết nối cơ sở dữ liệu
Laravel kết nối tới cơ sở dữ liệu và chạy truy vấn cực kì đơn giản. Cấu hình nằm tại
file .env. Trong file này thì định nghĩa tất cả những loại kết nối cơ sở dữ liệu, tất nhiên
chúng cũng có loại cơ sở dữ liệu kết nối mặc định. Hiện tại Laravel hỗ trợ cho những hệ
thống cơ sở dữ liệu sau: MySQL, Postgres, SQLite, SQL Server, …
8.1 Cấu hình kết nối với cơ sở dữ liệu MySQL trong Laravel Framework
Mở file .env và tìm tới cấu hình cơ sở dữ liệu

14


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

Hình 2.5. Cấu hình kết nối với cơ sở dữ liệu.


Với đoạn cấu hình trên, ta cần quan tâm với 4 thông số sau:
DB_CONNECTION: kết nối loại cơ sở dữ liệu là mysql
DB_HOST: cấu hình host, mặc định
DB_DATABASE: tên của cơ sở dữ liệu
DB_USERNAME: tài khoản có quyền truy cập vào cơ sở dữ liệu
DB_PASSWORD: Mật khẩu tài khoản
Do em đang sử dụng Xampp nên mặc định DB_USERNAME = ‘root’ và
DB_PASSWORD =’’.
8.2 Migrations và Schema Builder
Thông thường khi chúng ta muốn tạo ra một cơ sở dữ liệu và các bảng dữ liệu chúng
ta hay vào trong phpMyAdmin để thực hiện thủ công. Nhưng đối với cách làm này thì sẽ
làm chúng ta mất thời gian khi việc tạo cũng như chỉnh sửa dữ liệu. Laravel cung cấp cho
chúng ta một giải pháp hữu ích đó là Migrations và Schema Builder.
 Schema Builder
Lớp Schema trong Laravel cung cấp cơ chế thao tác với bảng cở sở dữ liệu. Nó làm
việc với tất cả cơ sở dữ liệu mà Laravel hỗ trợ, và thông qua những hàm API của hệ
thống.
Một số phương thức thường dùng trong Schema Builder
15


GVHD: Nguyễn Văn Ân

-

Tìm hiểu về Framework Laravel 5.x

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


Schema::create('users', function (Blueprint $table) {
$table->increments('id'); // tạo khóa chính của bảng dữ liệu, khóa này tự tăng
$table->string('name'); // tạo cột dạng chuỗi
$table->string('email')->unique(); // tạo cột dạng chuỗi và giá trị duy nhất
$table->string('password'); // tạo cột dạng chuỗi
$table->rememberToken(); // tạo một cột tên là remember_token trong bảng
dùng để lưu token khi người sử dụng đăng nhập sử dụng ghi nhớ lần sau
$table->timestamps(); // tạo 2 cột tên là created_at và updated_at, lưu thời gian
tạo và sửa chữa của model
});
-

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

Schema::dropIfExists('users'); // xóa bảng nếu có tồn tại ở cơ sở dữ liệu
-

Phương thức table – cập nhật thêm cột và một bảng tồn tại:

Schema::table('users', function (Blueprint $table) {
$table->string('address');
});
-

Thêm chỉ mục vào cột:

$table->string('email')->unique(); // tạo cột dạng chuỗi và giá trị duy nhất
-

Sử dụng khóa ngoại:


$table->foreign('author_id')->references('id')->on('users');
Ngoài ra Schema còn hỗ trợ rất nhiều các phương thức để làm việc với cơ sở dữ
liệu, chúng ta có thể vào trang chủ của Laravel để tìm hiểu và sử dụng các phương thức
khác.
 Migrations
Migrations là một kiểu điều khiển database, nó cho phép một nhóm có thể làm việc
với cơ sở dữ liệu một cách hiệu quả hơn. Migrations đi kèm với Schema Builder để thiết
kế hệ thống một cách dễ dàng
-

Dùng artisan tạo migrations
16


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

Để tạo một migration chúng ta sử dụng câu lệnh cmd: php artisan migrate: make
tên-bảng
Ví dụ: php artisan make:migration create_users_table
Sau khi chạy dòng lệnh trên hệ thống sẽ tự động tạo cho ta 1 file bên trong
/database/migrations theo định dạng: yyyy_mm_dd_hhmmss_create_users_table
Và nội dung trong file như sau:
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration

{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
}
}
Mặc định nó sẽ tạo ra cho chúng ta 1 lớp được thừa kế từ lớp Migrations, có 2
phương thức là up() and down(), function up() dùng để thực thi migrate và down dùng để
đảo ngược migrate. Hai quá trình này hoàn toàn ngược nhau
Thực hiện tạo bảng users bên trong phương thức up() bằng các phương thức trong
lớp Schema:
17


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x


use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->string('name');
$table->string('phone',15);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{

Schema::dropIfExists('users');
}
}
Việc thiết kế đã xong, chúng ta sử dụng migrations để thực thi tập tin bằng lệnh: php
artisan migrate.
Bây giờ trong cơ sở dữ liệu đã có bảng users với các cột mong muốn:

18


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

Hình 2.6. Tạo bảng trong cơ sở dữ liệu.

-

Chỉnh sửa migrations
Thêm 1 cột dữ liệu hoặc chỉnh sửa 1 cột dữ liệu nào gồm có 2 cách:

+ Tạo thêm một migrations mới, cách này tạo ra nhiều file trong migrations khi
chỉnh sửa nhiều
+ Thực hiện command: php artisan migrate: refresh
- Reset lại migrations
Lệnh này sẽ rollback toàn bộ cơ sở dữ liệu của bạn hay chạy toàn bộ function
down() trong các file migration: php artisan migrate: reset
-

Rollback Migrate


Với lệnh này, toàn bộ file có phiên bản mới nhất trong bảng migrations sẽ chạy tất
cả các function down(), đảo ngược lại thay đổi mà nó tạo ra cho cơ sở dữ liệu
php artisan migrate: rollback

9. Restful API
9.1 API là gì?
API (Application Programming Interface) – giao diện lập trình ứng dụng là các
phương thức, giao thức kết nối với các thư viện và ứng dụng khác. API cung cấp khả năng
truy xuất đến một tập các hàm hay dùng. Và từ đó có thể trao đổi dữ liệu giữa các ứng
dụng.
Ứng dụng của API:

19


GVHD: Nguyễn Văn Ân

Tìm hiểu về Framework Laravel 5.x

 Web API: là hệ thống API được sử dụng trong các hệ thống website. Hầu hết các
website đều ứng dụng đến Web API cho phép bạn kết nối, lấy dữ liệu hoặc cập
nhật dữ liệu.
 API trên hệ điều hành: Window hay Linux có rất nhiều API, họ cung cấp các tài
liệu API là đặc tả các hàm, phương thức cũng như các giao thức kết nối. Nó giúp
lập trình viên có thể tạo ra các phần mềm ứng dụng có thể tương tác trực tiếp với
hệ điều hành.
 API của thư viện phần mềm hay framework: API mô tả và quy định các hành động
mong muốn mà các thư viện cung cấp. Một API có thể có nhiều cách triển khai
khác nhau và nó cũng giúp cho một chương trình viết bằng ngôn ngữ này có thể sử

dụng thư viện được viết bằng ngôn ngữ khác.

Hình 2.7. Cách thức hoạt động của Web API.

9.2 Restful API là gì?
REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ liệu,
một kiểu kiến trúc để viết API. Nó sử dụng phương thức HTTP đơn giản để tạo cho giao
tiếp giữa các máy. Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người
dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE,… đến một URL để xử lý
dữ liệu.

20


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×