SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 1
LARAVEL 5 FRAMEWORK
TABLE OF CONTENTS
1. Giới thiệu Laravel 5..........................................................................................................................2
2. Download và cài đặt ........................................................................................................................2
2.1. Chuẩn bị môi trường................................................................................................................2
2.2. Tiến hành cài đặt .....................................................................................................................3
2.2.1. Sử dụng install composer vào thư mục chứa project ...........................................................3
2.2.2. Sử dụng lệnh tạo project với command line.........................................................................6
3. Các thành phần cơ bản của Laravel .................................................................................................9
3.1. Routing....................................................................................................................................9
3.2. Tìm hiểu cấu trúc MVC trong Laravel..................................................................................... 12
4. Các Command line sử dụng trong Laravel 5 ..................................................................................20
5. Áp dụng project thực tế - web bán hàng........................................................................................ 21
5.1. Phân tích chức năng và cơ sở dữ liệu..................................................................................... 21
5.1.1. Chức năng của website .................................................................................................. 21
5.1.2. Cơ sở dữ liệu.................................................................................................................. 21
5.2. Khởi tạo project và chạy thử.................................................................................................. 21
5.3. Tạo database sử dụng Migrate ..............................................................................................25
5.4. Cấu hình cho model theo các bảng đã tạo trong database để thiết lập quan hệ giữa các bảng
27
5.5. Thiết kế giao diện ở folder views ...........................................................................................28
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 2
1. GIỚI THIỆU LARAVEL 5
Laravel là framework opensource sử dụng ngôn ngữ PHP dùng để phát triển các hệ thông websites
lớn dễ dàng cho việc phát triển nên được công đồng lập trình viên sử dụng rộng rãi.
2. DOWNLOAD VÀ CÀI ĐẶT
2.1. Chuẩn bị môi trường
- Server web (XAMPP, WAMSERVER, …)
- Larabel 5
Download: https://github.com/laravel/laravel
- Composer
Download: https://getcomposer.org/
- Thêm biến môi trường php
Thêm vào biến path thư mục php trong web server.
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 3
2.2. Tiến hành cài đặt
2.2.1. Sử dụng install composer vào thư mục chứa project
- Dùng command line download thành phần của Laravel
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 4
Download thành công
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 5
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 6
2.2.2. Sử dụng lệnh tạo project với command line
- Cài đặt composer cài đặt Composer-Setup.exe
- Kiểm tra lệnh composer, php, laravel trên command line
- Kiểm tra các lệnh cần dùng, mở command line và gõ lệnh:
Laravel
Composer
Php
- Lệnh tạo project: cd tới thư mục cần lưu project
Mở command line và chạy lệnh:
composer create-project laravel/laravel laravel5demo --prefer-dist
Trong đó: laravel5demo: là tên project
- Cài đặt thành công
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 7
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 8
- Chạy web demo: vào đường dẫn trong webserver và thư mục public trong thư mục đã
tạo trong laravel
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 9
3. CÁC THÀNH PHẦN CƠ BẢN CỦA LARAVEL
3.1. Routing
Chức năng: điều hướng các request của người dùng.
- GET
LOẠI 1: Điều hướng theo request trên url của người dùng.
Mở file routers.php để viết điều hướng
Code:
Route::get('hello-world', function () {
echo "Routes hello-world";
});
URL: http://localhost:6969/fwlaravel/laravel5/public/hello-world
Chạy điều hướng trên url của trình duyệt web:
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 10
LOẠI 2: Truy cập vào thành phần view:
Code:
Tạo giao diện ở view:
<form action="<?php echo Asset('dang-nhap') ?>" method="post">
<input type=s"text" name="username"></input>
<input type="password" name="password"></input>
<input type="submit"></input>
</form>
Mở file routers.php để viết điều hướng:
Code:
Route::get('/dangnhap', function () {
return view('trangdangnhap');
});
URL: http://localhost:6969/fwlaravel/laravel5/public/dangnhap
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 11
Chạy truy cập trên url
POST
PARAMETERS
FILTUERS
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 12
3.2. Tìm hiểu cấu trúc MVC trong Laravel
Tổng quan
Các xử lý request từ người dùng tất cả thông Routing.
VÍ DỤ 1: Lấy thông tin
// appHttproutes.php
Route::get('thongtin',
'HomeController@showi
nfo');
// appHttpControllers/HomeController.php
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppHttpRequests;
class HomeController extends Controller {
public function showinfo() {
echo "thông tin cá nhân";
}
}
http://localhost:69
69/fwlaravel/larav
el5/public/thongti
n
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 13
Kết quả khi người dùng thực hiện request:
VÍ DỤ 2: Xuất thông tin từ Controller ra view
- Xây dựng view ( Truyền dữ liệu thông qua biến $dulieu
<form action="<?php echo Asset('dang-nhap') ?>" method="post">
<input type="text" name="username"></input>
<input type="password" name="password"></input>
<input type="submit"></input>
<h1><?php echo $dulieu; ?></h1>
</form>
- Xây dựng Controller
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppHttpRequests;
class HomeController extends Controller
{
public function showinfo() {
echo "thông tin cá nhân";
}
public function showinfoview() {
return view('dang-nhap', ['dulieu' => 'Dữ liệu đăng nhập']);
}
}
- Gọi điều hướng trong Routes
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 14
Route::get('thongtinview', 'HomeController@showinfoview');
- Kết quả khi người dùng thực hiện request
Cách tạo 1 Controller:
Mở command line tại thư mục project và gõ lệnh: ( Với HomController là tên của controller
cần tạo)
php artisan make:controller HomeController
Kết quả tạo thành công:
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 15
3.3. Thành phần View và Controller
- View
Chúc năng: Thành phần thể hiện giao diện.
Cách truy xuất vào view: Cấu trúc thư mục của view
Truy xuất view trong Router
Route::get('goi-view', function(){
return view('layout.demo.view');
});
Kết quả khi thực hiện request
Cách truyền dữ liệu ra view.
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 16
o Tạo view
<!DOCTYPE html>
<html>
<head>
<title><?php echo $tenphim;?></title>
</head>
<body>
<p>Bạn đang xem phim <?php echo $tenphim;?></p>
<h1>Thời gian: <?php echo $thoigian; ?></h1>
</body>
</html>
Truyền dữ liệu ra view thông qua Routes:
Route::get('phim', function() {
$data = array('tenphim' => "zzzzzzzzzzz" ,
'thoigian' => 222);
// return View::make('phim')->with('tenphim', 'Steve zzzzzzzzz');
return View::make('phim', $data);
});
Kết quả trang
Chia sẽ dữ liệu gia các view
Tạo biến chia sẽ dữ liệu cho view trong Routes
View::share('title', 'Tiêu đề trang web');
Tạo 2 request cho 2 view ở Rotes
Route::get('goi-view', function(){
return view('layout.demo.view');
});
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 17
Route::get('goi-view2', function(){
return view('layout.demo.view2');
});
Tạo 2 view có nội dung
<!DOCTYPE html>
<html>
<head>
<title><?php echo $title ?></title>
</head>
<body>
<h1>View 2</h1>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title><?php echo $title ?></title>
</head>
<body>
<h1>View </h1>
</body>
</html>
Kết quả khi thực hiện 2 request tới 2 view
View và view 2 có chung tiêu đề
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 18
Điều phối các biến được chia sẽ trong các view
Tạo View composer: Chỉ cho view2 sử dụng biến ‘dulieu_baomat’
View::composer('layout.demo.view2', function($view){
$view->with('dulieu_baomat', "Dữ liệu cần bảo mật!");
});
Thực hiện gọi request view2 để xem dữ liệu
Khi view gọi sử dụng biến ‘dulieu_baomat’ sẽ lỗi
Cho view 3 sử dụng biến ‘dulieu_baomat’ cần thêm vào composer
View::composer('layout.demo.view2',
'layout.demo.view3', function($view){
$view->with('dulieu_baomat', "Dữ liệu cần bảo mật!");
});
Các phương thức thường sử dụng của view
Route::get('check-view', function(){
if (view()->exists('layout.demo.view3')) {
return "Tồn tại view 3";
}
else {
return "Không ồn tại view 3";
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 19
}
});
3.4. Blade
Tạo master trong view
<!DOCTYPE html>
<html>
<head>
<title>@yield('title')</title>
</head>
<body>
<h2>@yield('content')</h2>
</body>
</html>
Trang chủ kế thừa từ master
@extends('layout.master')
@section('title', "Tiêu đề")
@section('content')
Trang chủ
@stop
Tạo request điều hướng trong Routes
Route::get('trangchu', function(){
return view('layout.trangchu');
});
Kết quả người dùng request
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 20
4. CÁC COMMAND LINE SỬ DỤNG TRONG LARAVEL 5
Lệnh Chức năng Ghi chú
composer create-project laravel/laravel <Tên
project> --prefer-dist
Khởi tạo project web
với Laravel 5.0
Cần cd tới thư
mục chưa project
trước khi chạy
lệnh tạo project.
php artisan make:model <Tên Bảng> --migration Tạo model và migrate
php artisan migrate Cập nhật migrate để
thêm bảng vào
database sau khi tạo
migrate và thêm côt
trong file
create_teenbang_table
php artisan make:controller <Tên Controller> Tạo Controller để xử lý
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 21
5. ÁP DỤNG PROJECT THỰC TẾ - WEB BÁN HÀNG
5.1. Phân tích chức năng và cơ sở dữ liệu
5.1.1. Chức năng của website
A
5.1.2. Cơ sở dữ liệu
Bảng
STT Tên Bảng
1
Cate
5.2. Khởi tạo project và chạy thử
Thông tin project:
- Tên project: ProjectLaravel
Tạo project bằng cách sử dụng command line
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 22
composer create-project laravel/laravel projectlaravel --prefer-dist
Tạo project thành công ( có sinh ra Application key)
Kiểm tra lại bằng cách chạy thử trên trình duyệt
Chỉnh lại cấu hình không cần vào thư mục public để xem websites.
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 23
Di chuyển 2 file ( index.php và .htaccess) từ thư mục public ra ngoài thư mục project
Mở file index.php và chỉnh lại đường dẫn
Cũ:
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once
__DIR__.'/../bootstrap/app.php';
Chỉnh thành:
require __DIR__.'/bootstrap/autoload.php';
$app = require_once
__DIR__.'/bootstrap/app.php';
Chạy lại đường dẫn mới không cần vào thư mục public
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 24
Bật chế độ debug để hiển thị lỗi khi lập trình: Mở file app.php trong folder
config và đổi giá trị APP_DEBUG false -> true
debug' => env('APP_DEBUG', true),
Cấu hình database: Mở file .env ở folder gốc: thay đổi giá trị DB_HOST,
DB_PORT, DB_DATABASE, ..
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=project_laravel
DB_USERNAME=root
DB_PASSWORD=
Vào phpmyamin để tạo database có tên project_laravel
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 25
5.3. Tạo database sử dụng Migrate
Sử dụng lệnh cmd để tạo migrate và model
Tạo bảng Cate
php artisan make:model Cate --migration
Mở file create_cates_table đã được tạo trong folder database/migrations để thêm cột cho
bảng
(Viết code trong function up)
public function up()
{
Schema::create('cates', function (Blueprint $table) {
$table->increments('id');
$table->string('name')->unique();
$table->string('alias');
$table->integer('order');
$table->integer('parent_id');
$table->string('keywords');
$table->string('description');
$table->timestamps();
});
}
Tương tự mở file create_users_table để thêm cột cho bảng User
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('username')->unique();
$table->string('password', 60);
$table->string('email');
$table->tinyInteger('level');
$table->rememberToken();
$table->timestamps();
php artisan make:model <Tên Bảng> --migration
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 26
});
}
Mở command line ở folder gốc và chạy lên migrate để thêm bảng trong cơ sở dữ liệu
php artisan migrate
Vào phpmyadmin để kiểm tra các bảng đã được tạo trong database
Tạo tương tự các bảng Product
php artisan make:model Product --migration
Thêm cột cho bảng Products, Trong bảng Product có tạo khóa ngoại với 2 bảng Cates và
Users
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->increments('id');
$table->string('name')->unique();
$table->string('alias');
$table->integer('price');
$table->text('intro');
$table->longText('content');
$table->string('image');
$table->string('keywords');
$table->string('description');
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users')-
>onDelete('cascade');
$table->integer('cate_id')->unsigned();
$table->foreign('cate_id')->references('id')->on('cates')-
>onDelete('cascade');
$table->timestamps();
});
}
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 27
Tạo tương tự các bảng Product
php artisan make:model ProductImage --migration
Thêm cột cho bảng Products, Trong bảng Product có tạo khóa ngoại với 2 bảng Cates và
Product_Images
public function up()
{
Schema::create('product_images', function (Blueprint $table) {
$table->increments('id');
$table->string('image');
$table->integer('product_id')->unsigned();
$table->foreign('product_id')->references('id')->on('products')-
>onDelete('cascade');
$table->timestamps();
});
}
Xem design mối quan hệ ở phpmyadmin
5.4. Cấu hình cho model theo các bảng đã tạo trong database để thiết lập quan hệ giữa các bảng
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 28
Tạo biến PHP cấu hình các thông số sau:
- Thông tin của bảng Cate
protected $table = 'cates';
protected $fillable = ['name',
'alias',
'order',
'parent_id',
'keywords',
'description'];
public $timestamp = false;
- Mô tả quan hệ dữ liệu của các bảng với bảng Product
/*
Một Cate chứa nhiều Cate
*/
public function product () {
return $this->hasMany('AppProduct');
}
5.5. Thiết kế giao diện ở folder views
Các giao diện được lưu trong folder resource/views. Tạo trang master.blade.php
Ở trang master.blade.php sử dụng lệnh @yield để thể hiện phần hiển thị chung của các
trang
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 29
@yield('content')
Khi 1 trang muốn sử dụng trang master thì kế thừa từ master và chọn section với từ khóa
tương ứng
@extends('admin.master')
@section('content')
// code
@endsection('content')
Các code xử lý javascript và css được lưu ở folder public
Chỉnh các link của css và js đúng đường dẫn
<link
href="{{ url('public/admin/bower_components/bootstrap/dist/css/bootstrap.min.css') }}"
rel="stylesheet">
<script
src="{{ url('public/admin/bower_components/jquery/dist/jquery.min.js') }}"></script>
5.6. Tạo controller để xử lý
Mở command line ở folder gốc để chạy lệnh tạo controller
php artisan make:controller CateController
Viết hàm GET POST cho controller
TRAINING LARAVEL 5 FRAMEWORK 04/13/2016
HIEU TRAN TRUNG 30
class CateController extends Controller
{
public function getAdd () {
return view('admin.cate.add');
}
public function postAdd () {
}
}

