2012-02-29 32 views
8

Tôi chỉ mới bắt đầu với CakePHP và tự hỏi liệu có ai đó có thể giải thích lợi ích thực sự của việc sử dụng JsHelper của mình trên mã hóa thường xuyên jQuery và JS tĩnh hay không. Cho đến nay, tôi không thực sự thấy làm thế nào người trợ giúp sẽ làm cho việc tạo kịch bản dễ dàng hơn hoặc nhanh hơn.Tại sao lại sử dụng JsHelper của CakePHP?

+0

+1 chỉ vì tôi chưa bao giờ hiểu được nhu cầu. :) – deceze

+0

điều tương tự đối với tôi :-) – nIcO

Trả lời

4

vì lý do tương tự tôi đã viết Trình trợ giúp GoogleMaps;) ý tưởng cơ bản là bạn có thể sử dụng cùng ngôn ngữ (trong trường hợp này) như phần còn lại của ứng dụng và bạn có thể chuyển vào bất kỳ mảng và mảng tùy chọn php nào giữ giá trị dữ liệu và người trợ giúp được coi là chăm sóc bánh của nó.

nó tương tự như cakephp như một trình bao bọc cho php. nó kết thúc tốt đẹp mã của bạn và có thể giúp giữ cho nó khô ráo.

không hiểu sai - tôi chưa bao giờ tự mình sử dụng trình trợ giúp js/ajax. nhưng tôi có thể hiểu lý do tại sao một số muốn chọn nó bằng cách viết JS mình. trong một số trường hợp, đầu ra thậm chí có thể được "chính xác" hơn (nếu bạn không biết về các vấn đề tiềm năng). ví dụ: lỗi IE: nếu bạn xuất {} tùy chọn cho mình và quên xóa tùy chọn cuối cùng, nó sẽ không chạy trong IE6, v.v. không thể xảy ra với người trợ giúp như trình bao bọc - ít nhất nó là shoudnt;)

do đó, với helper nó hoặc không chạy ở tất cả hoặc chạy như một nhóm các nhà phát triển có tay nghề cao thiết kế nó để làm việc. đặc biệt là đối với các nhà phát triển không có kỹ năng, đây thường là một tình huống có lợi: nhanh và đáng tin cậy hơn. bạn luôn có thể bắt đầu chuyển sang công cụ thủ công sau này (nếu bạn thấy đầu ra JS thực tế và bắt đầu hiểu nó).

cũng - khi bất kỳ phương pháp js nào cần phải thay đổi vì một số lý do, cách bạn sử dụng trình trợ giúp thường không. nếu bạn không sử dụng trừu tượng, bạn có thể thấy mình cần điều chỉnh thủ công tất cả các lần xuất hiện.

0

Giống như bất kỳ Người trợ giúp nào, JsHelper là một cách để phân tích nội dung trong chế độ xem của bạn theo cách đơn giản. Nhưng việc đưa mã JS/jQuery "thô" vào chế độ xem của bạn sẽ hoạt động tốt bằng cách sử dụng ví dụ $this->Html->scriptBlock.

Không có lợi ích thực sự mà tôi có thể nghĩ ra ngoài việc jQuery thay đổi cú pháp của một hàm cụ thể, bạn sẽ không cần phải điều chỉnh mã của mình khi sử dụng JsHelper. được thực hiện, thay vì bạn phải thay đổi tất cả mã JS "thô" của bạn trong tất cả các chế độ xem của bạn.

0

JsHelper giống như giàn giáo: rất tiện dụng nếu bạn chỉ cần những thứ cơ bản và chỉ những thứ cơ bản. Đó là, ajaxify một pagination hoặc một số yếu tố. Ngoài ra, tốt hơn là viết mã của riêng bạn, bởi vì bạn sẽ cần những thứ khi bạn cần chúng, chứ không phải cách trình trợ giúp được căn chỉnh theo mặc định.

Như mọi thứ khác trong một khung công tác: đó là một công cụ. Kiểm tra yêu cầu của bạn và sử dụng các công cụ tốt nhất hiện có.

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