Nghiên cứu basic về Laravel

Tram Ho

Các câu lệnh cơ bản:

  • Xem version php

  • Xem đường dẫn php

sau câu lệnh này, thấy đường dẫn dạng: /usr/bin/php thì kiểu này dùng mặc định php đã setup vào trong máy.
thay đổi mặc định bằng cách vào ~/.bash_profile edit lại đường dẫn dạng như sau: export PATH=/Applications/XAMPP/xamppfiles/bin:$PATH

Sau khi edit xong, gọi lệnh source ~/.bash_prpfile để apply thay đổi.

Debug:

Debug log in each view

Debug sql query:

Eloquent ORM trong Laravel

  • Mỗi bảng trong csdl tương ứng với 1 model.
  • Model cho phép query, insert, update table trong db.

Lệnh tạo 1 model:

Facade:

What ?

  • Facade cung cấp 1 static interface cho các Class sẵn có trong service container.
  • Larvel cung cấp hầu hết đầy đủ các facade để làm việc với các features của Laravel.

vd:

Khi nào sử dụng ?

  • Có nhiều lợi ích như: ngắn gọn, dễ nhớ để sử dụng hết tất cả các features của Laravel mà ko phải nhớ hết các Class có tên rất dài.
  • Sử dụng để dễ dàng tạo trong việc testing. ( dạng interface)

Facade & Dependence Injection:

  • facades use dynamic methods to proxy method calls to objects resolved from the service container, we actually can test facades just as we would test an injected class instance.

ex:

Viết test để verify Cache::get:

Facade work ntn?

  • The Facade base class makes use of the __callStatic() magic-method to defer calls from your facade to an object resolved from the container
  • vd:

Blade Templates trong Laravel:

What?

Blade là công cụ tạo khuôn mẫu đơn giản nhưng mạnh mẽ được cung cấp với Laravel. Ko giống như các template php engine khác, Blade ko hạn chế sử dụng code PHP trong view. Các đoạn mã Blade thì được biên dịch thành code PHP thuần & lưu vào bộ nhớ cache cho đến khi nó được thay đổi. Blade view sử dụng : .blade.php nằm trong thư mục resources/views

Kế thừa template ( Template Inheritance):

Tạo 1 layout

2 Mục đích quan trong khi sử dụng blade : kế thừa template & sections. Xem vd:

Ở 1 template khác sẽ khai báo 1 section content thì content sẽ được vẽ ngay đoạn yield

section : định 1 nội dung
yield: dùng để hiển thị nội dung của section.

Mở rộng cho 1 layout

Khi tạo ra 1 view con, sử dụng Blade @extends để chỉ định bố cục mà view con sẽ kế thừa.
vd :

@parent: để thay thế nội dụng ở thằng view cha.

Components & Slots

Tạo component để hiển thị trong {{ $slot }}

multiple slots for a component

Define component

Note Blade:

{{ }} : Blade gửi data qua PHP qua chức năng : htmlspecialchars.

{!! $name !!} : gửi mà ko muốn data escaped.

@if @elseif .. điều kiện



Include sub-view:

Render View cho Collections:
Chia sẻ bài viết ngay

Nguồn bài viết : Viblo