Không gian tên sử dụng PHP

Thông thường, bạn sẽ kết thúc bằng việc sử dụng các thư viện của bên thứ ba từ các nhà cung cấp khác nhau trong các ứng dụng PHP của mình. Bây giờ, có thể xảy ra xung đột giữa hai hoặc nhiều thư viện nếu thư viện cố gắng sử dụng lại tên đã được thư viện khác sử dụng trong ứng dụng của bạn. Như bạn có thể biết, nếu bạn có một lớp, hàm hoặc hằng số được khai báo ở đâu đó trong mã của mình, thì bạn không thể có một cái khác có cùng tên ở nơi khác. Nếu có xung đột tên, nó sẽ phá vỡ ứng dụng của bạn

Trước khi giới thiệu các không gian tên trong PHP, các nhà phát triển đã giải quyết vấn đề này bằng cách giới thiệu các kỹ thuật khác nhau để ngăn xung đột tên. Một giải pháp phổ biến là sử dụng tên lớp và hàm dài. Ví dụ: để giới thiệu lớp


37 trong thư viện của họ, họ sẽ thêm tiền tố vào tên nhà cung cấp và do đó, nó sẽ giống như

38. Nếu bạn đã viết mã trong WordPress hoặc khung công tác Zend, tôi chắc rằng bạn đã nhận thấy những cách làm như vậy

Để giải quyết vấn đề này, các không gian tên đã được giới thiệu trong PHP kể từ PHP 5. 3. Cách tốt nhất để hiểu các không gian tên là tương tự như khái niệm cấu trúc thư mục trong một hệ thống tập tin. Thư mục được sử dụng để nhóm các tệp liên quan phục vụ mục đích của một không gian tên. Bạn không thể có hai tệp có cùng tên trong cùng một thư mục, nhưng bạn có thể có các tệp có cùng tên trong các thư mục khác nhau. Không gian tên bắt chước nguyên tắc tương tự trong PHP

Về cơ bản, các không gian tên cung cấp một cách để nhóm các mục có liên quan lại với nhau, tránh mọi xung đột tên có thể xảy ra. Không còn nghi ngờ gì nữa, đây hóa ra là một trong những thay đổi quan trọng nhất gần đây trong PHP. Trên thực tế, phần lớn các nhà cung cấp thư viện và khung của bên thứ ba đã điều chỉnh các không gian tên trong cơ sở mã của họ.  

Đó là một lời giải thích ngắn gọn về không gian tên là gì. Chúng ta sẽ xem cách sử dụng chúng trong vài phần tiếp theo

Cách hoạt động của không gian tên trong PHP

Trong phần này, bạn sẽ thấy cách bạn có thể xác định một không gian tên và nhóm các mục liên quan bên dưới nó

Xác định không gian tên và không gian tên phụ

Điều đầu tiên cần làm là xác định một không gian tên với từ khóa


39 ở đầu tệp PHP. Tất cả mã bên dưới từ khóa

39 trở thành mã được đặt tên. Điều quan trọng cần lưu ý là từ khóa này phải được đặt ở đầu tệp, đảm bảo rằng không có gì đứng trước nó. Ngoại lệ duy nhất là cấu trúc

41 mà bạn có thể sử dụng trước khi xác định không gian tên

Hãy xem nhanh đoạn mã sau, đoạn mã này minh họa cách xác định một không gian tên

1

2
_______8
3

0

1

2

3

Như bạn có thể thấy, ví dụ trên xác định không gian tên


42. Mã được xác định sau câu lệnh

43 thuộc về không gian tên

42. Bạn không thể truy cập mã này trực tiếp theo cách chúng tôi đã sử dụng trước khi không gian tên được giới thiệu. Chúng ta sẽ xem cách gọi mã không gian tên trong phần tiếp theo

Để tổ chức mã của bạn theo cách tốt hơn, PHP cho phép bạn xác định hệ thống phân cấp không gian tên để bạn có thể phân chia và tổ chức mã của mình một cách hợp lý. chúng được gọi là không gian tên phụ

Hãy sửa lại ví dụ trước

1

2

2
3

0

5

2

3

Trong ví dụ trên, mã thuộc về không gian tên phụ


45. Trên thực tế, bạn có thể xác định nhiều không gian tên phụ để phân chia mã của mình trên thư viện, chẳng hạn như. g.

45, 

47, 

48, v.v.

Trên thực tế, bạn sẽ thấy rằng các nhà phát triển luôn thiết kế cấu trúc thư mục theo cách bắt chước và song hành với các không gian tên phụ. Ví dụ: lớp


