Tôi đang gỡ lỗi tệp của khách hàng của khách hàng. Bao gồm tệp này gây ra lỗi PHP Parse error: syntax error, unexpected $end in ...
, vì vậy tôi giả định có một dấu ngoặc bị thiếu ở đâu đó. Có một công cụ hay phương pháp đơn giản nào để phát hiện ra dấu ngoặc kép, trực tuyến hoặc trong IDE Komodo mà tôi đang sử dụng không?Tìm dấu ngoặc bị thiếu trong tệp PHP lớn?
Trả lời
Sử dụng tab phù hợp và sạch sẽ. Tôi đã thấy rằng rất khó để bỏ lỡ một cú đúp đóng.
Khác hơn thế, bạn đã đào mộ của riêng bạn tại đây. Bạn đang viết mã gì để tạo ra một tệp PHP có dung lượng 3500 dòng?
EDIT: Thử bán mã của bạn vào Notepad ++. Tôi khá chắc chắn rằng sẽ làm nổi bật cú đúp đóng liên quan nếu bạn bấm vào một mở, nhưng với các tập tin lớn hơn, tôi đã nhận được phần nào hiệu suất không đáng tin cậy với điều này.
Bạn đang sử dụng trình soạn thảo văn bản nào? Tôi sẽ khuyên bạn nên sử dụng Eclipse và nó sẽ dễ dàng hơn để phát hiện nó :) hoặc bạn cũng có thể công khai mã của bạn và chúng tôi có thể giúp theo cách đó :)
Tôi đang sử dụng Komodo IDE và tôi không thể làm cho mã công khai là mã khách hàng độc quyền của nó. – Yarin
Tôi không chắc chắn làm thế nào Komodo IDE làm việc nhưng tôi đánh giá cao sẽ khuyên bạn nên cho php, javascript, html ... để bắt đầu làm việc với Eclipse [HERE] (http://www.eclipse.org/downloads/) hoặc bạn có thể gửi cho tôi mã của bạn qua email =] [email protected] Đây là tất cả những gì tôi có thể làm :) –
Sử dụng NetBeans IDE cho PHP.
http://netbeans.org/features/php/
Sẽ kiểm tra cú pháp của bạn và làm nổi bật các vấn đề giữa nhiều tính năng đẹp khác mà ứng dụng có. Và hoàn toàn miễn phí.
Komodo Edit có một tính năng tuyệt vời làm nổi bật những gì bên trong niềng răng
Ctrl + Alt +]
một lựa chọn (tương tự như notepad ++) là sử dụng Dreamweaver để tìm thẻ đóng kèm theo.
Xem liên kết này: How do I make Dreamweaver to show me closing tags?
trong dreamweaver:
Để chọn phù hợp với khai mạc và bế xoăn niềng răng, khung, hoặc dấu ngoặc đơn, nhấp vào bên trong mở hoặc biểu tượng đóng cửa, và nhấp vào nút Balance niềng răng trên thanh công cụ mã hóa (đó là ngay bên dưới Chọn Thẻ cha mẹ). Ngoài ra, hãy sử dụng phím tắt, Ctrl + '/ Cmd +'.
Tôi chỉ đang làm việc trên một vấn đề liên quan (tìm thiếu khung hình vuông trong đối tượng JSON). Vì vậy, tôi hy vọng sẽ có thể giúp đỡ.
$pos=0;
$braceCount=0;
while(preg_match('~\{|\}~S', $source, $out, PREG_OFFSET_CAPTURE, $pos)){
if($out[0][0] === '{'){
$braceCount++;
if($braceCount === 1)$startPos=$out[0][1];
}
elseif($out[0][0] === '}'){
$braceCount--;
if($braceCount === 0){
//echo 'Up to that position:'.$out[0][1].' every thing seems to be ok?<br>';
echo substr($source,$startPos,($out[0][1]+1-$startPos)).'<br>';
}
elseif($braceCount < 0){
echo 'To many closing brace right before '.($out[0][1]+1).'<br>';
exit;
}
}
$pos = $out[0][1]+1;
}
if($braceCount > 0) echo 'Closing brace is missing somewhere.';
Điều này lặp lại nguồn cho đến khi có kết quả bỏ lỡ và lỗi cho dấu ngoặc nhọn.
Chúng tôi thực sự đánh giá cao sự thông minh của mọi người! Đôi khi nó tốt hơn để dính vào các công cụ người đang sử dụng và chính xác những gì họ đang hỏi về. Tôi không biết nếu bạn đã tìm thấy câu trả lời của bạn nhưng đây là những gì tôi sử dụng.
- Đặt con trỏ của bạn trên Brace khai mạc sau đó -
- Trên Mac: [lệnh]'
hoặc Chỉnh sửa Menu> Cân Niềng răng 3. Kết quả: Điều này sẽ làm nổi bật mã trên Dreamweaver giữa niềng răng và giúp giải quyết vấn đề mã hóa.
Hy vọng điều này sẽ hữu ích. P.S.Đôi khi bạn cần 3000 dòng mã :)
- 1. Dấu ngoặc kép thoát trong PHP
- 2. Biến tĩnh PHP trong dấu ngoặc kép
- 3. Ký hiệu dấu ngoặc nhọn trong PHP
- 4. Xóa hoặc bỏ qua khoảng trắng bị thiếu sau dấu ngoặc đơn
- 5. Làm cách nào để xóa các tệp bị thiếu có dấu cách trong svn?
- 6. mảng được bọc trong dấu ngoặc đơn trong PHP (mảng)
- 7. (Còn cách khác) "Thiếu dấu ngoặc đơn phải"
- 8. ORA-00907: thiếu dấu ngoặc đơn phải khi tạo bảng?
- 9. php đơn và đôi dấu ngoặc kép
- 10. PHP: Các dấu ngoặc nhọn trong biến $ {0} làm gì?
- 11. Xóa văn bản trong dấu ngoặc đơn (dấu ngoặc đơn trong dấu ngoặc đơn)
- 12. Đổi tên nhiều tệp mà không cần dấu ngoặc đơn/xóa dấu ngoặc đơn windows
- 13. PHP: Sử dụng biến bên trong dấu ngoặc kép
- 14. Chụp văn bản giữa các dấu ngoặc vuông trong PHP
- 15. Ba dấu ngoặc nhọn cùng nhau trong mã nguồn php
- 16. Làm thế nào để đóng dấu ngoặc nhọn trong PHP
- 17. PHP dấu ngoặc nhọn trong ký hiệu mảng
- 18. Phương thức bị thiếu trong Java hoặc PHP
- 19. Đọc các tệp rất lớn trong PHP
- 20. Dấu chấm than bị thiếu trong tên API facebook
- 21. Tự động sửa chữa thiếu ngoặc trong C
- 22. Điều kiện PHP, dấu ngoặc đơn cần thiết?
- 23. ORA-00907: thiếu ngoặc đúng
- 24. Trình biên dịch bỏ qua dấu ngoặc đơn còn thiếu của lệnh Thoát
- 25. tìm ngày bị thiếu trong phạm vi ngày
- 26. Tìm ngày bị thiếu trong một phạm vi nhất định
- 27. tệp svn-base nguyên sơ bị thiếu
- 28. Ghép cặp dấu ngoặc nhọn, dấu ngoặc đơn và dấu ngoặc đơn
- 29. Tìm tài nguyên cục bộ bị thiếu trong các tệp resx
- 30. tìm hai tệp lớn trong Python
Tệp 3000 dòng? Yuk. http://stackoverflow.com/questions/378959/is-there-a-static-code-analyzer-like-lint-for-php-files – Frankie
Trong hầu hết các IDE, bạn có thể tìm thấy các dấu ngoặc bị thiếu bằng cách tìm kiếm địa điểm mỗi dòng đơn trở thành một lỗi. –
NetBeans :) thats những gì tôi có trong tâm trí. . . – tomexsans