Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Hàm bindtextdomain() trong PHP – Lấy/đặt đường dẫn domain

Hàm bindtextdomain() trong PHP dùng để đặt hoặc lấy đường dẫn (path) của một domain (thường dùng cho hệ thống bản địa hóa/gettext).

Cú pháp

string bindtextdomain(string $domain, string|false $directory)

Tham số

Tham số Mô tả
$domain Tên domain (message domain).
$directory Đường dẫn thư mục chứa file .mo. Nếu null hoặc false, hàm trả về đường dẫn hiện tại đang set.

Giá trị trả về

Trả về đường dẫn đầy đủ (full pathname) của domain hiện tại. Trả về false nếu thất bại.

Ví dụ

<?php
$domain = 'xampp';
// Đặt đường dẫn và lấy đường dẫn đã set
echo bindtextdomain($domain, 'C:\xampp\htdocs');
// Output: C:\xampp\htdocs
?>

Bối cảnh sử dụng (i18n/gettext)

<?php
// Thiết lập locale
setlocale(LC_ALL, 'vi_VN.utf8');

// Chỉ định domain
$domain = 'messages';
bindtextdomain($domain, __DIR__ . '/locale');
textdomain($domain);

// Sử dụng
echo _("Hello World");  // Tìm trong locale/vi_VN/LC_MESSAGES/messages.mo
?>

Lưu ý

  • Cần extension gettext.
  • Thư mục cấu trúc chuẩn: locale//LC_MESSAGES/.mo.
  • Dùng bind_textdomain_codeset() để set encoding (UTF-8).