49 được xác định trong không gian tên

50 được cho là được tìm thấy trong thư mục

51. Không gian tên phụ thực sự hữu ích khi tổ chức mã của bạn

Cách sử dụng không gian tên

Trong phần trước, chúng ta đã thảo luận về không gian tên và không gian tên phụ để hiểu cách bạn có thể viết mã không gian tên. Trong phần này, chúng ta sẽ xem cách gọi mã không gian tên

Xem xét ví dụ sau, định nghĩa không gian tên


45. Giả sử nó nằm trong mylib. tập tin php

1

2
2
1
3

2

0

2
2
6
2
7
2
8
2
9
namespace Tutsplus;
0
namespace Tutsplus;
1
namespace Tutsplus;
2
namespace Tutsplus;
3
namespace Tutsplus;
4
namespace Tutsplus;
5
namespace Tutsplus;
6
namespace Tutsplus;
7
namespace Tutsplus;
8
namespace Tutsplus;
9
3
0
3
1
3
2
3
3
3
4
3
5
3
6
namespace Tutsplus;
_______1_______98_____99_______1___131

Như bạn có thể thấy, đoạn mã này định nghĩa một lớp, một hàm và một hằng số trong không gian tên


45

Ví dụ sau minh họa cách sử dụng mã không gian tên được xác định trong mylib. php

1

2

08
3

10

0

2

13
2
7

15
2
9
namespace Tutsplus;
1

18
namespace Tutsplus;
3

20
namespace Tutsplus;
5
namespace Tutsplus;
7

23
namespace Tutsplus;
9

25
3
0

3

Đầu tiên, chúng tôi đã bao gồm mylib. php bằng cách sử dụng câu lệnh


54

Tiếp theo, chúng tôi đã sử dụng tên lớp đủ điều kiện (không gian tên) để khởi tạo lớp


55. Nếu bạn sử dụng

56 thay vì 

57 thì sẽ dẫn đến một lỗi nghiêm trọng.  

Vì chúng tôi chưa xác định bất kỳ không gian tên nào trong ứng dụng. php, mã thuộc về không gian tên chung. Vì vậy, bạn không thể truy cập lớp


55 mà không có tham chiếu không gian tên. Lưu ý rằng bạn có thể truy cập lớp

55 từ bên trong không gian tên

45 mà không cần tên đủ điều kiện

Tất nhiên, khi các không gian tên không được xác định, các lớp, hàm và hằng số được đặt trong không gian chung và hoạt động giống như trước khi các không gian tên được hỗ trợ

Cách nhập không gian tên

Như bạn đã thấy trong phần trước, bạn cần sử dụng tên đủ điều kiện để tham chiếu các mục được đặt tên. Giờ đây, việc sử dụng các tên đủ điều kiện ở mọi nơi bạn muốn tham chiếu đến một mục được đặt tên là thực sự cồng kềnh

May mắn thay, bạn có thể nhập các không gian tên bằng toán tử


61, do đó không cần phải chỉ định các tên đủ điều kiện

Hãy nhanh chóng sửa đổi ứng dụng. php để minh họa cách bạn có thể sử dụng tính năng nhập

1

2

08
3

33

0

2

10
2
7
2
9

13
namespace Tutsplus;
1
1
1
namespace Tutsplus;
3
namespace Tutsplus;
5

18
namespace Tutsplus;
7
1
6
namespace Tutsplus;
9
3
0

23
3
2

01
3
4

3

Trong ví dụ trên, chúng tôi đã nhập không gian tên


45. Giờ đây, bạn chỉ cần thêm tiền tố

63 khi gọi các mục được đặt tên và nó sẽ tự động được chuyển đổi thành tên đủ điều kiện

Bí danh không gian tên

Bí danh tương tự như nhập, nhưng nó cho phép bạn tham chiếu các không gian tên dài bằng cách chỉ định một tên ngắn hơn

Cách tốt nhất để hiểu nó là đi qua một ví dụ

_______ 5


2

08
3

09

0

11

2
2
7

10
2
9
namespace Tutsplus;
1

17
namespace Tutsplus;
3

19
namespace Tutsplus;
5
namespace Tutsplus;
7

22
namespace Tutsplus;
9

24
3
0
3
2

18
3
4

29
3
6

_____98

23_____3

3

Như bạn có thể thấy trong ví dụ trên, chúng tôi đã tạo bí danh


64 cho không gian tên

