2009-04-24 35 views
17

Tôi luôn bị ám ảnh bởi câu hỏi này khi bắt đầu một dự án mới. Khi tôi nhìn vào các ví dụ như Mephisto, Typo, vv, họ định tuyến gốc của họ đến một bộ điều khiển có liên quan đến một tài nguyên/mô hình cụ thể.Đặt tên cho bộ điều khiển gốc

Vấn đề của tôi là, hầu như mọi trang web tôi từng xây dựng, tôi cảm thấy trang chủ của tôi thực sự là sự cộng tác của tất cả các mô hình của tôi. Tôi không thể thấy mình chỉ vào bộ điều khiển liên quan đến một trang web cụ thể làm trang đích của tôi.

Có ai có xu hướng tạo bộ điều khiển dành riêng cho mặt trước của trang web không? Hoặc nếu có lẽ tôi đang nhìn vào điều này hoàn toàn sai, xin vui lòng cho tôi biết.

chỉnh sửa:

Đây là nơi sự nhầm lẫn của tôi tồn tại: root

rboard's routes bản đồ để chỉ số điều khiển tên ... nhưng tôi thậm chí không thể tìm thấy một bộ điều khiển chỉ số

mephisto's routes sử dụng một số custom routing và không có gốc hoặc thậm chí là bản đồ.kết nối với '/'

radiant's routes đối với phần lớn ứng dụng được chuyển đến một bộ điều khiển, sau đó thực hiện một số phép thuật điên

track's routes đi tới bộ điều khiển có liên quan đến tài nguyên (đây là ví dụ gần nhất với những gì tôi mô tả ở trên) ... nhưng không phù hợp với tôi vì như tôi đã nói, gốc của tôi có xu hướng có rất nhiều thứ.

spot us thực sự làm điều gì đó tương tự như những gì tôi làm, có bộ điều khiển nhà chỉ có hành động hiển thị và đó là trang chủ của tôi.

+0

Tôi cũng gặp sự cố này trên Django và ASP.NET. cho phép không giới hạn câu hỏi của bạn cho một khuôn khổ cụ thể. :)) – AmiNadimi

Trả lời

9

Vấn đề của tôi là, hầu hết các trang web mà tôi từng xây dựng, tôi cảm thấy như phía trước của tôi trang thực sự là sự cộng tác của tất cả các kiểu máy của tôi và tôi không thể thấy chính mình trỏ đến bộ điều khiển là liên quan đến một mẫu cụ thể là trang đích của tôi.

Chính xác. Vì vậy, những gì bạn đang làm là chính xác.

Tôi thường thực hiện hai bộ điều khiển để tương tác với những thứ không phải là công cụ REST thông thường: 'chào mừng' và 'trang tổng quan'. Bộ điều khiển chào mừng được ánh xạ tới gốc của trang web của tôi và bộ điều khiển 'trang tổng quan' tương tự, nhưng đối với người dùng đã đăng nhập.

+0

Vì vậy, những gì bạn đang nói là trang chủ của hầu hết mọi người về cơ bản là một nguồn tài nguyên yên tĩnh, nơi tình huống này đảm bảo một trường hợp đặc biệt để không ánh xạ tới một bộ điều khiển có liên quan đến một mô hình. – phillc

+0

Tôi không biết về hầu hết mọi người. Mỏ thường giống như của bạn. Họ không phải là một resouce, họ là một bó của những người khác nhau. –

2

Không chắc chắn đây có phải là câu trả lời bạn đang tìm kiếm hay không, nhưng dưới đây là những gì tôi làm. Tôi thường sử dụng một sự kết hợp của hai loại điều khiển, một bộ điều khiển phía trước và bộ điều khiển hành động. Bộ điều khiển phía trước sẽ quản lý định tuyến URL và xác định hành động cần thực hiện, trong khi Bộ điều khiển hành động cung cấp chức năng thực tế. Đó là một cách tiếp cận tương tự với những gì Zend Framework thực hiện.

Với điều đó được nói, tôi sẽ dẫn tất cả lưu lượng truy cập thông qua Bộ điều khiển mặt trận, bao gồm cả lưu lượng truy cập trang chủ. Tôi thường có một bộ điều khiển hành động có tên là "IndexController" xử lý các yêu cầu trang khác nhau, và thường trang đầu tiên thuộc danh mục đó (cũng như các trang như chính sách bảo mật, biểu mẫu liên hệ, v.v.).

Nếu một trang không liên quan cụ thể đến bất kỳ logic miền kinh doanh nào của trang web, tôi có xu hướng đặt nó trong bộ điều khiển hành động chỉ mục của mình, mặc dù tôi cố gắng nhóm chức năng trang web tốt nhất có thể.

5

Có ai có xu hướng tạo bộ điều khiển dành riêng cho mặt trước của trang web không? Hoặc nếu có lẽ tôi đang nhìn vào điều này hoàn toàn sai, xin vui lòng cho tôi biết.

Câu trả lời ngắn gọn là "có".

Đối với giá trị của nó, tôi thường có cách tiếp cận tương tự với Spot.Us và xác định HomeController bằng chỉ mục/xem và chỉ để nguyên ở đó.

+1

Tôi đi với HomeController. Trang chủ, Mặc định, Trang web tất cả dường như tốt với tôi. –

0

SiteController có vẻ như là tên tốt nhất đối với tôi.SiteController sẽ chứa hành động quan trọng nhất, chỉ số của bạn, và SiteController tôi luôn luôn chứa các hành động khác như tiếp xúc, khoảng vv

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