2010-12-30 47 views
26

Nếu tôi muốn viết một tên biến thực sự dài như:Có giới hạn nào trong PHP về độ dài của tên biến hoặc tên hàm không?

$this_is_my_variable_that_does_something_in_the_following_function_and_provides_some_information_with_which_the_function_relies_upon_to_do_all_the_work_it_needs = null; 

sẽ có việc làm? cùng một câu hỏi cho tên hàm/phương pháp

+6

Bạn nên tạo trường hợp lạc đà đó, nếu không khó đọc. –

+21

@PMV: '$ thisIsMyVariableThatDoesSomethingInTheFollowingFunctionAndProvidesSomeInformationWith WhichTheFunctionReliesUponToDoAllTheWorkItNeeds = null;' Yeah, có vẻ dễ đọc. Tôi có thể nói điều đó trong một hơi thở! ** \ * inhales \ *** – BoltClock

+2

@BoltClock: Có thể viết hoa NULL quá, vì đó là hằng số. Sau đó, nó sẽ là một tuyên bố hoàn toàn dễ đọc và hợp lý. Dấu chấm câu quá xấu không được phép mặc dù. –

Trả lời

174

Nói chung, giới hạn đó được áp đặt bởi đe dọa bạo lực từ những người khác người tương tác với mã của bạn.

+21

+1 để làm cho tôi cười. – Craige

+2

+1 fo— "Đã đạt đến giới hạn phiếu bầu hàng ngày; quay lại sau 3 giờ" Dammit. Lấy làm tiếc. – BoltClock

+1

+1. Nổi bật. –

3

Không có giới hạn - nhưng nó được đánh giá cao không gợi ý vì nó tạo ra mã không đọc được ...

3

PHP không đặt ra giới hạn độ dài cho số nhận dạng của nó.

Điều đó nói rằng, tôi không chắc tại sao mọi người lại muốn tạo tên biến 160 ký tự. Tôi hy vọng đây là một câu hỏi giả định.

+0

Vâng, tôi đã nghĩ đến việc viết tiêu chuẩn khung/mã hóa không sử dụng nhận xét và thay vào đó dựa vào việc sử dụng tên biến và tên mô tả thực sự = P – james

+7

Bạn nên đặt tên nó là Framework/CodingStandardThatDoesn'tUseCommentsandInsteadReliesonUsingReallyDescriptiveVariableandFunctionNamesCMS. – ceejayoz

+0

Ugh. Vì vậy, bạn mong đợi một tên biến dài để thay thế cho một bình luận giải thích tại sao một người nào đó đã làm một cái gì đó kỳ quái? Chúc may mắn với điều đó. –

82

Từ documentation:

tên biến theo các quy tắc tương tự như nhãn khác trong PHP. Một hợp lệ tên biến bắt đầu bằng chữ cái hoặc dấu gạch dưới , tiếp theo là bất kỳ số của chữ cái, số, hoặc nhấn

Cùng là trường hợp cho tên hàm, như đã nêu here.

+12

Câu trả lời kỹ thuật nghiêm trọng duy nhất. – BoltClock

+0

Yep, +1 từ tôi. – ceejayoz

9

Giới hạn về độ dài tên biến/hàm/phương pháp/lớp không tồn tại.

Các nhận xét ở trên nêu rõ rằng thuộc tính này không nên bị khai thác. Điều đó đúng chỉ khi nói đến mã có thể đọc được/con người có thể đọc được.

Tuy nhiên, đây là tính năng cực kỳ hữu ích của PHP, đó là khai thác rất tốt trong rất nhiều dự án rất phổ biến, chẳng hạn như cành mỗi ví dụ, mà tạo ra các lớp học, ví dụ (một đoạn):

class __TwigTemplate_9601167421099bbb502d119e674fed3fb71769eef256903648c9c2b4b6faa436 extends \Twig_Template { 

    protected function doDisplay(array $context, array $blocks = array()) 
    { 
     $__internal_0abebc74dd811fd7b4cfa4c6a2fdf870d7723c04e8daf6926b04914d6644935f = $this->env->getExtension("native_profiler");  
    } 

} 

Tôi đã có cơ hội hưởng lợi từ cùng một tài sản cũng như trong các dự án của tôi.

Tóm lại:

  • Không có giới hạn chiều dài var/Func/tên lớp
  • Đây là tính năng ngôn ngữ cực kỳ hữu ích
  • Có một bối cảnh cho việc sử dụng của nó, tất nhiên, nó là không phải cho công việc hàng ngày
Các vấn đề liên quan