Lập trình website bằng LARAVEL framework

31 413 2
Lập trình website bằng LARAVEL framework

Đ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

Hướng dẫn lập trình website từ A đến Z bằng LARAVEL framework. Hướng dẫn chi tiết cho người mới bắt đầu, hoàn chỉnh một website thương mại điện tử. Học theo tài liệu này đảm bảo bạn có thể thành thạo lập trình LARAVEL và được làm quen với cách làm một dự án thực tế

1 GIÁ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 phát triển bên thứ ba khác nhau, PHP Framework có ưu, nhược điể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 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 lock khỏi tài khoản admin, 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 GIÁ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ọ 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 GIÁO TRÌNH LARAVEL 5.3 Nhận tham số truyền địa trình duyệt để thực thi 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 ''; }); GIÁ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ý thự Controller, liệu cần đẩy đâu, điều hướng đến nới 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 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; GIÁ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'); GIÁ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ố 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ả từ Controller túy, khơng co thuật tố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 Template Enzine (Laravel sử dụng Blade Template mà học buổi sau) Tạo View GIÁO TRÌNH LARAVEL 5.3 Để tạo View bạn tìm tới thư mục resources/views/ tạo file php 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 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'; GIÁO TRÌNH LARAVEL 5.3 return view('admin.demoView', $arr); } } View Ví dụ 2: Controller class DemoController extends Controller { public function demo(){ $arr = [ 'khoahoc'=>'Laravel', 'trungtam'=>'Vietpro' ]; return view('admin.demoView', $arr); } } View GIÁO TRÌNH LARAVEL 5.3 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 10 GIÁ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 tồ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 17 GIÁO TRÌNH LARAVEL 5.3 III – VALIDATION 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 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); 18 GIÁO TRÌNH LARAVEL 5.3 Trong đó:  $request thơng tin Form nhiều thông tin khác nhận 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 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ụ 19 GIÁ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 20 GIÁ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 liệu 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'); }); 21 GIÁ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ụ: 22 GIÁ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){ 23 GIÁ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')){ // } 24 GIÁ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 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 25 GIÁ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 26 GIÁO TRÌNH LARAVEL 5.3 Kết quả: 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 27 GIÁO TRÌNH LARAVEL 5.3 Kết quả: 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'); 28 GIÁO TRÌNH LARAVEL 5.3 $table->string('user_pass'); $table->text('user_info'); $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 29 GIÁO TRÌNH LARAVEL 5.3 d Phương thức hủy tất bảng tạo Migration reset php artisan migtate:reset 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 30 GIÁO TRÌNH LARAVEL 5.3  user_fullname: string  user_name: string  user_pass: string  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 31 GIÁO TRÌNH LARAVEL 5.3  post_name: string  post_slug: string  post_img: string  post_conten: text  post_create: timestamp nullable  post_update: timestamp nullable ... GIÁO TRÌNH LARAVEL 5.3 II – ERRORS VIEW Error View ? Trong Laravel Error View sử dụng để giúp lập trình viên tạo cảnh báo thơng báo từ hệ thống cho View Error BTPL (Blade Template) lập trình. ..2 GIÁ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... http://localhost/vietpro/home 20 GIÁ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 liệu thêm,

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

Từ khóa liên quan

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

Tài liệu liên quan