Contenu connexe

Tendances

Tài liệu tìm hiểu jQuery dành cho người mới bắt đầu
Tài liệu tìm hiểu jQuery dành cho người mới bắt đầuTài liệu tìm hiểu jQuery dành cho người mới bắt đầu
Tài liệu tìm hiểu jQuery dành cho người mới bắt đầuLel Đặng Văn
 
Cấu hình căn bản trên GNS3
Cấu hình căn bản trên GNS3Cấu hình căn bản trên GNS3
Cấu hình căn bản trên GNS3hoangtuvit123
 
Hệ thống thông tin quản lý-website tin tức nhà đất
Hệ thống thông tin quản lý-website tin tức nhà đấtHệ thống thông tin quản lý-website tin tức nhà đất
Hệ thống thông tin quản lý-website tin tức nhà đấtKali Back Tracker
 
[Athena]Nghiên Cứu Và Xây Dựng Website Bằng Wordpress
[Athena]Nghiên Cứu Và Xây Dựng Website Bằng Wordpress[Athena]Nghiên Cứu Và Xây Dựng Website Bằng Wordpress
[Athena]Nghiên Cứu Và Xây Dựng Website Bằng WordpressCương Trần
 
Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...
Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...
Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...hoainhan1501
 
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGThùy Linh
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...The Boss
 
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPTBài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPTMasterCode.vn
 
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTSlide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTHiệu Nguyễn
 
