Làm thứ làm cho Laravel Request của bạn thú vị hơn

PHP Laravel – Buổi 1

Chào các bạn, nay mình mới qua bài Laravel ở LTW2, mình xin show những gì mình học dc buổi hôm nay cho 😀

Nói sơ về Laravel, Laravel là một Framework của PHP đã được xây dựng hoàn chỉnh, phiên bản hiện tại cao nhất là 5.4.9, còn mình thì ở đây sẽ xài phiên bản Laravel 5.0.22, sử dụng bằng Ampps và xài PHP 7.0 mới nhất. Laravel được coi là một trong những framework tốt của PHP tuy nhiên bù lại rất là khó học, vậy nên chúng ta bắt đầu từ những cái cơ bản nhất nhé 😀

Các thứ mình được biết vào buổi này:

  1. Dùng Ampps và chọn PHP 7.0
  2. Cách thiết lập và sử dụng Laravel 5
  3. Sử dụng cơ bản và Routes

Tuần này mới tiếp cận Laravel nên đơn giản là vậy :D. Bắt đầu nhé 😀

1/ Tải Ampps và config PHP 7.0

Link: http://www.ampps.com/downloads

Tải bản mới nhất rồi cài bình thường, bật lên chọn PHP 7.0 nha

2/ Thiết lập Laravel 5 và bắt đầu sử dụng

Đầu tiên tải Composer: https://getcomposer.org/download/

Trong lúc cài Composer thì dẫn nó tới  thư mục PHP 7 php.exe

Sau đó dùng lệnh này để cài Laravel (khá lâu):

composer create-project laravel/laravel {directory} “5.0.*” –prefer-dist

Chỗ in đậm là có thể thay đổi nha, thư mục của bạn ý.

Sau khi cài xong bạn có thể chạy http://localhost/tenthumuc/public, nếu hiện là thành công

3/ Sử dụng cơ bản và Routes

Các thư mục chúng ta sẽ sử dụng nhiều:

  • app/Http/Controllers – Controller của web
  • resource/views – View của Web
  • public – Chứa các file css, js template
  • config – Chứa các file cấu hình
  • .env – Chứa cấu hình MySQL
  • app/Model – Model của web, thư mục này ko có ta tự tạo nha

Và khi tập sử dụng, chúng ta hãy bắt đầu tìm hiểu Routes. File routes ở: app/Http/route.php

Mình sẽ nói sơ về Route nha, Route có 2 loại sẽ xài thường xuyên:

  • Route::get
  • Route::post

Trong đây mình sẽ ví dụ về get, ở đây, ta thấy:

Route::get('/', 'WelcomeController@index');
Trong đó, tham số:
  1. ‘/’ thể hiện cho thư mục root (vd folder của bạn là test, thì link sẽ là: http://localhost/test)
  2. WelcomeController => là tên của Controller sử dụng
  3. index => là phương thức trong Controller

Khi vào http://localhost/test thì phương thức index trong WelcomeController sẽ được chạy.

Các bạn cũng có thể thử tạo 1 controller riêng cho mình, mình sẽ ví dụ

File: app/Http/Controllers/TestController.php (tên file quan trọng lắm nha, nhớ ghi hoa)

Nội dung (các bạn có thể copy từ các Controller đã có sẵn và sửa lại):

<?php namespace App\Http\Controllers;

class TestController extends Controller {

	/*
	|--------------------------------------------------------------------------
	| Test Controller
	|--------------------------------------------------------------------------
	|
	| This controller renders the "marketing page" for the application and
	| is configured to only allow guests. Like most of the other sample
	| controllers, you are free to modify or remove it as you desire.
	|
	*/

	/**
	 * Create a new controller instance.
	 *
	 * @return void
	 */
	public function __construct()
	{
		$this->middleware('guest');
	}

	/**
	 * Show the application welcome screen to the user.
	 *
	 * @return Response
	 */
	public function test()
	{
		return view('testview');
	}

}

Như các bạn thấy trong file, mình xài phương thức test() để xuất ra view.

Hàm view dùng để lấy view ra và xuất ra nhé. Mình sẽ tạo 1 view mới luôn (testview)

File: resource/views/testview.blade.php

<html>
<body>
<h1>Welcome to Laravel</h1>
</body>
</html>

Chỉ đơn giản là xuất ra câu chào thôi.

Và route mình tạo sẽ là:

Route::get("/test", "TestController@test");

Và khi chạy http://localhost/thumuc/test, nó sẽ xuất hiện ra dòng chào của mình 😀

3.1/ Routes có tham số, giới hạn đầu vào

Đây là 2 routes có tham số đơn giản nha:

Route::get("/post/{id}", function($id) {
// co the dung bien $id
});
Route::get("/show/{name}", function($name) {
// co the dung bien $name
});

Bạn có thể giới hạn đầu vào như only number, only a-Z. Bằng Regular Expression của Laravel

Route::get("/post/{id}", function($id) {
// co the dung bien $id, bien $id chi co so
})->where("[0-9]+");
Route::get("/show/{name}", function($name) {
// co the dung bien $name, $name chi co chu
})->where("[A-Za-z]+");

3.2/ Đặt tên cho Routes

Mục đích: để dễ dàng lấy URL từ route đã được đặt tên

Có 3 cách đặt tên như sau:

// cach 1
Route::get("/post", "TestController@test")->name('post');

// cach 2
Route::get("/post", ['as' => 'post', function() {
// do something in here
}]);

// cach 3
Route::get("/post", [
'as' => 'post', 
'uses' => 'TestController@test'
}]);

Tùy vào 3 trường hợp mà các bạn chọn cách phù hợp nhất nhé 😀

Cách lấy URL ra từ Routes, dùng hàm route(‘tên route đã đặt’):

$URL = route('post');

 

Hôm nay chỉ tới đây thôi, hẹn các bạn tuần sau nữa nhé 😀

facebook
Seth Phát

Seth Phát

Mình là Phát - biệt danh Seth Phát. Hiện đang là một Sr. Full-Stack Engineer. Mình là một người yêu thích và đam mê lập trình và hiện tại đang theo về phần Web là chủ yếu. Mạnh Back-end và khá Front-end, vẫn đang theo đều cả 2 :v. Còn gì bằng khi được làm những thứ mà mình yêu thích, đam mê ;)

One thought on “PHP Laravel – Buổi 1

Comments are closed.

Bình luận qua Facebook