2013-02-15 27 views
5

Có tốt cho vấn đề hiệu suất hoặc bảo mật khi sử dụng các lớp đó vì chúng tôi biết rằng HTML phải ở dạng HTML thuần túy.Tôi có nên sử dụng trình trợ giúp biểu mẫu qua HTML chuẩn không?

Ví dụ:

trong CodeIgniter Framework:

echo form_input(array('name' => 'one')); 

được biết đến như

<input type="text" name="one"/> 

Đó là tốt hơn?

+4

Tôi có xu hướng tránh chúng khi tôi sử dụng hệ thống mẫu tùy chỉnh cho phép tôi giữ tất cả các tệp xem của mình dưới dạng HTML chỉ, giúp các nhà thiết kế dễ tiếp cận hơn. Nếu bạn muốn sử dụng codeigniters được xây dựng trong thẻ csrf, sau đó bạn sẽ phải sử dụng helper biểu mẫu để mở/đóng các biểu mẫu nhưng khác hơn là nó chủ yếu là xuống sở thích riêng của bạn, tôi đoán. – Jeemusu

+2

@ Jeemusu bạn không cần sử dụng trình trợ giúp biểu mẫu cho các thẻ CSRF vì bạn chỉ có thể làm điều này: ' ' –

+0

@cryptic ツ - Ước gì tôi biết sớm hơn: P Chúc mừng. – Jeemusu

Trả lời

4

sao chép từ Phil Sturgeon Blog:
Lớp thêm trừu tượng, kết hợp với helper mở rộng/trọng làm cho nó rất dễ dàng để thay đổi bit đơn giản của logic suốt đầu ra ứng dụng của bạn với fuss tối thiểu.

Để giải thích, tôi sẽ sử dụng ví dụ.

<form action="<?php echo site_url('controller/method'); ?>" method="post"> 
vrs 
<?php echo form_open('controller/method'); 

Trước tiên, bạn sẽ thấy những tiêu chuẩn HTML cách để làm điều đó, với site_url() chức năng dùng để tạo ra các liên kết đến các hình thức hành động. Thứ hai, bạn sẽ thấy thẻ form_open() - và trong ví dụ này nó ngắn hơn nữa, wahey!

Tôi muốn có cách để đặt accept-charset="UTF-8" trong tất cả các biểu mẫu của mình để giúp giữ cho dữ liệu của tôi tất cả UTF-8 in CodeIgniter. Nếu tôi chỉ sử dụng HTML thì tôi sẽ phải trải qua tất cả biểu mẫu của tôi và tự thêm vào đó, điều này sẽ lãng phí thời gian tôi có thể bỏ ra ở quán rượu. Thay vào đó, khi CodeIgniter cho phép bạn mở rộng những người trợ giúp, tôi chỉ thực hiện một chút sửa đổi của riêng mình form_open() trong application/helpers/MY_form_helper.php có chứa logic này.
Vì tôi đang sử dụng PHP để bao bọc dữ liệu hữu ích của mình, tôi có thể thực hiện một thay đổi đơn giản và cập nhật tất cả các thẻ của mình.

Vấn đề chính là mọi người đang xem các hàm trợ giúp HTML này và thấy chúng hoàn toàn giống như cú pháp khác nhau.

Đối với chuyến thăm bài viết đầy đủ:
http://philsturgeon.co.uk/blog/2009/12/Why-CodeIgniter-HTML-helper-functions-rock

2

Đây là một câu hỏi hay. Tôi nghĩ cuối cùng nó đi theo sở thích cá nhân. Cá nhân tôi không thích sử dụng người trợ giúp biểu mẫu nhưng tôi chắc chắn có thể thấy lợi ích của việc sử dụng chúng và tôi cố gắng sử dụng chúng nếu tôi đang làm việc trên một dự án lớn. Bởi vì như Phil Sturgeon nói nó dễ dàng hơn rất nhiều khi bạn muốn làm cho một trang web thay đổi rộng rãi cho tất cả các lĩnh vực hình thức.

Mặc dù tôi muốn biết liệu việc sử dụng các hàm trợ giúp biểu mẫu có ảnh hưởng đến hiệu suất hay không. Chắc chắn bằng cách sử dụng PHP để tạo ra HTML có một hit hiệu suất hơn là chỉ viết HTML bình thường?

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