Hướng dẫn how do you name a class in php? - làm thế nào để bạn đặt tên một lớp trong php?

rfc:class-naming

  • Phiên bản: 1.0

  • Ngày: 2017-06-03

  • Tác giả: Richard Fussenegger,

  • Trạng thái: Được chấp nhận

Giới thiệu

Tiêu chuẩn mã hóa PHP không bao gồm cách viết tên lớp. Điều này dẫn đến ma sát trong cộng đồng người dùng hiện đang theo đề xuất tiêu chuẩn PSR-1. Mở rộng tiêu chuẩn mã hóa hiện tại của chúng tôi để trình bày các trường hợp cạnh về chữ viết tắt và từ viết tắt/khởi tạo sẽ giải quyết bất kỳ cuộc thảo luận nào trong tương lai.

Đề nghị

Mở rộng tiêu chuẩn mã hóa để chỉ định rõ ràng cách xử lý các từ viết tắt và từ viết tắt/viết tắt khi viết tên lớp cấp người dùng. Quy tắc hiện tại là:

Các lớp nên được đưa ra tên mô tả. Tránh sử dụng chữ viết tắt nếu có thể. Mỗi từ trong tên lớp nên bắt đầu bằng một chữ cái viết hoa, không có dấu phân cách nhấn mạnh (Camelcaps bắt đầu bằng một chữ cái viết hoa). Tên lớp phải được tiền tố với tên của 'bộ cha' (ví dụ: tên của phần mở rộng) ::

Tốt: 'Curl' 'Foobar'
'Curl'
'FooBar'

Xấu: 'foobar' 'foo_bar'
'foobar'
'foo_bar'

- Coding_standard

Mặc dù nên tránh các chữ viết tắt nên tránh, nhưng nó im lặng về những việc cần làm nếu chúng được sử dụng; đặc biệt là trong trường hợp viết tắt/khởi tạo. Về cơ bản có ba lựa chọn có thể bây giờ:

  1. Pascalcase ngoại trừ các từ viết tắt/khởi tạo-đó là cách mà phần lớn các tên lớp cấp người dùng được viết và nó phù hợp với cách tiếp cận của nhiều ngôn ngữ lập trình khác. — which is how the majority of user-level class names are written, and it matches the approach of many other programming languages.

  2. Luôn luôn là PascalCase-về cơ bản là những gì PSR-1 định nghĩa, tuy nhiên, nó sẽ làm cho hầu hết các tên lớp cấp người dùng hiện tại không hợp lệ. — which is basically what PSR-1 defines, however, it would make most of the currently existing user-level class names invalid.

  3. Không làm gì cả - tất nhiên điều này tự động có nghĩa là bất kỳ cách tiếp cận nào được cho phép và các cuộc thảo luận của cộng đồng xung quanh chủ đề này sẽ tiếp tục. — which of course automatically means that any approach is allowed, and the community discussions around this topic will continue.

IMPORTANT!

Bất kể kết quả của RFC này là gì, các tên lớp cấp người dùng hiện tại không bắt buộc phải thay đổi. Mặc dù có thể (tên lớp là không nhạy cảm trường hợp). Lý do tại sao đổi tên không được đề xuất là đơn giản: RFC này có lẽ sẽ thất bại vì có quá nhiều người chống lại những thay đổi mỹ phẩm hoàn toàn như vậy.

IMPORTANT!

Pascalcase trừ các từ viết tắt/khởi tạo

Tên lớp phải là danh từ mô tả trong pascalcase và càng ngắn càng tốt. Mỗi từ trong tên lớp nên bắt đầu bằng một chữ cái viết hoa, mà không cần dấu gạch dưới. Tên lớp phải được tiền tố với tên của cha mẹ Set Set (ví dụ: tên của phần mở rộng) nếu không có không gian tên được sử dụng. Chữ viết tắt và từ viết tắt cũng như các chủ nghĩa khởi tạo nên tránh bất cứ khi nào có thể, trừ khi chúng được sử dụng rộng rãi hơn nhiều so với dạng dài (ví dụ HTTP hoặc URL). Chữ viết tắt bắt đầu bằng một chữ cái viết hoa theo sau là chữ thường, trong khi các từ viết tắt và đầu tiên được viết theo ký hiệu tiêu chuẩn của chúng. Việc sử dụng các từ viết tắt và bản khởi tạo không được phép nếu chúng không được áp dụng và công nhận rộng rãi như vậy.

Tốt: 'Curl' 'CurlResponse' 'httpstatuscode' 'url' 'btreemap' (bản đồ b-tree) 'id' (định danh) 'id' (tài liệu nhận dạng) 'char' (ký tự) 'intl' (quốc tế hóa) 'radar '(Phát hiện radio và phạm vi)
'Curl'
'CurlResponse'
'HTTPStatusCode'
'URL'
'BTreeMap' (B-tree Map)
'Id' (Identifier)
'ID' (Identity Document)
'Char' (Character)
'Intl' (Internationalization)
'Radar' (Radio Detecting and Ranging)