Tổng quan về DoS - DDoS - DRDoS
Tổng quan về DoS - DDoS - DRDoSTổng quan về DoS - DDoS - DRDoS
Tổng quan về DoS - DDoS - DRDoSThieu Mao
 
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêbáo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêthuhuynhphonegap
 
Phân tích mã độc cơ bản - báo cáo thực tập
Phân tích mã độc cơ bản - báo cáo thực tậpPhân tích mã độc cơ bản - báo cáo thực tập
Phân tích mã độc cơ bản - báo cáo thực tậpPhạm Trung Đức
 
Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...
Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...
Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...Dịch vụ Làm Luận Văn 0936885877
 
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravelBáo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laraveljackjohn45
 
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESSĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESSnataliej4
 

Tendances (20)

Tài liệu tìm hiểu jQuery dành cho người mới bắt đầu
Tài liệu tìm hiểu jQuery dành cho người mới bắt đầuTài liệu tìm hiểu jQuery dành cho người mới bắt đầu
Tài liệu tìm hiểu jQuery dành cho người mới bắt đầu
 
Cấu hình căn bản trên GNS3
Cấu hình căn bản trên GNS3Cấu hình căn bản trên GNS3
Cấu hình căn bản trên GNS3
 
Hệ thống thông tin quản lý-website tin tức nhà đất
Hệ thống thông tin quản lý-website tin tức nhà đấtHệ thống thông tin quản lý-website tin tức nhà đất
Hệ thống thông tin quản lý-website tin tức nhà đất
 
