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 Show
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 PHPTrong 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ênHã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
3Như 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
23
0
5
2
3Trong 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ạnCách sử dụng không gian tênTrong 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 php1
2 21 3
2
0
226 27 28 29 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 30 31 32 33 34 35 36 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
45Ví 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
083
10
0
2
1327
1529 namespace Tutsplus;1
18namespace Tutsplus;3
20namespace Tutsplus;5 namespace Tutsplus;7
23namespace Tutsplus;9
2530
3Đầu tiên, chúng tôi đã bao gồm mylib. php bằng cách sử dụng câu lệnh
54Tiế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ệnTấ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ênNhư 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ệnHã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
083
33
0
2
1027 29
13namespace Tutsplus;1 11 namespace Tutsplus;3 namespace Tutsplus;5
18namespace Tutsplus;7 16 namespace Tutsplus;9 30
2332
0134
3Trong 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ệnBí danh không gian tênBí 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
083
09
0
11
227
1029 namespace Tutsplus;1
17namespace Tutsplus;3
19namespace Tutsplus;5 namespace Tutsplus;7
22namespace Tutsplus;9
2430 32
1834
2936
_____98
23_____3
3Như 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ệnTrê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ậnTrong 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 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
Tập lệnh PHP tốt nhất trên CodeCanyonNế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 |