2010-01-27 14 views
17

Tôi muốn tạo trình trợ giúp của riêng mình nhưng không thể tìm thấy bất kỳ trợ giúp nào trên Google cho Symfony 1,4/Doctrine.Làm thế nào để thực hiện một trợ giúp trong Symfony 1.4?

Tôi đoán nó có liên quan đến việc tạo một myClassHelper.class.php trong lib/helpers/ hoặc gì đó, nhưng tôi không biết phải triển khai gì hoặc nếu phương pháp cụ thể phải được ghi đè.

Mọi trợ giúp sẽ được đánh giá cao!

+3

Helpers trong symfony 1.4 không phải là lớp học - chúng chỉ có chức năng – develop7

Trả lời

33

Tôi không nghĩ rằng bất kỳ điều gì đã thay đổi liên quan đến người trợ giúp trong phiên bản 1.4. Từ documentation (mặc dù 1.2):

chức năng Helper (chức năng PHP thường xuyên trở về HTML code) nên được lưu trong một tập tin gọi là FooBarHelper.php, nơi Foobar là tên của nhóm helper. Lưu trữ tệp trong thư mục apps/myapp/lib/helper/ (hoặc trong bất kỳ thư mục helper/ nào được tạo dưới một trong số lib/ thư mục của dự án của bạn) để có thể tìm thấy trình trợ giúp use_helper('FooBar') tự động tìm thấy để đưa vào.

Vì vậy, bạn chỉ cần đặt các chức năng bình thường vào một tệp thông thường (không liên quan gì đến các lớp hoặc phương pháp). Các hàm có thể lấy các tham số tùy ý (bạn quyết định những gì chúng cần để tạo HTML) và phải trả về HTML.

Ví dụ:

MyHelper.php

function hello_word() { 
    return '<strong>Hello world!</strong>'; 
} 

và trong mẫu:

<?php use_helper('My') ?> 

<!-- somewhere in the template --> 
<?php echo hello_world() ?> 
+0

cảm ơn, haha ​​.. nó quên khuấy đi rằng hàm trợ giúp của tôi đã trả về một chuỗi, nhưng mẫu của tôi chỉ đơn giản gọi hàm trợ giúp mà không lặp lại nó :) – targnation