[Athena]Nghiên Cứu Và Xây Dựng Website Bằng Wordpress
[Athena]Nghiên Cứu Và Xây Dựng Website Bằng Wordpress[Athena]Nghiên Cứu Và Xây Dựng Website Bằng Wordpress
[Athena]Nghiên Cứu Và Xây Dựng Website Bằng Wordpress
 
Luận văn: Xây dựng website đa ngôn ngữ cho Công ty, HOT
Luận văn: Xây dựng website đa ngôn ngữ cho Công ty, HOTLuận văn: Xây dựng website đa ngôn ngữ cho Công ty, HOT
Luận văn: Xây dựng website đa ngôn ngữ cho Công ty, HOT
 
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đĐề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
 
Giáo trình học seo cơ bản nhất
Giáo trình học seo cơ bản nhấtGiáo trình học seo cơ bản nhất
Giáo trình học seo cơ bản nhất
 
Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...
Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...
Báo Cáo Cuối Ký Thực Tập Tốt Nghiệp Xậy Dựng Web Bán Hàng Trực Tuyến bằng Ope...
 
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin TứcBáo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
 
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPTBài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
 
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTSlide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
 
Tổng quan về DoS - DDoS - DRDoS
Tổng quan về DoS - DDoS - DRDoSTổng quan về DoS - DDoS - DRDoS
Tổng quan về DoS - DDoS - DRDoS
 
Gns3
Gns3Gns3
Gns3
 
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêbáo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
 
Phân tích mã độc cơ bản - báo cáo thực tập
Phân tích mã độc cơ bản - báo cáo thực tậpPhân tích mã độc cơ bản - báo cáo thực tập
Phân tích mã độc cơ bản - báo cáo thực tập
 
Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...
Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...
Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...
 
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravelBáo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
 
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESSĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
 

En vedette

Hướng dẫn cài đặt FW Laravel trên môi trường linux
Hướng dẫn cài đặt FW Laravel trên môi trường linuxHướng dẫn cài đặt FW Laravel trên môi trường linux
Hướng dẫn cài đặt FW Laravel trên môi trường linuxLe Thanh
 
