Thứ tư, 11/09/2013 | 00:00 GMT+7

Cách cài đặt và bắt đầu với Twig trên VPS


Về cành cây

Twig là một công cụ mẫu hiện đại được thiết kế cho PHP, thân thiện với cả nhà thiết kế và nhà phát triển. Nó là một giải pháp thay thế rất tốt cho cách PHPTemplate để xây dựng logic trình bày của một ứng dụng web vì nó thể hiện trải nghiệm tạo khuôn mẫu rõ ràng hơn nhiều. Về mặt này, nó đi kèm với một cú pháp rất dễ hiểu và hạn chế bạn thực hiện các hoạt động PHP động trong file mẫu, điều mà bạn không nên làm.

Nếu bạn muốn sử dụng các khuôn khổ PHP để xây dựng các ứng dụng web, bạn nên xem Symfony2 vì nó được cài đặt sẵn Twig theo mặc định. Có một số hướng dẫn trên trang web này về cài đặt và sử dụng Symfony2, vì vậy bạn cũng có thể tiếp tục và xem chúng.

Trong hướng dẫn này, ta sẽ xem xét cách cài đặt Twig trên VPS và bắt đầu với nó. Đối với điều này, ta giả sử bạn đang chạy server cloud của riêng mình, tốt nhất là dựa trên Linux. Ta sẽ đi với LAMP đã được cài đặt, mặc dù database sẽ không thực sự được sử dụng trong hướng dẫn này. Twig yêu cầu PHP 5.2.4 trở lên để chạy và bạn cũng sẽ ổn với các web server khác ngoài Apache.

Tại sao Twig?

Hoặc tại sao bất kỳ động cơ tạo khuôn mẫu nào? Rất đơn giản: tách các mối quan tâm. Trước tiên, hãy chứng minh bằng cách tạo một folder dự án trong root tài liệu của web server (/ var / www ) có tên là twig :

cd /var/www
mkdir twig
cd twig

Thêm một vài folder cho ứng dụng nhỏ của ta : một cho các file php và một cho các file mẫu Twig của ta (tương ứng):

mkdir app
mkdir views

Bên trong folder ứng dụng , tạo một file php:

nano app/app.php

Vào đó, hãy dán đoạn mã sau để xuất Hello World lên trang:

<?php echo "<h1>Hello world!</h1>" ?>

Lưu file và trỏ trình duyệt của bạn đến file này. Nếu bạn theo dõi, điều này sẽ ở địa chỉ ip / twig / app / app của bạn. php . Bạn sẽ thấy câu lệnh được in ra một cách chính xác trong thẻ H1.

Bây giờ điều gì là sai với cách tiếp cận này? Nếu file PHP này trở nên phức tạp hơn nhiều (và nó sẽ xảy ra cho bất kỳ ứng dụng nào), bạn sẽ gặp vấn đề lớn với việc quản lý bố cục trang web của bạn . Ta vừa mã hóa thẻ H1 vào câu lệnh PHP echo , đó là một điều tồi tệ. Nếu bạn muốn một nhà thiết kế làm việc với nó, nhà thiết kế này sẽ phải tìm kiếm trong file này, đây là điều ta muốn ngăn chặn. Vì vậy, giải pháp là tách bản trình bày (bố cục) khỏi logic (lập trình) và cách tốt nhất để làm điều đó là sử dụng một công cụ mẫu như Twig. Ta sẽ quay lại ứng dụng nhỏ của bạn sau khi cài đặt Twig.

Cài đặt

Cách được khuyến khích để cài đặt Twig là thông qua Composer, công cụ quản lý phụ thuộc PHP. Nếu bạn không biết đây là gì, có một hướng dẫn khác mà bạn có thể xem để biết thêm thông tin. Nhưng đừng lo lắng, nó không phải là một vấn đề lớn, như bạn sẽ thấy trong giây lát.

Hãy download trình cài đặt Composer vào folder root của ứng dụng ( cành cây ):

cd /var/www/twig
curl -s http://getcomposer.org/installer | php

Thao tác này sẽ download một file duy nhất có tên là composer.phar , file này là file thực thi của Trình soạn thảo. Tiếp theo, tạo một file có tên composer.json ngay bên cạnh file đó:

nano composer.json

Và dán các dòng sau vào đó:

{
    "require": {
        "twig/twig": "1.*"
    }
}

Điều này làm cho ứng dụng của ta phụ thuộc vào công cụ tạo khuôn Twig. Bây giờ, hãy sử dụng lệnh composer để cài đặt các phụ thuộc:

php composer.phar install

Các file Twig được download folder nhà cung cấp / Twig . Nếu bạn thêm các phần phụ thuộc khác, chúng cũng sẽ được cài đặt trong folder nhà cung cấp .

Bây giờ ta cần "kết nối" nó với ứng dụng của bạn . Vì ta đã sử dụng Composer, ta có thể sử dụng chức năng autoloader của nó để tải tất cả các phụ thuộc mà ta đã cài đặt. Vì vậy, hãy mở file app.php của ta :

nano app/app.php 

Xóa mọi thứ bên trong và thêm dòng này lên đầu:

<?php require_once '../vendor/autoload.php'; ?>

Với dòng này, ta tải trình tải tự động Composer, lần lượt tải Twig. Nếu bạn đã cài đặt Twig theo cách khác, bạn sẽ phải yêu cầu trực tiếp trình tải tự động Twig:

require_once '/path/to/lib/Twig/Autoloader.php';
Twig_Autoloader::register();

Nhưng ta không cần làm điều này với Composer. Bên dưới câu lệnh request mà ta vừa viết, ta cần tìm file mẫu Twig và chuyển nó vào biến ta muốn in ra trang. Dán mã sau:

<?php $loader = new Twig_Loader_Filesystem('../views/'); ?>

<?php $twig = new Twig_Environment($loader); ?>

<?php echo $twig->render('page.html', array('text' => 'Hello world!')); ?>

Điều này làm gì ngay tại đây? Đầu tiên, ta tạo một đối tượng trình tải mà ta chuyển đường dẫn đến folder chứa các file mẫu của ta (thư mục dạng xem ta đã tạo trước đó hiện đang trống). Tiếp theo, ta tạo một đối tượng môi trường lưu trữ cấu hình. Và cuối cùng, phần thú vị nhất, phương thức kết xuất của đối tượng môi trường tải file mẫu được truyền làm đối số đầu tiên và hiển thị nó với các biến được truyền làm đối số thứ hai. Vì vậy, bây giờ ta cần tạo file page.html và bên trong ta sẽ có sẵn một biến chứa câu lệnh mà ta muốn in ra. Vì vậy, ta hãy làm điều đó:

nano views/page.html

Và bên trong, hãy dán những thứ sau:

<h1>{{ text }}</h1>

Nếu bạn lưu file và reload file app.php trong trình duyệt, bạn sẽ nhận được cùng một văn bản được in giữa các thẻ H1. Nhưng bây giờ, ta có file riêng biệt này, ta có thể chơi xung quanh để hiển thị nó theo cách ta muốn. Và các biến mà ta đã chuyển qua hàm kết xuất hiện có sẵn để được in giữa các dấu ngoặc nhọn kép.

Vì vậy, bạn có thể tiếp tục và thử nghiệm với file này và tự mình thử nghiệm. Bạn có thể chuyển nhiều biến vào mẫu, sử dụng chúng trong cấu trúc điều khiển, xử lý chúng thông qua các hàm tạo mẫu hoặc thậm chí áp dụng bộ lọc Twig

Kết luận

Trong hướng dẫn này, ta đã biết cách cài đặt Twig với Composer và cách bắt đầu in các biến đơn giản trên một trang bằng các file mẫu riêng biệt. Trong hướng dẫn tiếp theo, ta sẽ đi sâu hơn một chút vào việc sử dụng cú pháp Twig để xây dựng các file mẫu của bạn.

Bài viết gửi bởi: Danny

Tags:

Các tin liên quan