Hướng dẫn php private function naming convention - quy ước đặt tên hàm private php

Đây là một loại yêu cầu chung mà tôi đã tự hỏi. Tôi đã nhận thấy rất nhiều điều này thông qua mã của người khác và chưa bao giờ thực sự biết lý do thực tế, chỉ tuân theo các xu hướng, vì vậy đây là ở đây.

Làm thế nào mà một số phương pháp và thuộc tính được đặt tên với một dấu gạch dưới ở phía trước, và những người khác thì không? Ví dụ, khi cụ thể người ta sẽ sử dụng function _method() và khi nào người ta sẽ sử dụng function method(), hoặc, nói cách khác, private $_someVariable so với private $someVariable?

Hướng dẫn php private function naming convention - quy ước đặt tên hàm private php

j0k

22.4K28 Huy hiệu vàng78 Huy hiệu bạc87 Huy hiệu đồng28 gold badges78 silver badges87 bronze badges

Đã hỏi ngày 23 tháng 4 năm 2011 lúc 18:40Apr 23, 2011 at 18:40

Hướng dẫn php private function naming convention - quy ước đặt tên hàm private php

Hầu hết thời gian, đó là một quy ước về Php4 không hỗ trợ khả năng hiển thị cho các thuộc tính hoặc phương thức và các nhà phát triển thư viện đã sử dụng _ để chỉ ra một cái gì đó cần được coi là riêng tư và không được truy cập trực tiếp từ bên ngoài lớp. PHP5 có khả năng hiển thị, nhưng quy ước vẫn thường được duy trì.

Đã trả lời ngày 23 tháng 4 năm 2011 lúc 18:41Apr 23, 2011 at 18:41

Hướng dẫn php private function naming convention - quy ước đặt tên hàm private php

Mark Bakermark BakerMark Baker

207K31 Huy hiệu vàng339 Huy hiệu bạc381 Huy hiệu Đồng31 gold badges339 silver badges381 bronze badges

3

Chỉ trong trường hợp, PSR-12 mới nói rằng nó không được nhấn mạnh:MUST NOT have underscores:

https://www.php-fig.org/psr/psr-12/

4.3 Thuộc tính và hằng số Tên thuộc tính Không được có tiền tố với một dấu gạch dưới để biểu thị khả năng hiển thị được bảo vệ hoặc riêng tư. Property names MUST NOT be prefixed with a single underscore to indicate protected or private visibility.

4.4 Phương pháp và chức năng Tên Phương thức không được có tiền tố với một dấu gạch dưới để biểu thị khả năng hiển thị được bảo vệ hoặc riêng tư. Method names MUST NOT be prefixed with a single underscore to indicate protected or private visibility.

Đã trả lời ngày 18 tháng 7 năm 2021 lúc 14:15Jul 18, 2021 at 14:15

Đây là tài liệu chính thức từ php.net không nói gì về dấu gạch dưới trước các phương thức private, các trường private.

Nhưng hãy làm theo quy ước mã hóa khung Zend:

Đối với các phương thức trên các đối tượng được khai báo với công cụ sửa đổi private hoặc protected, ký tự đầu tiên của tên phương thức phải là dấu gạch dưới. Đây là ứng dụng duy nhất có thể chấp nhận được của một dấu gạch dưới trong một tên phương thức. Các phương pháp tuyên bố "công khai" không bao giờ nên chứa một dấu gạch dưới.

Do đó, chúng ta nên bắt đầu đặt tên một phương thức private với một dấu gạch dưới :)

Notice:

PHP bảo lưu tất cả các biểu tượng bắt đầu bằng __ là phép thuật. Bạn nên tạo các biểu tượng bắt đầu bằng __ trong PHP trừ khi bạn muốn sử dụng chức năng ma thuật được ghi lại.

