Symfony, how to install and use twing template in symfony - day 5

Twig trong symfony
Cũng giống như blade của Laravel thì symfony cũng có hỗ trợ 1 template riêng cho mình mang tên twig chúng ta cũng tìm hiểu cách cài đặc sử dụng nó và xem nó có gì hấp dẫn nhé.

Bước 1: cần cài đặc package twig vào bằng câu lệnh
composer require twig


Nếu không có lỗi xãy ra thì kết quả như trên
Đến đây thì bạn đã có thể sữ dụng twig rồi, nhớ lại ngày 2 chúng ta đã tạo ra file controller ArticleController phải không? giờ mở file đó ra và thử nghiệm ngay nào.

Đầu tiên thì mình phải gọi class abstractcontroller ra mới sữ dụng được bằng cách
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;

Sau đó thì extends AbstractController ra sài thôi


Class ArticleController sẽ extends lớp AbstractController ra

Ở đây thì bạn đã thấy nó giông với những framwork khác chưa hehe
Tạo 1 array ra truyền ra view bằng cách return $this->render('folder/file html', array);

Tiếp đến sau khi bạn cài twig thì trong source bạn sẽ thấy có thêm 1 folder là templates ở đây mình sẽ tạo 1 folder article và 1 file mới tên là show.html.twig để render cái array $comments chúng ta vừa viết trong controller


Bạn nhìn lại trong file controller chúng ta có tạo ra 2 biến 1 là title 2 là array comment
Giờ ta sẽ render ra nhé


Với symfony thì cách khai báo ra không nhất thiết <?php echo $bien?>
mà chỉ cần {{ bien }} bất ngờ chưa không cần tới $ hay echo luôn hoặc {% bien %} cũng được luôn
tiện lợi ghê chưa twig

Đối với array thì chỉ cần:

{% for tenrender in arraytrongcontroller%}

{{tenrender}}

{% endfor %}

Ở trên mình có dùng {{comments|length}} để đếm số lượng phần tử trong mảng quá êm luôn không cần phức tạp như trc count hay .length.
Ngoày ra thì cần in đậm in hoa in thường thì cũng dễ thôi {{ name|upper|lower|upper|lower|upper }}
Bạn có thể xem thêm về twig ở đây:

https://twig.symfony.com/doc/3.x/

Nó có khá nhiều biến, function, filer mình có sẽ sử dụng

ah quên giờ ra view xem nó chạy được không nhé

Yes. ngon lành load ra không lỗi lầm gì, cũng giống những framwork khác chúng ta sẽ có 1 master page cho symfony, khi cài twig xong thì nó sẽ tạo ra 1 file base.html.twig trong folder templates

 Để sữ dụng nó chúng ta phải khai báo đầu file với từ khóa extends {% extends 'base.html.twig' %}
ah comment trong twig thì chúng ta phải dùng {#comment#} nhé


ê tại sao trong file lại lú ra thêm

{% block body %}

{% endblock %}

âhhahh hehe giờ mở cái master page base.html.twig ra xem nhé


Rõ rồi muốn đoạn code mình được load trong body thì phải sài {% block body %}
muốn add thêm stylesheets hoặc javascript thì cũng y vậy theo quy tắc mà chiến thôi.
ok giờ ra browser xem sao nhé

Yes, nó vẫn chạy, giờ thì thử view page source xem nó render ở đâu nha


Chuẩn thật khai báo trong block {%block body%} code mình gói gọn trong thẻ body thôi quá tuyệt đúng không nào.

Comments

  1. ngon lành luôn, kaka. viết blog luôn hả chú

    ReplyDelete
    Replies
    1. Bộ đang học Symfony nữa hay sao mà mò tới đây luôn rồi

      Delete

Post a Comment

Bài đăn phổ biến

Tính Bình Phương 1 Số Trong Python

Deploy website lên VPS hoặc Hosting với Gitlab CI/CD

Đổi tên "READ MORE" trong bài post

MỞ CAMERA VÀ CHỤP ẢNH BẰNG PHP