PHP và AngularJS

Nhắc đến AngularJS chắc hẳn nhiều lập trình viên Việt Nam sẽ thấy lạ lẫm. Phần vì AngularJS không nổi tiếng như jQuery nên không thu hút được nhiều sự chú ý, phần vì AngularJS không được ứng dụng nhiều trong các dự án do các lập trình viên Việt Nam làm nên những cái hay cái dở của nó chưa được liệt kê và áp dụng.

Giống như jQuery, AngularJS là một Javascript framework. Nó hoàn toàn miễn phí và do Google nắm bản quyền và hỗ trợ. Cho nên chúng ta hoàn toàn yên tâm về tương lai tươi sáng của nó.

Định nghĩa về AngularJS theo như Wikipedia

AngularJS is an open-source JavaScript framework, maintained by Google, that assists with running what are known as single-page applications. Its goal is to augment browser-based applications with model–view–controller (MVC) capability, in an effort to make both development and testing easier.

The library reads in HTML that contains additional custom tag attributes; it then obeys the directives in those custom attributes, and binds input or output parts of the page to a model represented by standard JavaScript variables. The values of those JavaScript variables can be manually set, or retrieved from static or dynamic JSON resources.

Điều mà mình thấy hấp dẫn nhất ở AngularJS chính là việc nó được thiết kế để hoạt động theo mô hình MVC (Model-View-Controller). Nếu bạn nào đang lập trình PHP thì không thể không biết đến mô hình này. Việc tách bạch giữa các phần trong mô hình MVC khiến cho chúng ta dễ quản lý, code thông thoáng, rõ ràng và dễ dàng trong việc chia sẻ cũng như bảo trì sau này.

Code của AngularJS rất ngắn gọn. Nó ngắn gọn hơn cả code của jQuery.

AngularJS mang trong mình tốc độ xử lý, hiệu năng cao và thật sự mềm dẻo!

 

Hãy cùng học AngularJS và chia sẻ tất cả thông tin về nó nhé!

 

Advertisements

Website đa ngôn ngữ trong PHP

Website đa ngôn ngữ trong PHP vẫn luôn là vấn đề muôn thuở của các lập trình viên.

Có 2 cách để hiển thị giao diện đa ngôn ngữ:

Cách 1: Tạo ra các file ngôn ngữ tương ứng. Ví dụ: vi.lng.php và en.lng.php

Cách 2: Sử dụng Google Translate. Tuy nhiên cách này sẽ gặp phải vấn đề là nhỡ đâu Google dịch sai ý nghĩa của câu từ thì sao, hoặc dịch từ tiếng nước ngoài sang tiếng Việt mà chúng ta cảm thấy không ưng ý hay hài lòng.

Trong bài viết hướng dẫn ngay sau đây, mình sẽ hướng dẫn các bạn một cách thật cụ tỉ nhất có thể. Các bạn chỉ cần đọc một lần là sẽ làm được ngay! 

Mình sẽ hướng dẫn các bạn làm theo cách đầu tiên (cách 1).

Đầu tiên các bạn tạo 1 project mới, có cấu trúc thư mục giống như hình bên dưới.

planguage

Đầu tiên các bạn tạo 1 folder và đặt tên nó là languages

Trong folder này, các bạn tạo ra 2 file ngôn ngữ, 1 cho tiếng Việt và 1 cho tiếng Anh. Đó là vi.lng.phpen.lng.php

2 file này có dữ liệu như sau

vi.lng.php

<?php
$main[‘language’] = “Ngôn ngữ”;
$main[‘welcome’] = “Chào mừng đến với blog PHPGO”;
$main[‘author’] = “Đây là blog của tác giả Lưu Văn Phong”;
$main[‘en-en’] = “Tiếng Anh”;
$main[‘en-vi’] = “Tiếng Việt”;
?>

en.lng.php

