GIÁO TRÌNH LARAVEL PHẦN I

31 512 2
GIÁO TRÌNH LARAVEL   PHẦN I

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1GIÁO TRÌNH LARAVEL 5.3 GIÁO TRÌNH LARAVEL 5.3 - BUỔI A – LÝ THUYẾT I – GIỚI THIỆU PHP Framework PHP Framework thư viện PHP, giúp lập trình viên viết code PHP cách dễ dàng, khoa học nhanh chóng Hiện có nhiều PHP Framework thị trường, PHP Framework đ ược phát triển bên thứ ba khác nhau, PHP Framework có nh ững ưu, nh ược ểm khác Laravel Framework Laravel Framework PHP Framework điển hình, nhi ều PHP Framework phổ biến Laravel, Phalcon, CodeIgniter, Zend, Symfony, CakePHP,… Laravel Framework phổ biến đánh giá toàn diện đ ến thời điểm t ại II – CÀI ĐẶT Cài đặt Composer Composer là… Vào https://getcomposer.org/ để download composer exe Quá trình cài đặt bình thường Chú ý:   Nếu bạn không cài XAMPP vào ổ mặc định (c) lựa chọn thư mục cài c ần ch ọn đến file php.exe Ngồi sau cài xong (1) restart lại máy ho ặc lock kh ỏi tài kho ản admin, r ồi sau vào lại Cách 2: Không cần cài đặt B1 Các bạn download file composer.phar theo đường dẫn sau https://getcomposer.org/download/ (kéo xuống download nhất) B2 Thư mục cần sử dụng chép file composer.phar vào 2GIÁO TRÌNH LARAVEL 5.3 Cài đặt Laravel B1 Tạo thư mục chứa thư viện Laravel B2 Mở cmd lên, vào thư mục gõ theo cú pháp sau: composer create-project prefer-dist laravel/laravel blog php artisan key:generate III - CHẠY LARAVEL Chạy thông qua thư mục public http://localhost/laravel/public Tối ưu đường dẫn http://localhost/laravel IV – ROUTE Route ? Route khái niệm hay quan trọng Laravel Các bạn hình dung Route giống người lễ tân khách sạn, đường dẫn người người dùng gõ hay truy cập vào hệ thống giống người khách đến nghỉ, họ đ ều phải thông qua Route, Route nhận biết khách hàng khác hướng dẫn họ nghỉ phòng khác Các phương thức Route a Phương thức GET 3GIÁO TRÌNH LARAVEL 5.3 Nhận tham số truyền địa trình duyệt để thực thi m ột công vi ệc tương ứng Cú pháp: Route::get(‘URI’, Action)  URI: Uniform Resource Identifier chuỗi ký tự sử dụng đ ể xác đ ịnh, nhận dạng tên tài nguyên  Action: Có thể hàm, mảng hay chuỗi, Route thực dựa vào URI Ví dụ: Route::get('home', function(){ return 'Vietpro Academy'; }); b Phương thức POST Được sử dụng đón liệu từ Form trả Cú pháp: Route::get(‘URI’, Action) Ví dụ: Route::get('home', function(){ echo ''; echo ''; echo ''; echo csrf_field(); echo ''; }); 4GIÁO TRÌNH LARAVEL 5.3 c Các phương thức nghiên cứu sau  macth  any  filter  group  controller  resource V – CONTROLLER Controller Controller trái tim ứng dụng, tất liệu cần xử lý đ ược thự Controller, liệu cần đẩy đâu, điều hướng đến nới đ ều Controller định hết Vậy Controller có tác dụng nhận, xử lý điều hướng liệu hệ thống Tạo Controller C1: Vào thư mục Controllers theo đường dẫn app/Http/Controllers để tạo m ới file Controller với yêu cầu tên Class trùng tên File (Sử dụng autoload) namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; 5GIÁO TRÌNH LARAVEL 5.3 class DemoController extends Controller { public function demo(){ return 'Vietpro Academy'; } } C2: Vào Command gõ php artisan make:controller controllerName Sử dụng Controller Laravel Route::get(‘param’, ‘ControllerClass@ControllerMethod’); Truyền tham số cho Controller Route::get('demo/{param1}/{param2}', 'DemoController@demo'); 6GIÁO TRÌNH LARAVEL 5.3 class DemoController extends Controller { public function demo($param1, $param2){ return 'Vietpro Academy: '.$param1.' - '.$param2; } } Chú ý: Trong trường hợp muốn chủ động việc truy ền tham s ố đ ối v ới Controller (có thể truyền khoặc khơng) sau tên tham số truy ền bạn b ổ sung thêm d ấu ch ấm hỏi (?) VI - VIEW View ? View file giao diện, file tập trung mã HTML, kết tr ả v ề từ Controller túy, không co thuật toán hay xử lý Một View thơng thường sử dụng biểu thức điều kiện, vòng lặp để để xuất liệu phục vụ cho việc hiển thị View sinh để tách biệt tối đa mã giao diện với code xử lý PHP, thơng th ường View tách 80-90% code php khỏi giao diện, muốn tách 100% ph ải kết h ợp v ới m ột Template Enzine (Laravel sử dụng Blade Template mà học buổi sau) Tạo View Để tạo View bạn tìm tới thư mục resources/views/ t ạo file php 7GIÁO TRÌNH LARAVEL 5.3 Gọi View Controller class DemoController extends Controller { public function demo(){ return view('Folder.viewFileName'); } } Truyền tham số cho View Controller truyền tham số sang View theo dạng mảng, kết View nhận đ ược giá trị lưu trữ biến tạo KEY t t phần t mảng mà Controller truyền sang Ví dụ 1: Controller class DemoController extends Controller { public function demo(){ $arr['khoahoc'] = 'Laravel'; return view('admin.demoView', $arr); } 8GIÁO TRÌNH LARAVEL 5.3 } View Ví dụ 2: Controller class DemoController extends Controller { public function demo(){ $arr = [ 'khoahoc'=>'Laravel', 'trungtam'=>'Vietpro' ]; return view('admin.demoView', $arr); } } View B – BÀI TẬP I – BÀI TẬP THỰC HÀNH Xây dựng ứng dụng máy tính đơn giản Laravel II – BÀI TẬP VỀ NHÀ Xây dựng ứng dụng máy tính đơn giản Laravel với yêu cầu sau  Kiểm tra trường trống  Hiển thị lại giá trị, phép toán kết vào trường Textbox 10GIÁO TRÌNH LARAVEL 5.3 GIÁO TRÌNH LARAVEL 5.3 - BUỔI A – LÝ THUYẾT I – BLADE TEMPLATE Blade Template ? Blade Template Template Enzine Laravel, giúp lập trình viên tách hồn toàn code PHP cách khỏi file View Tạo sử dụng Blade Template Các file Blade Template ln ln có cách đặt tên sau filename.blade.php Chú ý: Các bạn viết code PHP cách thoải mái View Blade Template (nh ưng thực tế không làm điều này, Blade Template sinh đ ể tách code PHP hoàn toàn kh ỏi View) Các cú pháp làm việc Blade Template a Xuất giá trị biến thực thi hàm {{$bien}} {{tinhTong($st1, $st2)}} b In chuỗi HTML {{‘Học viện Công Nghệ Vietpro’}} c Bỏ qua cú pháp Blade Template 17GIÁO TRÌNH LARAVEL 5.3 Validation Validation q trình kiểm tra tính hợp lệ thông tin nh ập vào Form Ch ẳng h ạn nh kiểm tra email hợp lệ, liệu nhập vào phải số, liệu nhập tối đa ký tự, t ối thiểu ký tự,… Rules Laravel Rules quy tắc bắt buộc mà phần tử Form phải tuân theo, theo nguyên t ắc mà Laravel định nghĩa sẵn a Một số quy tắc thông dụng  required  numeric  email  max:12  min:6 b Một số quy tắc khác  sometimes  unique:users  Do lập trình viên tự định nghĩa Cách sử dụng a Sử dụng thư viện Validator use Validator; b Bắt lỗi Laravel sử dụng cách thức sau để bắt lỗi trả kết $Validator = Validator::make($request->all(), $rules, $message); Trong đó: 18GIÁO TRÌNH LARAVEL 5.3  $request thông tin Form nhiều thông tin khác nhận đ ược sau Submit  Phương thức $request->all() lấy mảng phần tử Form với name & value  $rules quyền thiết lập  $message cảnh báo thiết lập c Lấy kết Validator Sau đối tượng $Validator khởi tạo từ phương thức make có ph ương thức quan trọng sau phép theo tác với kết nhận đ ược Trả TRUE có lỗi $Validator->errors() Trả TRUE khơng có lỗi $Validator->passes() Trả đối tượng tất thơng tin sau q trình Validation $Validator->messages() $Validator->errors() Chú ý: Phương thức all() Laravel giúp trả mảng phần từ cần thiết từ đ ối tượng với nhiều mảng phần tử lẫn lộn Ví dụ 19GIÁO TRÌNH LARAVEL 5.3 $Validator->messages()->all() $Validator->errors()->all() B – BÀI TẬP I – BÀI TẬP THỰC HÀNH Xây dựng ứng dụng Login có trường Validate sau:  Tài khoản & Mật không để trống  Tài khoảng phải Email  Mật phải dạng số tối thiểu ký tự tối đa ký tự  Nếu nhập sai tài khoản báo lỗi, ngược lại báo đăng nhập thành công với tài khoản vietpro.edu.vn@gmail.com mật 123456 Chú ý: Sử dụng Layout mẫu cung cấp từ giảng viên để thực hành II – BÀI TẬP VỀ NHÀ Xây dựng Ứng dụng điều hướng Layout Master Page với tiêu chí sau  Chạy Route admin hiển thị danh sách thành viên  Chạy Route add hiển thị Form thêm  Chạy Route edit hiển thị Form sửa Chú ý: Có thể áp dụng phương thức sau để tạo tham số cho Route  asset(‘/’): tương đương http://localhost/vietpro  asset(‘/home’): tương đương http://localhost/vietpro/home 20GIÁO TRÌNH LARAVEL 5.3 GIÁO TRÌNH LARAVEL 5.3 - BUỔI A – LÝ THUYẾT I – SCHEMA BUILDER Schema builder ? Schema Class Laravel, giúp Laravel thao tác với b ảng d ữ li ệu nh thêm, sửa, xóa cách dễ dàng khoa học Schema builder cách nói Laravel sử dụng phương thức Class Schema để thêm sửa, xóa bảng cột liệu Tạo CSDL mẫu kết nối với Laravel B1 Vào PHPMyAdmin để tạo CSDL B2 Để cấu hình kết nối CSDL sử dụng cách sau:  C1 Cấu hình file database.php nằm thư mục config  C2 Cấu hình file env Xây dựng bảng với Schema builder a Phương thức tạo bảng liệu create() Cú pháp: Schema::create(‘table_name’, function($table){}); Ví dụ: Schema::create('users', function($table){ $table->increments('user_id'); }); 21GIÁO TRÌNH LARAVEL 5.3 b Phương thức đổi tên bảng liệu rename() Cú pháp: Schema::rename(oldTableName, newTableName); Ví dụ: Schema::rename(‘users’, ‘thanhvien’); c Phương thức xóa bảng liệu drop() Cú pháp: Schema::drop(tableName); Schema::dropIfExists(tableName); Ví dụ: Schema::drop('users'); Schema::dropIfExists('users'); d Phương thức thêm cột vào bảng table() Cú pháp: Schema::table(tableName, function($table){ $table->string(columnName); }); Ví dụ: 22GIÁO TRÌNH LARAVEL 5.3 Schema::table('users', function($table){ $table->string(user_name); }); e Phưng thức đổi tên cột remaneColumn() Cú pháp: Schema::table(tableName, function($table){ $table->renameColumn(oldColumnName, newColumnName); }); Ví dụ: Schema::table(‘users’, function($table){ $table->renameColumn(‘user_id’, ‘userid’); }); f Phương thức xóa nhiều cột từ bảng dropColumn() Cú pháp: Schema::table(tableName, function($table){ $table->dropColumn(columnName); }); Schema::table(tableName, function($table){ 23GIÁO TRÌNH LARAVEL 5.3 $table->dropColumn(columnName-1, columnName-2,… columnName-N); }); Ví dụ: Schema::table('users', function($table){ $table->dropColumn('user_name'); }); Schema::table('users', function($table){ $table->dropColumn('user_name', 'user_pass', 'user_mail'); }); g Phương thức kiểm tra tồn bảng hasTable() Cú pháp: if(Schema::hasTable(tableName)){ // } Ví dụ: if(Schema::hasTable('users')){ // } 24GIÁO TRÌNH LARAVEL 5.3 h Phương thức kiểm tra tồn cột hasColumn() Cú pháp: if(Schema::hasColumn(tableName, columnName)){ // } Ví dụ: if(Schema::hasColumn('users', 'user_name')){ // } II – MIGRATION Migration ? Migration Laravel sử dụng để quản lý Schema cách dễ dàng khoa học Các Schema viết Migration chúng th ực thi cơng vi ệc c Migration chạy Xây dựng CSDL với Migration a Tạo Migration để quản lý Schema C1 Tạo Migration quản lý không kèm bảng liệu CMD: php artisan make:migration create_migrationName_table 25GIÁO TRÌNH LARAVEL 5.3 Kết quả: use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateTest1Table extends Migration { public function up() { // } public function down() { // } } C2 Tạo Migration quản lý có kèm bảng liệu CMD: php artisan make:migration create_migrationName_table table=tableName Kết quả: 26GIÁO TRÌNH LARAVEL 5.3 class CreateTest2Table extends Migration { public function up() { Schema::table('test2', function (Blueprint $table) { // }); } public function down() { Schema::table('test2', function (Blueprint $table) { // }); } } C3 Tạo Migration quản lý có kèm bảng cột liệu mẫu CMD: php artisan make:migration create_migrationName_table create=tableName Kết quả: 27GIÁO TRÌNH LARAVEL 5.3 class CreateTest3Table extends Migration { public function up() { Schema::create('test3', function (Blueprint $table) { $table->increments('id'); $table->timestamps(); }); } public function down() { Schema::dropIfExists('test3'); } } b Xây dựng bảng với Schema Migration file public function up() { Schema::create('test3', function (Blueprint $table) { $table->increments('user_id'); $table->string('user_name'); $table->string('user_pass'); $table->text('user_info'); 28GIÁO TRÌNH LARAVEL 5.3 $table->integer('user_lvel'); $table->timestamp('user_create')->nullable(); $table->timestamp('user_update')->nullable(); }); } c Thực thi tệp tin Migration để hoàn thành việc tạo bảng php artisan migrate Một số phương thức Migration a Phương thức thực thi Migration migrate php artisan migrate b Phương thức xóa Migration trước rollback php artisan migrate:rollback c Phương thức xóa, đồng thời tạo lại tất bảng refresh php artisan migrate:refresh d Phương thức hủy tất bảng tạo Migration reset php artisan migtate:reset 29GIÁO TRÌNH LARAVEL 5.3 III – SEEDING Seeding ? Seeding Laravel lớp Seeder giúp khởi tạo liệu mẫu cho bảng liệu cách dễ dàng Các bước sử dụng Seeder để tạo liệu mẫu B1 Tạo file Seeder trùng tên với Migration quản lý bảng liệu php artisan make:seeder UsersTableSeeder B2 Gọi tới file Seeder class DatabaseSeeder $this->call(UsersTableSeeder::class); B3 Chạy Seeder php artisan db:seed B – BÀI TẬP I – BÀI TẬP THỰC HÀNH Xây dựng CSDL users_manager khai báo thông s ố để kết n ối Laravel đến CSDL Xây dựng bảng liệu users có trường thơng tin đây:  user_id: increments  user_fullname: string  user_name: string  user_pass: string 30GIÁO TRÌNH LARAVEL 5.3  user_mail: string  user_level: integer Thêm ghi mẫu cho bảng liệu users II – BÀI TẬP VỀ NHÀ Xây dựng CSDL vietpro-blog (Project cuối khóa) khai báo thơng s ố đ ể kết n ối Laravel đ ến CSDL Xây dựng bảng vp_user với trường thông tin nư sau:  user_id: increments  user_name: string  user_pass: string  user_img: string Xây dựng bảng vp_category với trường thông tin sau:  cat_id: increments  cat_name: string  cat_slug: string Xây dựng bảng vp_post với trường thông tin sau:  post_id: increments  post_cat: integer  post_name: string  post_slug: string  post_img: string 31GIÁO TRÌNH LARAVEL 5.3  post_conten: text  post_create: timestamp nullable  post_update: timestamp nullable ... class="footer">footer 13GIÁO TRÌNH LARAVEL 5.3 Ghi đè giao diện Ghi đè giao diện hình thức định nghĩa kh i giao diện khác s dụng vào vị trí giao diện cách triệu g i l i Cú pháp: Định nghĩa kh i giai diện... viewDemo @include('errors.note') III – VALIDATION 17GIÁO TRÌNH LARAVEL 5.3 Validation Validation trình kiểm tra tính hợp lệ thơng tin nh ập vào Form Ch ẳng h ạn nh kiểm tra email hợp lệ, liệu nhập... th i tạo l i tất bảng refresh php artisan migrate:refresh d Phương thức hủy tất bảng tạo Migration reset php artisan migtate:reset 29GIÁO TRÌNH LARAVEL 5.3 III – SEEDING Seeding ? Seeding Laravel

Ngày đăng: 27/02/2018, 10:38

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan