diff --git a/blade-template.md b/blade-template.md new file mode 100644 index 0000000..529fefd --- /dev/null +++ b/blade-template.md @@ -0,0 +1,64 @@ +### 1. Tổng quan +* [Blade](https://laravel.com/docs/master/blade) là một khuôn mẫu (template engine) đơn giản, mạnh mẽ được cung cấp bởi Laravel +* Không giống như những template PHP khác (Twig, etc..), blade không giới hạn việc sử dụng code PHP trong views +* Các file Blade sử dụng phần mở rộng là `blade.php` và được đặt ở trong thư mục `resources/views` +### 2. Thừa kế views +* Đây là một ưu điểm lớn trong việc sử dụng Blade template +* Khi sử dụng một template engine thì việc tái sử dụng lại layout là vô cùng quan trọng, điều này khiến chúng ta tránh được việc lặp code và có thể dễ dàng nâng cấp hoặc bảo trì +#### a. Khởi tạo layout +* Đầu tiên tạo file `layouts.blade.php`: +``` + +
+ +This is appended to the master sidebar.
+@endsection +@section('content') +This is my body content.
+@endsection +``` +* Ở đây `@parent` nhằm viết tiếp section `sidebar` chứ không ghi đè nó +* Có 2 cách đóng `@section` đó là `@endsection` và `@show`, trong đó `@section` +đơn thuần là đóng section còn `@show` sẽ đóng và thực hiện đánh dấu section đó bằng `@yield` +### 3. Hiển thị dữ liệu +* Để hiển thị dữ liệu ra view, chúng ta sử dụng cặp ngoặc nhọn `{{}}` +VD: Ta có route như sau +``` +// Biến name sẽ được gửi sang welcome +Route::get('greeting', function () { + return view('welcome', ['name' => 'Samantha']); +}); +``` +Để hiển thị biến name : `Hello, {{ $name }}` +* Về cơ bản `{{}}` tương đương với hàm `htmlspecialchars` của PHP, để hiển thị unescaped data ta sử dụng +`{!! $name !!}` +* Ngoài ra ta còn có thể in ra kết quả của các hàm trong PHP +* Hiển thị dữ liệu dạng JSON: +``` + +``` \ No newline at end of file diff --git a/html-css/bem.md b/html-css/bem.md index 25be2fc..091bef3 100644 --- a/html-css/bem.md +++ b/html-css/bem.md @@ -1,7 +1,7 @@ -#BEM (Block, Element, Modifier) là 1 quy tắc đặt tên cho các class trong HTML và CSS.Nó giúp cho lập trình viên hiểu rõ hơn về quan hệ giữa HTML và CSS trong 1 dự án. +# BEM (Block, Element, Modifier) là 1 quy tắc đặt tên cho các class trong HTML và CSS.Nó giúp cho lập trình viên hiểu rõ hơn về quan hệ giữa HTML và CSS trong 1 dự án. -##Cách đặt tên cho các thành phần: .[block-name]__[element_name]--[modifier-name] +## Cách đặt tên cho các thành phần: .[block-name]__[element_name]--[modifier-name] 1. Block được coi là thành phần lớn nhất: .btn {} . 2. Element là thành phần con của block và đằng trước tên của nó có thêm 2 dầu gạch dưới: .btn__price {} . @@ -21,14 +21,14 @@ ```` -##Quy tắc khi sử dụng vùng chọn cho CSS: +## Quy tắc khi sử dụng vùng chọn cho CSS: 1. Chỉ sử dụng class selector. 2. Không sử dụng id và tagname. 3. Không sử dụng class selector mà bị phụ thuôc vào blocks/elements ở page đó: -##Tại sao nên sử dụng bem: +## Tại sao nên sử dụng bem: 1. Khi nhìn vào tên của 1 class thì có thể biết được nó phụ thuộc vào class nào hoặc nó định nghĩa cho thành phần HTML nào. 2. Khi tạo style mới cho 1 thành phần.Chúng ta có thể tận dụng lại các modifier có sẵn mà không cần viết mới. diff --git a/html-css/convention.md b/html-css/convention.md index edd4925..4bbf870 100644 --- a/html-css/convention.md +++ b/html-css/convention.md @@ -44,7 +44,7 @@ // ... } -* Sau `:` phải có khoảng trắng ` ` +* Sau `:` phải có khoảng trắng ### Không tốt .selector{ @@ -91,7 +91,7 @@ # SCSS -* SCSS selector tối đa 3 lever +* SCSS selector tối đa 3 level ### Tốt @@ -128,9 +128,9 @@ } #Đặt tên cho class -- Khi đặt tên cho class theo cấu trúc `[Tên viết tắt của dự án]-[Chức năng của section]` +* Khi đặt tên cho class theo cấu trúc `[Tên viết tắt của dự án]-[Chức năng của section ]` #Phân chia section rõ ràng -- Phân chia section rõ ràng với từng chức năng của nó +* Phân chia section rõ ràng với từng chức năng của nó -Đặt tên class theo chức năng và hướng tới "Đối tượng" +* Đặt tên class theo chức năng và hướng tới "Đối tượng" diff --git a/html-css/html.md b/html-css/html.md index 9be9978..1e176b9 100644 --- a/html-css/html.md +++ b/html-css/html.md @@ -1,12 +1,12 @@ -#HTML Convention +# HTML Convention -##Tất cả các thẻ (tags) phải là chữ thường +## Tất cả các thẻ (tags) phải là chữ thường ```