<?php
$main[‘language’] = “Language”;
$main[‘welcome’] = “Welcome to PHPGO blog”;
$main[‘author’] = “This is the blog of Luu Van Phong”;
$main[‘en-en’] = “English”;
$main[‘en-vi’] = “Vietnamese”;
?>

Các bạn chú ý nhé! Ngôn ngữ cho màn hình nào thì hãy đặt tên sao cho giống với màn hình đó. Ví dụ: mình đang xây dựng đa ngôn ngữ cho màn hình main.php, cho nên như các bạn có thể thấy mình bắt đầu bằng $main[‘language’] = “Language”;

Mình tạo ra một class tên là LanguageHelper để giúp xử lý việc trả về ngôn ngữ mà user đã lựa chọn từ dropdownlist.

<?php
/**
* Hiển thị giao diện đa ngôn ngữ của website
* @author Lưu Văn Phong <luuvanphong@outlook.com>
* @link https://phpgo.wordpress.com Tất cả các vấn đề liên quan đến PHP
*/

class LanguageHelper {
/**
* Kiểm tra xem user chọn hiển thị ngôn ngữ gì từ Dropdownlist
* Nếu chọn Tiếng Việt thì hiển thị Tiếng Việt, ngược lại thì hiển thị Tiếng Anh
* Mặc định ban đầu là Tiếng Việt
*/
function checkLang()
{
if (isset($_GET[‘lang’]))
{
$lang = $_GET[‘lang’];
return “languages/$lang.lng.php”;
}
else return “languages/vi.lng.php”;
}
}
?>

Và cuối cùng là việc hiển thị giao diện đa ngôn ngữ ở trang main.php

<!DOCTYPE html>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>
<title>Website đa ngôn ngữ trong PHP</title>
<!– Xử lý việc thay đổi ngôn ngữ khi user lựa chọn trong Dropdownlist –>
<script language=”javascript”>
function changeValue(val)
{
if (val===”vi”) {
window.location.href = “?lang=vi”; }
else {
window.location.href = “?lang=en”; }
}
</script>
</head>
<body>
<?php
/**
* Hiển thị giao diện đa ngôn ngữ của website
* @author Lưu Văn Phong <luuvanphong@outlook.com>
* @link https://phpgo.wordpress.com Tất cả các vấn đề liên quan đến PHP
*/

// Include LanguageHelper class
include_once ‘LanguageHelper.php’;

// Gọi hàm checkLang để xem user chọn ngôn ngữ nào
$object = new LanguageHelper();
$lang = $object->checkLang();

// User chọn ngôn ngữ nào thì mình sẽ include file ngôn ngữ đó vào page
include_once($lang);

// Hiển thị giao diện ngôn ngữ dựa vào option được chọn
$vi = $main[‘en-vi’];
$en = $main[‘en-en’];
$language = $main[‘language’];
$welcome = $main[‘welcome’];
$author = $main[‘author’];

echo <<<_LANGUAGE_
<form>
<b>$language:</b>
<select name=”lang” id=”lang” onchange=”changeValue(this.value)”>

_LANGUAGE_;
if (isset($_GET[‘lang’]))
{
if ($_GET[‘lang’] == “vi”)
{
echo <<<_LANGUAGE_
<option value=”vi” selected=”selected”>$vi</option>
<option value=”en”>$en</option>
_LANGUAGE_;
}
else
{
echo <<<_LANGUAGE_
<option value=”vi”>$vi</option>
<option value=”en” selected=”selected”>$en</option>
_LANGUAGE_;
}
echo <<<_LANGUAGE_
</select>
<p>$welcome</p>
<p>$author</p>
</form>
_LANGUAGE_;
}
else
{
echo <<<_LANGUAGE_
<option value=”vi” selected=”selected”>$vi</option>
<option value=”en”>$en</option>
</select>
<p>$welcome</p>
<p>$author</p>
</form>
_LANGUAGE_;
}
?>
</body>
</html>

Các bạn có thể tải về toàn bộ source code tại đây! Chúc các bạn thành công!  🙂