Xấu: 'curl' 'curl_response' 'httpstatuscode' 'url' 'btreemap' 'id' (định danh) 'char' 'intl' 'radar' (phát hiện radio và phạm vi)
'curl'
'curl_response'
'HttpStatusCode'
'Url'
'BtreeMap'
'ID' (Identifier)
'CHAR'
'INTL'
'RADAR' (Radio Detecting and Ranging)

- GitHub PR #2552

Luôn luôn là Pascalcase

Tên lớp phải là danh từ mô tả trong pascalcase và càng ngắn càng tốt. Mỗi từ trong tên lớp nên bắt đầu bằng một chữ cái viết hoa, mà không cần dấu gạch dưới. Tên lớp phải được tiền tố với tên của cha mẹ Set Set (ví dụ: tên của phần mở rộng) nếu không có không gian tên được sử dụng. Chữ viết tắt và từ viết tắt cũng như các chủ nghĩa khởi tạo nên tránh bất cứ khi nào có thể, trừ khi chúng được sử dụng rộng rãi hơn nhiều so với dạng dài (ví dụ HTTP hoặc URL). Chữ viết tắt, từ viết tắt và giới thiệu theo cùng một chữ hoa như bất kỳ từ nào khác.

Tốt: 'Curl' 'Curlresponse' 'httpstatuscode' 'url' 'btreemap' (bản đồ b-cây) 'id' (tài liệu nhận dạng và nhận dạng) 'char' (ký tự) 'intl' (quốc tế hóa) 'radar' (phát hiện radio và phạm vi)
'Curl'
'CurlResponse'
'HttpStatusCode'
'Url'
'BTreeMap' (B-tree Map)
'Id' (Identifier and Identity Document)
'Char' (Character)
'Intl' (Internationalization)
'Radar' (Radio Detecting and Ranging)

Xấu: 'curl' 'curl_response' 'httpstatuscode' 'url' 'btreemap' 'id' 'char' 'intl' 'radar'
'curl'
'curl_response'
'HTTPStatusCode'
'URL'
'BtreeMap'
'ID'
'CHAR'
'INTL'
'RADAR'

- GitHub PR #2553

Thay đổi lạc hậu không tương thích

Không, chúng tôi chỉ cập nhật các tiêu chuẩn mã hóa cho tương lai.

Phạm vi tương lai

  • Cập nhật tên lớp cấp người dùng hiện tại theo kết quả của RFC này.

Đề xuất lựa chọn bỏ phiếu

Đơn giản 50%+1 phiếu bầu đa số:

Bản vá và bài kiểm tra

Người giới thiệu

rfc/class-naming.txt

· Sửa đổi lần cuối: 2017/09/22 13:28 (Chỉnh sửa bên ngoài)

Cách chính xác để đặt tên một lớp trong PHP là gì?

Tên lớp có thể là bất kỳ nhãn hợp lệ nào, miễn là nó không phải là từ dành riêng của PHP. Một tên lớp hợp lệ bắt đầu bằng một chữ cái hoặc dấu gạch dưới, theo sau là bất kỳ số lượng chữ cái, số hoặc nhấn mạnh. Như một biểu thức chính quy, nó sẽ được thể hiện như vậy: ^[A-A-Z_ \ x80- \ xff] [A-A-Z0-9_ \ x80- \ xff]*$.starts with a letter or underscore, followed by any number of letters, numbers, or underscores. As a regular expression, it would be expressed thus: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$ .

Làm cách nào để chọn một tên lớp?

Tên lớp phải là danh từ, trong trường hợp hỗn hợp với chữ cái đầu tiên của mỗi từ nội bộ được viết hoa.Cố gắng giữ cho tên lớp của bạn đơn giản và mô tả.Sử dụng toàn bộ các từ viết tắt và viết tắt của các từ (trừ khi viết tắt được sử dụng rộng rãi hơn nhiều so với dạng dài, chẳng hạn như URL hoặc HTML).. Try to keep your class names simple and descriptive. Use whole words-avoid acronyms and abbreviations (unless the abbreviation is much more widely used than the long form, such as URL or HTML).

Làm thế nào để bạn khởi tạo một lớp trong PHP?

Tất cả những gì bạn cần làm để khởi tạo một đối tượng trong PHP là lấy tên đối tượng và sử dụng "->" theo sau là tên thuộc tính.Sau đó, bạn đặt cái này bằng với giá trị thuộc tính thông qua các báo giá đơn, báo giá gấp đôi hoặc không có gì (nếu giá trị là một số, bạn có tùy chọn này).take the object name and use "->" followed by the property name. You then set this equal to the property value either through single quotes, double quotes, or nothing (if the value is a number, you have this option).

Tên lớp trong OOP là gì?

Trong lập trình hướng đối tượng, một lớp là bản thiết kế để tạo các đối tượng (cấu trúc dữ liệu cụ thể), cung cấp các giá trị ban đầu cho các biến trạng thái (biến thành viên hoặc thuộc tính) và triển khai hành vi (hàm hoặc phương thức thành viên).Các đối tượng do người dùng xác định được tạo bằng từ khóa lớp.