2011-10-25 37 views
8

Tôi đang cài đặt khung công tác Symfony2 lần đầu tiên và màn hình cấu hình web cho biết tắt các thẻ tắt php. Có lý do nào cho điều này ngoài các đối số trong xung đột với xml hoặc máy chủ không tương thích? Bất kỳ vấn đề cụ thể cho Symfony?Tại sao Symfony khuyên bạn nên tắt php_short_tags

Trả lời

12

IMHO, vui lòng kích hoạt short_open_tag nếu bạn thích và an toàn để bỏ qua cảnh báo này do Symfony phát hành. Heck, tôi muốn ủng hộ việc xóa séc hoàn toàn.

Hai vấn đề có thể bạn trích dẫn là các vấn đề duy nhất mà bạn có thể gặp phải khi sử dụng các thẻ mở ngắn, nhưng thực tế điều này chưa bao giờ là vấn đề đối với tôi trong 10 năm phát triển các ứng dụng PHP. Ngay cả trong ứng dụng XML nặng, rất ít khi bạn có một tiêu đề XML được phân tích cú pháp bằng PHP ở nhiều vị trí, và trong vài trường hợp, vấn đề có thể dễ dàng bị phá vỡ, ví dụ như tự động lặp lại tiêu đề XML. Trong giai đoạn hậu XHTML này, bạn càng khó có thể phát triển bất kỳ ứng dụng web nào có tiêu đề XML trong một khuôn mẫu PHP. Một đối số tranh luận để bắt đầu.

Theo như cấu hình máy chủ, ngay cả chia sẻ webhosting trung bình cũng cho phép cấu hình PHP được sửa đổi trong ngày này, và cài đặt này thậm chí có thể được đặt ở thời gian chạy ở khả năng từ xa mà bạn không thể. Và ai đang triển khai các ứng dụng Symfony cho một shared hosting?

Thẻ mở ngắn cần một số yêu thương và chúng đang nhận được một số trong PHP 5.4, trong đó cú pháp echo (<?= ?>) sẽ được bật bất kể cài đặt short_open_tag. Ngoài ra, mặc dù những gì một số có thể yêu cầu, các thẻ ngắn không có cách nào là một tính năng PHP không được chấp nhận nữa và vẫn ở đây.

Nếu bạn sử dụng mẫu PHP và thích cú pháp thẻ ngắn hơn, hãy sử dụng nó!

4

AFAIK, không có gì cụ thể trong Symfony 1 hoặc 2 sẽ bị hỏng nếu bạn sử dụng các thẻ ngắn, nhưng nói từ kinh nghiệm cá nhân, chúng không đáng với số lượng đánh máy nhỏ mà chúng tiết kiệm cho bạn. Bạn đề cập đến hai khiếu nại hợp lệ - xung đột XML và sự không tương thích của máy chủ. Đó là lý do đủ để không sử dụng chúng. Di chuyển các dự án từ máy chủ này sang máy chủ khác và phải thay thế các thẻ ngắn là một sự lãng phí thời gian gây phiền nhiễu :)

+0

xung đột bạn đang nói đến là gì? –

+1

Sau khi chuyển sang trang tiếp theo của phần giới thiệu, tôi nhận ra rằng symfony sử dụng hệ thống templating riêng của nó. Vì vậy, tôi đoán bằng cách sử dụng thẻ php ngắn không thực sự được sử dụng anyway? Chính xác? – dardub

+0

Tôi đoán động cơ mẫu cành là tùy chọn. – dardub

2

Nói chung, đó là không bao giờ ý tưởng hay là sử dụng short_tags chủ yếu do không tương thích với máy chủ.

máy chủ không tương thích

Không phải mọi máy chủ PHP đã short_tags kích hoạt. Vì vậy, nếu bạn sử dụng các thẻ ngắn ở bất kỳ đâu trong dự án và một ngày nào đó trong tương lai, nó sẽ xảy ra trên máy chủ có các thẻ ngắn bị vô hiệu hóa, trang web của bạn hiện đã bị hỏng. Bạn phải đi qua mã của bạn và tìm/thay thế hoặc kích hoạt các thẻ ngắn trên máy chủ, mà bạn có thể không có thẩm quyền để làm anyways.

Symfony

Symfony làm cho một số thực hành tốt nhất gợi ý. Chúng không nhất thiết là những thứ sẽ tạo ra hoặc phá vỡ sự phát triển bằng cách sử dụng Symfony, nhưng chúng là những thực hành tốt mà nhiều nhà phát triển chuyên nghiệp theo dõi. Không sử dụng short_tags là một điều tốt để đưa vào thực tế.

Dù sao, tất cả các thẻ ngắn thực sự là giúp bạn không phải nhập thêm một vài ký tự nữa.Nếu bạn thực sự quan tâm đến việc nhập các ký tự thừa, bạn thực sự nên sử dụng IDE hoặc Trình chỉnh sửa văn bản hỗ trợ các đoạn mã, như Sublime Text.

+0

Tôi chỉ cảm thấy nó làm cho mẫu php trông sạch hơn nhiều so với việc phải sử dụng . Tại sao không cố gắng tiến lên phía trước với cải thiện php hơn là cản trở nó cho các vấn đề nhỏ có thể dễ dàng được giải quyết. – dardub

+0

Vấn đề có thể không dễ dàng thay đổi sâu trong mã PHP như bạn nghĩ. –

+0

Tôi có nghĩa là các biến chứng bạn đề cập đến như khả năng tương thích máy chủ thường có thể dễ dàng được giải quyết bằng cách chỉnh sửa php.ini. – dardub

Các vấn đề liên quan