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:
- Dùng Ampps và chọn PHP 7.0
- Cách thiết lập và sử dụng Laravel 5
- 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ố:
- ‘/’ thể hiện cho thư mục root (vd folder của bạn là test, thì link sẽ là: http://localhost/test)
- WelcomeController => là tên của Controller sử dụng
- 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é 😀
One thought on “PHP Laravel – Buổi 1”
Comments are closed.