Hướng dẫn dùng qué es trong PHP

Trong bài này, chúng ta sẽ tìm hiểu về hằng số trong PHP.

Nội dung chính

  • Làm thế nào để truy cập vào giá trị không đổi trong lớp?
  • Làm thế nào để truy cập vào giá trị không đổi bên ngoài lớp?
  • Mục tiêu của việc quốc tế hóa
  • Cách hoạt động của I18n
  • Cấu hình hỗ trợ I18n
  • Tạo file cấu hình I18n
  • Kích hoạt I18n và chọn một ngôn ngữ
  • Sử dụng bộ tạo mã Gii của Yii với I18n
  • Dịch các file Message của bạn
  • Tiến xa hơn với I18n
  • TIếp theo là gì?
  • Liên kết liên quan

  • Hằng số được sử dụng để lưu trữ một số giá trị không thay đổi trong quá trình thực thi chương trình.
  • Chúng ta có thể khai báo hằng số bằng cách sử dụng không thay đổi từ khóa theo sau là tên của hằng số.
  • Tên của hằng có phân biệt chữ hoa chữ thường, tuy nhiên, trong PHP, bạn nên đặt tên hằng bằng chữ hoa.

Hằng số trong PHP

Làm thế nào để truy cập vào giá trị không đổi trong lớp?

Chúng ta có thể nhận giá trị của hằng số trong lớp bằng cách sử dụng từ khóa self, một toán tử phân giải phạm vi :: và tên của hằng số. Hãy xem ví dụ sau.

Làm thế nào để truy cập vào giá trị không đổi bên ngoài lớp?

Chúng ta cũng có thể nhận giá trị của hằng số bên ngoài lớp. Viết tên của lớp, toán tử phân giải phạm vi :: và tên của hằng số, Nhìn vào ví dụ sau.

Tham chiếu chính thức đến các toán tử PHP.

Đây là phần bốn trong loạt bài Xây dựng Khởi nghiệp Với PHP của bạn trên Tuts. Trong loạt bài này, tôi hướng dẫn bạn thông qua việc khởi chạy một khởi động từ khái niệm này sang thực tế bằng ứng dụng Meeting Planner của tôi như một ví dụ thực tế về cuộc sống. Mỗi bước trong bài viết, chúng tôi sẽ phát hành code của Meeting Planner làm ví dụ nguồn mở mà bạn có thể học hỏi. Chúng tôi cũng sẽ giải quyết các vấn đề kinh doanh phát sinh có liên quan đến startup.

Trong hướng dẫn này, tôi muốn quay trở lại và thêm phần hỗ trợ quốc tế hóa I18n vào ứng dụng của chúng ta trước khi chúng ta xây dựng nhiều code hơn nữa. Theo Wikipedia, I18n là một tên số:

18 là viết tắt của số lượng chữ cái giữa chữ I đầu tiên và n cuối cùng trong quá trình quốc tế hóa, một cách sử dụng được đặt ra vào tháng 12 năm 1970 hoặc thập niên 80.

Với I18n, tất cả các chuỗi văn bản được hiển thị cho người dùng từ ứng dụng được thay thế bằng các việc gọi hàm có thể tự động tải chuỗi đã dịch cho bất kỳ ngôn ngữ nào mà người dùng chọn.

Tất cả mã cho Công cụ lập kế hoạch cuộc họp được viết trong Khung công tác Yii2 cho PHP, đã hỗ trợ sẵn cho I18n. Nếu bạn muốn tìm hiểu thêm về Yii2, hãy xem loạt bài Programming with Yii2 của chúng tôi tại Tuts.

Chỉ xin nhắc rằng, tôi tham gia vào các chủ đề bình luận dưới đây. Tôi đặc biệt quan tâm nếu bạn có các cách tiếp cận khác nhau hoặc các ý tưởng bổ sung hoặc muốn đề xuất các chủ đề cho các hướng dẫn trong tương lai.

Mục tiêu của việc quốc tế hóa

Khi xây dựng một startup, sẽ rất hữu ích khi suy nghĩ toàn cầu ngay từ đầu - nhưng không phải lúc nào cũng vậy. Thay vào đó, có thể chỉ tập trung vào xây dựng cho thị trường nội địa của bạn. Sản phẩm tối thiểu của bạn có cần phải hoạt động ở các ngôn ngữ khác cho người dùng từ các quốc gia khác nhau không?

Trong trường hợp của chúng tôi, framework Yii cung cấp hỗ trợ xây dựng sẵn cho I18n, vì vậy việc xây dựng hỗ trợ cho I18n ngay từ đầu cũng rất dễ dàng và cần nhiều thời gian để bổ sung nó sau này.

Cách hoạt động của I18n

I18n hoạt động bằng cách thay thế tất cả các tham chiếu đến văn bản được hiển thị cho người dùng bằng các cuộc gọi hàm cung cấp bản dịch khi cần.

Ví dụ, đây là những gì tên trường thuộc tính trong model Place trông giống như trước I18n:

public function attributeLabels[]
{
    return [
      'id' => 'ID',
       'name' => 'Name',
       'place_type' => 'Place Type',
       ...

Việc cung cấp các phiên bản mã đã dịch sẽ trở nên rất phức tạp. Người dịch không hiểu về kỹ thuật sẽ phải dịch mã, có khả năng phá vỡ cú pháp.

Đoạn code phía trên sẽ trông thế này với I18n:

public function attributeLabels[]
    {
        return [
          'id' => Yii::t['frontend', 'ID'],
           'name' => Yii::t['frontend', 'Name'],
           'place_type' => Yii::t['frontend', 'Place Type'],

Yii:t[] là một hàm để kiểm tra xem ngôn ngữ nào đang được chọn và hiển thị chuỗi đã dịch phù hợp. "front-end" đề cập đến một phần của ứng dụng của chúng tôi. Các bản dịch có thể được sắp xếp tùy theo các loại khác nhau. Nhưng, những chuỗi dịch này xuất hiện ở đâu?

Ngôn ngữ mặc định, trong trường hợp này là tiếng Anh, được viết vào mã, như được hiển thị ở trên. File tài nguyên ngôn ngữ là danh sách các mảng chuỗi có khóa là văn bản ngôn ngữ mặc định — ví dụ: "Place Type" — và mỗi file cung cấp giá trị văn bản đã dịch cho ngôn ngữ thích hợp của chúng.

Dưới đây là ví dụ về tệp dịch tiếng Tây Ban Nha hoàn chỉnh của chúng tôi, mã ngôn ngữ Hàm Yii:t[] sử dụng tệp này để tìm bản dịch phù hợp để hiển thị:

Chủ Đề