12/08/2018, 16:24

Laravel 5.4 Helper P.3 (end) - Miscellaneous

P.3 Các hàm khác abort() Hàm abort ném về một HTTP exception nó sẽ được render bởi exception handler: abort(401); Ngoài ra nó còn cho phép đoạn text khi có response texception: abort(401, 'Unauthorized.'); abort_if() Hàm abort_if trả về một HTTP exception nếu biểu thức có giá trị ...

P.3 Các hàm khác

abort()

Hàm abort ném về một HTTP exception nó sẽ được render bởi exception handler:

abort(401);

Ngoài ra nó còn cho phép đoạn text khi có response texception:

abort(401, 'Unauthorized.');

abort_if()

Hàm abort_if trả về một HTTP exception nếu biểu thức có giá trị true:

abort_if(! Auth::user()->isAdmin(), 403);

abort_unless()

Hàm abort_unless ném về một HTTP exception nếu biểu thức có giá trị false:

abort_unless(Auth::user()->isAdmin(), 403);

auth()

Hàm auth trả về một instance của authenticator. Bạn có thể sử dụng nó thay vì Auth facade:

$user = auth()->user();

back()

Hàm back() sinh ra một response để redirect lại location trước của user:

return back();

bcrypt()

Hàm bcrypt thực hiện hash một giá trị sử dụng Bcrypt. Bạn có thể sử dụng nó như một cách thay thế cho Hash facade:

$password = bcrypt('my-secret-password');

cache()

Hàm cache được sử dụng để lấy giá trị từ Cache. Nếu key không tồn tại trong cache, một giá trị mặc định sẽ được trả về:

$value = cache('key');

$value = cache('key', 'default');

Bạn có thể thêm các item vào cache bằng cách truyền vào một mảng các cặp key / value vào hàm. Bạn cũng có thẻ truyền vào số phút hoặc thời gian cache sẽ hết hạn:

cache(['key' => 'value'], 5);

cache(['key' => 'value'], Carbon::now()->addSeconds(10));

collect()

Hàm collect tạo một instance của collection từ items được cung cấp:

$collection = collect(['taylor', 'abigail']);

config()

Hàm config lấy giá trị của một biến cấu hình. Giá trị cấu hình có thể truy xuất sử dụng kí hiệu "dấu chấm", bao gồm tên file và thông số muốn lấy ra. Giá trị mặc định có thể được truyền vào và trả lại nếu giá trị cấu hình không tồn tại:

$value = config('app.timezone');

$value = config('app.timezone', $default);

Hàm config cũng có thể được dùng để đặt giá trị biến cấu hình lúc chạy bằng cách truyền vào một mảng các cặp key / value:

config(['app.debug' => true]);

csrf_field()

Hàm csrf_field sinh ra một trường HTML input hidden icó chứa giá trị token CSRF. Ví dụ, khi sử dụng Blade syntax:

{{ csrf_field() }}

csrf_token()

Hàm csrf_token trả về giá trị của token CSRF hiện tại:

$token = csrf_token();

dd()

Hàm dd được dùng để dump một biến ra và dừng việc thực thi script:

dd($value);

dd($value1, $value2, $value3, ...);

If you do not want to halt the execution of your script, use the dump function instead:

dump($value);

dispatch()

Hàm dispatch đẩy một job mới vào trong Laravel job queue:

dispatch(new AppJobsSendEmails);

env()

Hàm env lấy giá trị của biến môi trường hoặc trả lại giá trị mặc định:

$env = env('APP_ENV');

// Return a default value if the variable doesn't exist...
$env = env('APP_ENV', 'production');

event()

Hàm event đẩy một event tới các listeners:

event(new UserRegistered($user));

factory()

Hàm factory tạo một builder cho model factory cho một class, với tên và số lượng. Nó có thể sử dụng trong testing or seeding:

$user = factory(AppUser::class)->make();

info()

Hàm info viết thông tin vào log:

info('Some helpful information!');

Bạn cũng có thể truyền một mảng vào hàm như là đối số thứ hai:

info('User login attempt failed.', ['id' => $user->id]);

logger()

Hàm logger có thể sử dụng để viết level debug nội dung vào log:

logger('Debug message');

Bạn cũng có thể truyền vào một mảng vào hàm như đối số thứ hai:

logger('User has logged in.', ['id' => $user->id]);

Một logger instance sẽ được trả về nếu không có giá trị được truyền vào hàm:

logger()->error('You are not allowed here.');

method_field()

Hàm method_field tạo ra một trường HTML hidden chứa giá trị của động từ HTTP. Ví dụ, sử dụng Blade syntax:

<form method="POST">
    {{ method_field('DELETE') }}
</form>

old()

Hàm old lấy giá trị input cũ flash vào trong session:

$value = old('value');

$value = old('value', 'default');

redirect()

Hàm redirect trả về một instance của redirector để thực hiện, hoặc trả về một redirector instance nếu hàm không có tham số truyền vào:

return redirect('/home');

return redirect()->route('route.name');

request()

Hàm request trả về instance của request hiện tại hay lấy item input:

$request = request();

$value = request('key', $default = null)

response()

Hàm response tạo một instance của response instance hoặc lấy instance của response factory:

return response('Hello World', 200, $headers);

return response()->json(['foo' => 'bar'], 200, $headers);

session()

Hàm session có thể được dùng để get / set giá trị cho session:

$value = session('key');

Bạn có thể set giá trị bằng cách truyền một mảng key / value vào hàm:

session(['chairs' => 7, 'instruments' => 3]);

Session store sẽ được trả lại nếu không có giá trị nào truyền vào hàm:

$value = session()->get('key');

session()->put('key', $value);

value()

Hàm value đơn giản chỉ trả về giá trị được cung cấp. Tuy nhiên, nếu bạn truyền vào một Closure tthì Closure sẽ được thực thi và trả lại giá trị trong đó:

$value = value(function() { return 'bar'; });

view()

Hàm view lấy giá trị từ instance của view:

return view('auth.login');

retry()

Chức năng thử lại cố gắng thực hiện call backcho đến khi nó đạt đến mức tối đa cho phép. Nếu việc callback không throw ra lỗi thì phần giá trị sẽ được trả lại như bình thường . Nếu callback throws một ngoại lệ, nó sẽ tự động được thử lại. Nếu vượt quá số lần thực thi, nó sẽ throw ra exception:

return retry(5, function () {
    nó sẽ thự thi 5 lần và thời gian thực thi giữa các lần là 100 mini giây
}, 100);

Nguồn: https://laravel.com/docs/5.4/helpers

0