2013-09-27 173 views
5

Tôi đang sử dụng Slim. Trong các số documentation, chúng chỉ hiển thị các ví dụ làm việc với chỉ một tệp index.php, tệp này có rất ít chức năng cho mọi tuyến đường. Ví dụ:PHP - Slim Framework: Thực hành tốt nhất với nhiều mã bên trong các tuyến đường đóng

$app = new \Slim\Slim(); 
$app->get('/books/:id', function ($id) { 
    //Show book identified by $id 
}); 

Nhưng trong trường hợp của tôi, tệp index.php ngày càng lớn, bây giờ tôi có nhiều mã cho hầu hết các tuyến, cách tốt nhất trong trường hợp này là gì? để bao gồm các tập tin bên trong các tuyến đường đóng cửa? Điều gì xảy ra với phạm vi của các biến toàn cầu, như kết nối DB hoặc cấu hình ứng dụng? Cảm ơn bạn

Trả lời

3

Brian Nesbitt đã tạo một bài đăng hay về điều này: http://nesbot.com/2012/11/5/lazy-loading-slim-controllers-using-pimple.

Nếu bạn không muốn sử dụng mụn, bạn có thể lấy một số ý tưởng từ phần "Lần thử đầu tiên chung", về cách tách các tệp của bạn.

update: Kể từ phiên bản 2.4.0 bạn có thể sử dụng "điều khiển lớp" sẵn có: Version 2.4.0

+0

Tốt aproach, nó bắt đầu có ý nghĩa! Cảm ơn rất nhiều. –

+1

Bộ điều khiển lớp là gì? Ví dụ nào? –

+1

Liên kết @bonope được cung cấp có một ví dụ rõ ràng về "Class Controller". – Werner