[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động
[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động
[Thực tập][GameLoft] Lập trình game đa nền tảng trên di độngTrung Hiếu Trần
 
Game development with Cocos2d
Game development with Cocos2dGame development with Cocos2d
Game development with Cocos2dVinsol
 
Chương 4: MySQL
Chương 4: MySQLChương 4: MySQL
Chương 4: MySQLHồ Lợi
 
45. mạng truyền thông công nghiệp
45. mạng truyền thông công nghiệp45. mạng truyền thông công nghiệp
45. mạng truyền thông công nghiệpToai Nguyen
 
mạng truyền thông công nghiệp
mạng truyền thông công nghiệpmạng truyền thông công nghiệp
mạng truyền thông công nghiệpvanquanglong
 
Introduction to natural language processing
Introduction to natural language processingIntroduction to natural language processing
Introduction to natural language processingMinh Pham
 
Execute sql query or sql command sql server using command prompt
Execute sql query or sql command sql server using command promptExecute sql query or sql command sql server using command prompt
Execute sql query or sql command sql server using command promptIkhwan Krisnadi
 
Hd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanhHd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanhHai Rom
 
Bài tập với câu lệnh select,insert, update, delete
Bài tập với câu lệnh select,insert, update, deleteBài tập với câu lệnh select,insert, update, delete
Bài tập với câu lệnh select,insert, update, deletevanphong20082002
 
MySQL 5.4 - Theory and Practice
MySQL 5.4 - Theory and PracticeMySQL 5.4 - Theory and Practice
MySQL 5.4 - Theory and PracticeGiuseppe Maxia
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql. .
 
Các bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbot
Các bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbotCác bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbot
Các bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbotMinh Pham
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Tú Cao
 
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTBài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTMasterCode.vn
 
Beginner guide to mysql command line
Beginner guide to mysql command lineBeginner guide to mysql command line
Beginner guide to mysql command linePriti Solanki
 
Mentallog12 10
Mentallog12 10Mentallog12 10
Mentallog12 10mentallog
 

En vedette (20)

Hướng dẫn cài đặt FW Laravel trên môi trường linux
Hướng dẫn cài đặt FW Laravel trên môi trường linuxHướng dẫn cài đặt FW Laravel trên môi trường linux
Hướng dẫn cài đặt FW Laravel trên môi trường linux
 
[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động
[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động
[Thực tập][GameLoft] Lập trình game đa nền tảng trên di động
 
Thực tập GameLoft SAI1
Thực tập GameLoft SAI1Thực tập GameLoft SAI1
Thực tập GameLoft SAI1
 
Game development with Cocos2d
Game development with Cocos2dGame development with Cocos2d
Game development with Cocos2d
 
Chương 4: MySQL
Chương 4: MySQLChương 4: MySQL
Chương 4: MySQL
 
45. mạng truyền thông công nghiệp
45. mạng truyền thông công nghiệp45. mạng truyền thông công nghiệp
45. mạng truyền thông công nghiệp
 
mạng truyền thông công nghiệp
mạng truyền thông công nghiệpmạng truyền thông công nghiệp
mạng truyền thông công nghiệp
 
Introduction to natural language processing
Introduction to natural language processingIntroduction to natural language processing
Introduction to natural language processing
 
Execute sql query or sql command sql server using command prompt
Execute sql query or sql command sql server using command promptExecute sql query or sql command sql server using command prompt
Execute sql query or sql command sql server using command prompt
 
Hd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanhHd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanh
 
Trigger in SQL
Trigger in SQLTrigger in SQL
Trigger in SQL
 
Bài tập với câu lệnh select,insert, update, delete
Bài tập với câu lệnh select,insert, update, deleteBài tập với câu lệnh select,insert, update, delete
Bài tập với câu lệnh select,insert, update, delete
 
MySQL 5.4 - Theory and Practice
MySQL 5.4 - Theory and PracticeMySQL 5.4 - Theory and Practice
MySQL 5.4 - Theory and Practice
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql
 
Các bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbot
Các bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbotCác bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbot
Các bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbot
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
 
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTBài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
 
Beginner guide to mysql command line
Beginner guide to mysql command lineBeginner guide to mysql command line
Beginner guide to mysql command line
 
Mô Hình MVC 3.0
Mô Hình MVC 3.0Mô Hình MVC 3.0
Mô Hình MVC 3.0
 
Mentallog12 10
Mentallog12 10Mentallog12 10
Mentallog12 10
 

Similaire à Laravel 5 framework

Technical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vnTechnical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vnAsahina Infotech
 
All zend
All zendAll zend
All zendkuetli
 
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2KhanhPham
 
TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7
TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7
TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7dvms
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
 
E learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPE learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPelearninglabvn
 
Php cơ bản của trung tâm hocweb.com.vn
Php cơ bản của trung tâm hocweb.com.vnPhp cơ bản của trung tâm hocweb.com.vn
Php cơ bản của trung tâm hocweb.com.vnDang le Nam
 
Báo cáo tìm hiểu và xây dựng ứng dụng map trên android
Báo cáo tìm hiểu và xây dựng ứng dụng map trên androidBáo cáo tìm hiểu và xây dựng ứng dụng map trên android
Báo cáo tìm hiểu và xây dựng ứng dụng map trên androidhockohiwu
 
Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsdVu Hung Nguyen
 
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9
Zend Framework 2.0:  Upload file và Multi upload files trong ZF2 - Bài 9Zend Framework 2.0:  Upload file và Multi upload files trong ZF2 - Bài 9
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9KhanhPham
 
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSXHướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSXTechMaster Vietnam
 
Luận Văn Xây Dựng Trang Web Cho Hợp Tác Xã Nông Nghiệp Và Du Lịch Cộng Đồng C...
Luận Văn Xây Dựng Trang Web Cho Hợp Tác Xã Nông Nghiệp Và Du Lịch Cộng Đồng C...Luận Văn Xây Dựng Trang Web Cho Hợp Tác Xã Nông Nghiệp Và Du Lịch Cộng Đồng C...
Luận Văn Xây Dựng Trang Web Cho Hợp Tác Xã Nông Nghiệp Và Du Lịch Cộng Đồng C...sividocz
 
Hung dan cai dat va su dung dot netnuke5.x
Hung dan cai dat va su dung dot netnuke5.xHung dan cai dat va su dung dot netnuke5.x
Hung dan cai dat va su dung dot netnuke5.xLy hai
 

Similaire à Laravel 5 framework (20)

Aspnet 3.5 _04
Aspnet 3.5 _04Aspnet 3.5 _04
Aspnet 3.5 _04
 
Technical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vnTechnical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vn
 
All zend
All zendAll zend
All zend
 
Phalcon căn bản
Phalcon căn bảnPhalcon căn bản
Phalcon căn bản
 
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
 
TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7
TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7
TÀI LIỆU HƯỚNG VIẾT MODULE VÀ WEBSERVICE CHO MAGENTO 1.7
 
Yii
YiiYii
Yii
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
 
Web301 slide 1
Web301   slide 1Web301   slide 1
Web301 slide 1
 
E learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPE learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHP
 
Php cơ bản của trung tâm hocweb.com.vn
Php cơ bản của trung tâm hocweb.com.vnPhp cơ bản của trung tâm hocweb.com.vn
Php cơ bản của trung tâm hocweb.com.vn
 
Lab lap trinhmang_v3
Lab lap trinhmang_v3Lab lap trinhmang_v3
Lab lap trinhmang_v3
 
Báo cáo tìm hiểu và xây dựng ứng dụng map trên android
Báo cáo tìm hiểu và xây dựng ứng dụng map trên androidBáo cáo tìm hiểu và xây dựng ứng dụng map trên android
Báo cáo tìm hiểu và xây dựng ứng dụng map trên android
 
Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsd
 
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9
Zend Framework 2.0:  Upload file và Multi upload files trong ZF2 - Bài 9Zend Framework 2.0:  Upload file và Multi upload files trong ZF2 - Bài 9
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9
 
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSXHướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
Hướng dẫn sử dụng CocoaPods trong dự án iOS hoặc MacOSX
 
Luận Văn Xây Dựng Trang Web Cho Hợp Tác Xã Nông Nghiệp Và Du Lịch Cộng Đồng C...
Luận Văn Xây Dựng Trang Web Cho Hợp Tác Xã Nông Nghiệp Và Du Lịch Cộng Đồng C...Luận Văn Xây Dựng Trang Web Cho Hợp Tác Xã Nông Nghiệp Và Du Lịch Cộng Đồng C...
Luận Văn Xây Dựng Trang Web Cho Hợp Tác Xã Nông Nghiệp Và Du Lịch Cộng Đồng C...
 
Tailieu
TailieuTailieu
Tailieu
 
Hung dan cai dat va su dung dot netnuke5.x
Hung dan cai dat va su dung dot netnuke5.xHung dan cai dat va su dung dot netnuke5.x
Hung dan cai dat va su dung dot netnuke5.x
 
Báo cáo tuần đồ án
Báo cáo tuần đồ ánBáo cáo tuần đồ án
Báo cáo tuần đồ án
 

Laravel 5 framework

  • 1. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 1 LARAVEL 5 FRAMEWORK TABLE OF CONTENTS 1. Giới thiệu Laravel 5..........................................................................................................................2 2. Download và cài đặt ........................................................................................................................2 2.1. Chuẩn bị môi trường................................................................................................................2 2.2. Tiến hành cài đặt .....................................................................................................................3 2.2.1. Sử dụng install composer vào thư mục chứa project ...........................................................3 2.2.2. Sử dụng lệnh tạo project với command line.........................................................................6 3. Các thành phần cơ bản của Laravel .................................................................................................9 3.1. Routing....................................................................................................................................9 3.2. Tìm hiểu cấu trúc MVC trong Laravel..................................................................................... 12 4. Các Command line sử dụng trong Laravel 5 ..................................................................................20 5. Áp dụng project thực tế - web bán hàng........................................................................................ 21 5.1. Phân tích chức năng và cơ sở dữ liệu..................................................................................... 21 5.1.1. Chức năng của website .................................................................................................. 21 5.1.2. Cơ sở dữ liệu.................................................................................................................. 21 5.2. Khởi tạo project và chạy thử.................................................................................................. 21 5.3. Tạo database sử dụng Migrate ..............................................................................................25 5.4. Cấu hình cho model theo các bảng đã tạo trong database để thiết lập quan hệ giữa các bảng 27 5.5. Thiết kế giao diện ở folder views ...........................................................................................28
  • 2. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 2 1. GIỚI THIỆU LARAVEL 5 Laravel là framework opensource sử dụng ngôn ngữ PHP dùng để phát triển các hệ thông websites lớn dễ dàng cho việc phát triển nên được công đồng lập trình viên sử dụng rộng rãi. 2. DOWNLOAD VÀ CÀI ĐẶT 2.1. Chuẩn bị môi trường - Server web (XAMPP, WAMSERVER, …) - Larabel 5 Download: https://github.com/laravel/laravel - Composer Download: https://getcomposer.org/ - Thêm biến môi trường php Thêm vào biến path thư mục php trong web server.
  • 3. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 3 2.2. Tiến hành cài đặt 2.2.1. Sử dụng install composer vào thư mục chứa project - Dùng command line download thành phần của Laravel
  • 4. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 4 Download thành công
  • 5. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 5
  • 6. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 6 2.2.2. Sử dụng lệnh tạo project với command line - Cài đặt composer cài đặt Composer-Setup.exe - Kiểm tra lệnh composer, php, laravel trên command line - Kiểm tra các lệnh cần dùng, mở command line và gõ lệnh: Laravel Composer Php - Lệnh tạo project: cd tới thư mục cần lưu project Mở command line và chạy lệnh: composer create-project laravel/laravel laravel5demo --prefer-dist Trong đó: laravel5demo: là tên project - Cài đặt thành công
  • 7. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 7
  • 8. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 8 - Chạy web demo: vào đường dẫn trong webserver và thư mục public trong thư mục đã tạo trong laravel
  • 9. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 9 3. CÁC THÀNH PHẦN CƠ BẢN CỦA LARAVEL 3.1. Routing Chức năng: điều hướng các request của người dùng. - GET LOẠI 1: Điều hướng theo request trên url của người dùng. Mở file routers.php để viết điều hướng Code: Route::get('hello-world', function () { echo "Routes hello-world"; }); URL: http://localhost:6969/fwlaravel/laravel5/public/hello-world Chạy điều hướng trên url của trình duyệt web:
  • 10. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 10 LOẠI 2: Truy cập vào thành phần view: Code: Tạo giao diện ở view: <form action="<?php echo Asset('dang-nhap') ?>" method="post"> <input type=s"text" name="username"></input> <input type="password" name="password"></input> <input type="submit"></input> </form> Mở file routers.php để viết điều hướng: Code: Route::get('/dangnhap', function () { return view('trangdangnhap'); }); URL: http://localhost:6969/fwlaravel/laravel5/public/dangnhap
  • 11. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 11 Chạy truy cập trên url POST PARAMETERS FILTUERS
  • 12. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 12 3.2. Tìm hiểu cấu trúc MVC trong Laravel Tổng quan Các xử lý request từ người dùng tất cả thông Routing. VÍ DỤ 1: Lấy thông tin // appHttproutes.php Route::get('thongtin', 'HomeController@showi nfo'); // appHttpControllers/HomeController.php <?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppHttpRequests; class HomeController extends Controller { public function showinfo() { echo "thông tin cá nhân"; } } http://localhost:69 69/fwlaravel/larav el5/public/thongti n
  • 13. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 13 Kết quả khi người dùng thực hiện request: VÍ DỤ 2: Xuất thông tin từ Controller ra view - Xây dựng view ( Truyền dữ liệu thông qua biến $dulieu <form action="<?php echo Asset('dang-nhap') ?>" method="post"> <input type="text" name="username"></input> <input type="password" name="password"></input> <input type="submit"></input> <h1><?php echo $dulieu; ?></h1> </form> - Xây dựng Controller <?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppHttpRequests; class HomeController extends Controller { public function showinfo() { echo "thông tin cá nhân"; } public function showinfoview() { return view('dang-nhap', ['dulieu' => 'Dữ liệu đăng nhập']); } } - Gọi điều hướng trong Routes
  • 14. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 14 Route::get('thongtinview', 'HomeController@showinfoview'); - Kết quả khi người dùng thực hiện request Cách tạo 1 Controller: Mở command line tại thư mục project và gõ lệnh: ( Với HomController là tên của controller cần tạo) php artisan make:controller HomeController Kết quả tạo thành công:
  • 15. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 15 3.3. Thành phần View và Controller - View Chúc năng: Thành phần thể hiện giao diện. Cách truy xuất vào view: Cấu trúc thư mục của view Truy xuất view trong Router Route::get('goi-view', function(){ return view('layout.demo.view'); }); Kết quả khi thực hiện request Cách truyền dữ liệu ra view.
  • 16. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 16 o Tạo view <!DOCTYPE html> <html> <head> <title><?php echo $tenphim;?></title> </head> <body> <p>Bạn đang xem phim <?php echo $tenphim;?></p> <h1>Thời gian: <?php echo $thoigian; ?></h1> </body> </html> Truyền dữ liệu ra view thông qua Routes: Route::get('phim', function() { $data = array('tenphim' => "zzzzzzzzzzz" , 'thoigian' => 222); // return View::make('phim')->with('tenphim', 'Steve zzzzzzzzz'); return View::make('phim', $data); }); Kết quả trang Chia sẽ dữ liệu gia các view Tạo biến chia sẽ dữ liệu cho view trong Routes View::share('title', 'Tiêu đề trang web'); Tạo 2 request cho 2 view ở Rotes Route::get('goi-view', function(){ return view('layout.demo.view'); });
  • 17. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 17 Route::get('goi-view2', function(){ return view('layout.demo.view2'); }); Tạo 2 view có nội dung <!DOCTYPE html> <html> <head> <title><?php echo $title ?></title> </head> <body> <h1>View 2</h1> </body> </html> <!DOCTYPE html> <html> <head> <title><?php echo $title ?></title> </head> <body> <h1>View </h1> </body> </html> Kết quả khi thực hiện 2 request tới 2 view View và view 2 có chung tiêu đề
  • 18. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 18 Điều phối các biến được chia sẽ trong các view Tạo View composer: Chỉ cho view2 sử dụng biến ‘dulieu_baomat’ View::composer('layout.demo.view2', function($view){ $view->with('dulieu_baomat', "Dữ liệu cần bảo mật!"); }); Thực hiện gọi request view2 để xem dữ liệu Khi view gọi sử dụng biến ‘dulieu_baomat’ sẽ lỗi Cho view 3 sử dụng biến ‘dulieu_baomat’ cần thêm vào composer View::composer('layout.demo.view2', 'layout.demo.view3', function($view){ $view->with('dulieu_baomat', "Dữ liệu cần bảo mật!"); }); Các phương thức thường sử dụng của view Route::get('check-view', function(){ if (view()->exists('layout.demo.view3')) { return "Tồn tại view 3"; } else { return "Không ồn tại view 3";
  • 19. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 19 } }); 3.4. Blade Tạo master trong view <!DOCTYPE html> <html> <head> <title>@yield('title')</title> </head> <body> <h2>@yield('content')</h2> </body> </html> Trang chủ kế thừa từ master @extends('layout.master') @section('title', "Tiêu đề") @section('content') Trang chủ @stop Tạo request điều hướng trong Routes Route::get('trangchu', function(){ return view('layout.trangchu'); }); Kết quả người dùng request
  • 20. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 20 4. CÁC COMMAND LINE SỬ DỤNG TRONG LARAVEL 5 Lệnh Chức năng Ghi chú composer create-project laravel/laravel <Tên project> --prefer-dist Khởi tạo project web với Laravel 5.0 Cần cd tới thư mục chưa project trước khi chạy lệnh tạo project. php artisan make:model <Tên Bảng> --migration Tạo model và migrate php artisan migrate Cập nhật migrate để thêm bảng vào database sau khi tạo migrate và thêm côt trong file create_teenbang_table php artisan make:controller <Tên Controller> Tạo Controller để xử lý
  • 21. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 21 5. ÁP DỤNG PROJECT THỰC TẾ - WEB BÁN HÀNG 5.1. Phân tích chức năng và cơ sở dữ liệu 5.1.1. Chức năng của website A 5.1.2. Cơ sở dữ liệu Bảng STT Tên Bảng 1 Cate 5.2. Khởi tạo project và chạy thử Thông tin project: - Tên project: ProjectLaravel Tạo project bằng cách sử dụng command line
  • 22. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 22 composer create-project laravel/laravel projectlaravel --prefer-dist Tạo project thành công ( có sinh ra Application key) Kiểm tra lại bằng cách chạy thử trên trình duyệt Chỉnh lại cấu hình không cần vào thư mục public để xem websites.
  • 23. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 23 Di chuyển 2 file ( index.php và .htaccess) từ thư mục public ra ngoài thư mục project Mở file index.php và chỉnh lại đường dẫn Cũ: require __DIR__.'/../bootstrap/autoload.php'; $app = require_once __DIR__.'/../bootstrap/app.php'; Chỉnh thành: require __DIR__.'/bootstrap/autoload.php'; $app = require_once __DIR__.'/bootstrap/app.php'; Chạy lại đường dẫn mới không cần vào thư mục public
  • 24. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 24 Bật chế độ debug để hiển thị lỗi khi lập trình: Mở file app.php trong folder config và đổi giá trị APP_DEBUG false -> true debug' => env('APP_DEBUG', true), Cấu hình database: Mở file .env ở folder gốc: thay đổi giá trị DB_HOST, DB_PORT, DB_DATABASE, .. DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=project_laravel DB_USERNAME=root DB_PASSWORD= Vào phpmyamin để tạo database có tên project_laravel
  • 25. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 25 5.3. Tạo database sử dụng Migrate Sử dụng lệnh cmd để tạo migrate và model Tạo bảng Cate php artisan make:model Cate --migration Mở file create_cates_table đã được tạo trong folder database/migrations để thêm cột cho bảng (Viết code trong function up) public function up() { Schema::create('cates', function (Blueprint $table) { $table->increments('id'); $table->string('name')->unique(); $table->string('alias'); $table->integer('order'); $table->integer('parent_id'); $table->string('keywords'); $table->string('description'); $table->timestamps(); }); } Tương tự mở file create_users_table để thêm cột cho bảng User public function up() { Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('username')->unique(); $table->string('password', 60); $table->string('email'); $table->tinyInteger('level'); $table->rememberToken(); $table->timestamps(); php artisan make:model <Tên Bảng> --migration
  • 26. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 26 }); } Mở command line ở folder gốc và chạy lên migrate để thêm bảng trong cơ sở dữ liệu php artisan migrate Vào phpmyadmin để kiểm tra các bảng đã được tạo trong database Tạo tương tự các bảng Product php artisan make:model Product --migration Thêm cột cho bảng Products, Trong bảng Product có tạo khóa ngoại với 2 bảng Cates và Users public function up() { Schema::create('products', function (Blueprint $table) { $table->increments('id'); $table->string('name')->unique(); $table->string('alias'); $table->integer('price'); $table->text('intro'); $table->longText('content'); $table->string('image'); $table->string('keywords'); $table->string('description'); $table->integer('user_id')->unsigned(); $table->foreign('user_id')->references('id')->on('users')- >onDelete('cascade'); $table->integer('cate_id')->unsigned(); $table->foreign('cate_id')->references('id')->on('cates')- >onDelete('cascade'); $table->timestamps(); }); }
  • 27. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 27 Tạo tương tự các bảng Product php artisan make:model ProductImage --migration Thêm cột cho bảng Products, Trong bảng Product có tạo khóa ngoại với 2 bảng Cates và Product_Images public function up() { Schema::create('product_images', function (Blueprint $table) { $table->increments('id'); $table->string('image'); $table->integer('product_id')->unsigned(); $table->foreign('product_id')->references('id')->on('products')- >onDelete('cascade'); $table->timestamps(); }); } Xem design mối quan hệ ở phpmyadmin 5.4. Cấu hình cho model theo các bảng đã tạo trong database để thiết lập quan hệ giữa các bảng
  • 28. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 28 Tạo biến PHP cấu hình các thông số sau: - Thông tin của bảng Cate protected $table = 'cates'; protected $fillable = ['name', 'alias', 'order', 'parent_id', 'keywords', 'description']; public $timestamp = false; - Mô tả quan hệ dữ liệu của các bảng với bảng Product /* Một Cate chứa nhiều Cate */ public function product () { return $this->hasMany('AppProduct'); } 5.5. Thiết kế giao diện ở folder views Các giao diện được lưu trong folder resource/views. Tạo trang master.blade.php Ở trang master.blade.php sử dụng lệnh @yield để thể hiện phần hiển thị chung của các trang
  • 29. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 29 @yield('content') Khi 1 trang muốn sử dụng trang master thì kế thừa từ master và chọn section với từ khóa tương ứng @extends('admin.master') @section('content') // code @endsection('content') Các code xử lý javascript và css được lưu ở folder public Chỉnh các link của css và js đúng đường dẫn <link href="{{ url('public/admin/bower_components/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet"> <script src="{{ url('public/admin/bower_components/jquery/dist/jquery.min.js') }}"></script> 5.6. Tạo controller để xử lý Mở command line ở folder gốc để chạy lệnh tạo controller php artisan make:controller CateController Viết hàm GET POST cho controller
  • 30. TRAINING LARAVEL 5 FRAMEWORK 04/13/2016 HIEU TRAN TRUNG 30 class CateController extends Controller { public function getAdd () { return view('admin.cate.add'); } public function postAdd () { } }