(Nguồn: http://php.net/manual/en/userlandnaming.rules.php)

Đã trả lời ngày 11 tháng 4 năm 2015 lúc 3:18Apr 11, 2015 at 3:18

James Greyjames GreyJames Grey

41.6K48 Huy hiệu vàng185 Huy hiệu bạc261 Huy hiệu Đồng48 gold badges185 silver badges261 bronze badges

Các biến và chức năng toàn cầu

Nếu gói của bạn cần xác định các biến toàn cầu, tên của chúng sẽ bắt đầu với một dấu gạch dưới, theo sau là tên gói và một dấu gạch dưới khác. Ví dụ: gói PEAR sử dụng biến toàn cầu có tên $ _PEAR_DESTRUNTOR_OBject_List.

Các chức năng toàn cầu nên được đặt tên bằng cách sử dụng kiểu "Caps Caps" (còn được gọi là "Case gập ghềnh" hoặc "Caps Camel"). Ngoài ra, họ nên có tên gói làm tiền tố, để tránh va chạm tên giữa các gói. Chữ cái đầu tiên của tên (sau tiền tố) là chữ thường và mỗi chữ cái bắt đầu một "từ" mới được viết hoa. Một ví dụ:studly caps" style (also referred to as "bumpy case" or "camel caps"). In addition, they should have the package name as a prefix, to avoid name collisions between packages. The initial letter of the name (after the prefix) is lowercase, and each letter that starts a new "word" is capitalized. An example:

Các lớp học

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ể. Tên lớp phải luôn luôn bắt đầu bằng một chữ cái viết hoa. Hệ thống phân cấp lớp lê cũng được phản ánh trong tên lớp, mỗi cấp độ của hệ thống phân cấp được phân tách bằng một dấu gạch dưới. Ví dụ về tên lớp tốt là:

Đăng nhập Net_Finger HTML_Upload_Error

Các biến và phương thức lớp

Các biến lớp (a.k.a thuộc tính) và các phương thức nên được đặt tên bằng cách sử dụng kiểu "Caps Caps" (còn được gọi là "trường hợp gập ghềnh" hoặc "mũ lạc đà"). Một số ví dụ (đây sẽ là thành viên "công khai"):studly caps" style (also referred to as "bumpy case" or "camel caps"). Some examples (these would be "public" members):

$counter connect() getData() buildSomeWidget()

Các thành viên lớp tư nhân được đi trước bởi một dấu gạch dưới. Ví dụ:

$_status _sort() _initTree()
Điều sau đây áp dụng cho PHP5.

Các thành viên lớp được bảo vệ không được đi trước bởi một dấu gạch dưới. Ví dụ:

bảo vệ $ somevar chức năng được bảo vệ inittree ()

Hằng số

Các hằng số phải luôn luôn là tình trạng tốt hơn, với sự nhấn mạnh để tách các từ. Tên hằng số tiền tố với tên dưới của lớp/gói mà chúng được sử dụng. Một số ví dụ:

DB_DATASOURCENAME SERVICES_AMAZON_S3_LICENSEKEY
Các hằng số true, ____10 và function method()1 bị loại trừ khỏi quy tắc Upercase, và phải luôn luôn là chữ thường.

Php Camelcase hay Snake Case?

Trong nội bộ, bản thân PHP sử dụng nhấn mạnh các biến và chức năng, Camelcase cho các phương thức và pascalcase cho các lớp, như đã nêu trong trang tài liệu PHP này (UserlandNaming.camelCase for Methods, and PascalCase for Classes, as stated in this PHP documentation page (userlandnaming.

Các quy ước đặt tên trong PHP là gì?

Tên chức năng Sử dụng nhấn mạnh giữa các từ, trong khi tên lớp sử dụng cả quy tắc Camelcase và Pascalcase.PHP sẽ tiền tố bất kỳ biểu tượng toàn cầu nào của một phần mở rộng với tên của tiện ích mở rộng.. PHP will prefix any global symbols of an extension with the name of the extension.

Làm thế nào để bạn đặt tên cho một biến riêng tư?

Chúng ta phải bắt đầu một tên biến với một dấu gạch dưới kép để thể hiện nó như một biến riêng tư (không thực sự).Ví dụ:- Một, hai, vv ..,.Như chúng tôi đã nói các biến có tên bắt đầu bằng một dấu gạch dưới kép không phải là riêng tư.start a variable name with a double underscore to represent it as a private variable (not really). Example:- one, two, etc..,. As we already said the variables whose names start with a double underscore are not private.

Làm thế nào để bạn đặt tên cho một lớp trong PHP?

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]*$.A valid class name 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]*$ .