45 và do đó bạn có thể sử dụng nó thay vì chỉ định tên đủ điều kiện

Trên thực tế, bí danh thực sự hữu ích khi tạo bí danh cho các lớp và giao diện. Trong ví dụ trên, chúng tôi cũng đã tạo bí danh


66 cho lớp

55 thuộc không gian tên

45. Vì vậy, bạn chỉ cần sử dụng 

56 để khởi tạo lớp

70, cải thiện khả năng đọc của mã

Không gian tên thực sự hữu ích khi cấu trúc cơ sở mã của bạn, cùng với những lợi ích rõ ràng khác mà chúng mang lại. Đối với các nhà phát triển PHP, không gian tên là một tính năng chính để tìm hiểu và sử dụng

Phần kết luận

Trong bài viết này, chúng ta đã thảo luận về một trong những tính năng mới hữu ích nhất trong PHP, được giới thiệu kể từ PHP 5. 3. không gian tên. Bắt đầu với những điều cơ bản, chúng tôi đã trải qua các chủ đề khác nhau như cách sử dụng, nhập và bí danh không gian tên

Học PHP với một khóa học trực tuyến miễn phí

Nếu bạn muốn học PHP, hãy xem khóa học trực tuyến miễn phí của chúng tôi về các nguyên tắc cơ bản của PHP

Không gian tên sử dụng PHP

Trong khóa học này, bạn sẽ học các nguyên tắc cơ bản của lập trình PHP. Bạn sẽ bắt đầu với những kiến ​​thức cơ bản, học cách PHP hoạt động và viết các hàm và vòng lặp PHP đơn giản. Sau đó, bạn sẽ xây dựng các lớp mã hóa để lập trình hướng đối tượng đơn giản (OOP). Đồng thời, bạn sẽ học tất cả các kỹ năng quan trọng nhất để viết ứng dụng cho web. bạn sẽ có cơ hội thực hành phản hồi các yêu cầu GET và POST, phân tích cú pháp JSON, xác thực người dùng và sử dụng cơ sở dữ liệu MySQL

  • Không gian tên sử dụng PHP
    Không gian tên sử dụng PHP
    Không gian tên sử dụng PHP

    Nguyên tắc cơ bản PHP

    Không gian tên sử dụng PHP
    Không gian tên sử dụng PHP
    Không gian tên sử dụng PHP

    Jeremy McPeak

    29 Thg 10 2021

Tập lệnh PHP tốt nhất trên CodeCanyon

Nếu bạn muốn tạo các tính năng chuyên biệt trong ứng dụng PHP của mình hoặc để tải xuống các ứng dụng hoàn chỉnh mà bạn có thể sử dụng và tùy chỉnh, hãy xem các tập lệnh PHP chuyên nghiệp trên CodeCanyon

Việc sử dụng không gian tên là gì?

Không gian tên là một vùng khai báo cung cấp phạm vi cho các mã định danh (tên của các loại, hàm, biến, v.v.) bên trong nó. Không gian tên được sử dụng để sắp xếp mã thành các nhóm hợp lý và để ngăn xung đột tên có thể xảy ra, đặc biệt khi cơ sở mã của bạn bao gồm nhiều thư viện .

Không gian tên trong PHP là gì?

Không gian tên là khối mã được gắn nhãn phân cấp chứa mã PHP thông thường . Một không gian tên có thể chứa mã PHP hợp lệ. Không gian tên ảnh hưởng đến các loại mã sau. các lớp (bao gồm tóm tắt và đặc điểm), giao diện, chức năng và hằng số. Không gian tên được khai báo bằng cách sử dụng từ khóa không gian tên.

Làm cách nào để gọi một lớp không gian tên trong PHP?

Khai báo vùng tên .
cú pháp. Khai báo một không gian tên gọi là Html. .
cú pháp. Khai báo một không gian tên có tên là Html bên trong một không gian tên có tên là Code. .
Thí dụ. Sử dụng các lớp từ không gian tên Html. .
Thí dụ. Sử dụng các lớp từ không gian tên Html mà không cần Html\qualifier. .
Thí dụ. Đặt cho một không gian tên một bí danh. .
Thí dụ

Làm cách nào để đặt bí danh cho một không gian tên trong PHP?

Trong PHP, việc đặt bí danh được thực hiện bằng toán tử sử dụng. .
bí danh một tên lớp,
bí danh một tên giao diện,
bí danh một tên không gian tên
đặt bí danh hoặc nhập hàm và tên hằng