2010-04-13 30 views
12

Tôi chuẩn bị bắt đầu một dự án trang web nhỏ, tĩnh: không yêu cầu cơ sở dữ liệu hoặc CMS. Về cơ bản, một trang web brochure.Khi nào là một dự án PHP quá nhỏ cho một khung công tác?

Tôi đã sử dụng khung CodeIgniter gần đây để phát triển một ứng dụng web toàn diện, và tôi tự hỏi liệu nó có thích hợp để sử dụng CI cho các trang web nhỏ hơn, đơn giản hơn không. Thông thường cho một trang web brochure tĩnh, tôi sẽ viết các trang PHP thông thường với một vài trang được lưu vào để lưu trữ lặp lại (tức là HTML với PHP), nhưng lần này tôi tự hỏi liệu bạn mới CodeIgniter của tôi có thể có thể sắp xếp hợp lý quá trình phát triển.

Có hợp lý để xem xét một khuôn khổ cho một dự án đơn giản như vậy hay nó quá mức cần thiết? Tôi lo lắng rằng tôi có thể là thợ mộc ngôn ngữ mà chỉ có công cụ là một cái búa, và thấy mọi vấn đề như một cái đinh!

Trả lời

1

Bao lâu là một đoạn chuỗi?

Tôi sử dụng CodeIgniter (cụ thể là PyroCMS) cho trang tài liệu crappy 5 trang nhưng đó hoàn toàn là để cho khách hàng quản trị các trang của riêng họ dễ dàng bằng WYSIWYG.

Bất kỳ khách hàng nào cũng sẽ nói "Ồ, tin tức, biểu mẫu liên hệ và tôi cũng có thể đưa cho tôi một số thông tin trên Twitter đó ?!" vì vậy tôi chỉ đổ nó vào đó để cứu mọi người.

Nếu bạn đang phát triển từ đầu thì không có vấn đề gì nếu nội dung tĩnh. Một cái gì đó giống như CodeIgniter giúp với sự tương tác DB, xác nhận mẫu và chia nhỏ nhiều trang thành các khối logic, nghĩa là các lớp và phương thức của Bộ điều khiển.

Nếu bạn không có nội dung-db, không xử lý các biểu mẫu và không có nhiều trang thì không có điểm nào để thêm chi phí.

Điều đó nói rằng, hãy thử Twiny framework của tôi cho nghĩa là khung MVC nhỏ nhất xung quanh.

+0

Cảm ơn Phil. Tôi không quá cụ thể về các yêu cầu cụ thể của trang web cụ thể này, nhưng về cơ bản nó đã phá vỡ khoảng 40 trang nội dung tĩnh và 4 biểu mẫu. –

+0

OMG, tôi đã mất hơn 2 năm để đóng chủ đề này! Tôi là một SO noob khi tôi đặt ra câu hỏi này, và không nhận ra tầm quan trọng của việc chấp nhận một câu trả lời hữu ích. Dù sao, cảm ơn cho một câu trả lời hữu ích :) –

+3

Tôi đã ghét bạn mạnh mẽ trong hai năm qua, nhưng bây giờ chúng ta có thể là bạn. –

1

Nếu bạn không cần cơ sở dữ liệu, CMS và chỉ là một trang HTML/css/PHP tĩnh đơn giản, tôi không nghĩ bạn có thể tạo sai một trang web không có khung. Ngoài ra, nếu bạn đã sử dụng khung trong một thời gian dài, bạn có thể nghỉ ngơi và thực hiện "mã cho mã" và có cảm giác mã như thế nào từ đầu :)

8

Tôi nghĩ gần như không bao giờ, nhu cầu thay đổi và đến nhiều hơn với thời gian ... vì vậy tốt hơn là nên có một cơ sở tốt bằng cách sử dụng một khuôn khổ để chờ đợi nhu cầu trong tương lai. nhưng nếu dự án của bạn sẽ không có thời gian hoạt động lâu dài và nhu cầu của bạn là các mẫu mô phỏng reaaally thì tôi nghĩ là không cần sử dụng một khung công tác.

3

Cá nhân tôi sẽ không bao giờ phát triển một trang web bên ngoài một khuôn khổ cho bất kỳ điều gì nhiều hơn một trang duy nhất trang brocure-ware. Tôi làm việc nhanh hơn rất nhiều bên trong khuôn khổ.

Tôi là nhà phát triển Python/Django nhưng đây là của tôi.

Tôi đã thực hiện một số trang web không có khung nhỏ với PHP và tôi không biết cách khung PHP so sánh với DJango, nhưng nếu chúng giống nhau thì thực tế tôi vẫn phát triển thành thạo hơn trong khuôn khổ hơn là viết mã gì đó từ đầu bằng tay.

Điều này giúp tôi luôn được tổ chức nếu không có gì ngoài việc cho tôi VC của MVC. Django cung cấp cho tôi rất nhiều công cụ tích hợp, như xử lý biểu mẫu, làm cho cuộc sống của tôi dễ dàng hơn nhiều ngay cả đối với các trang web nhỏ.

Tôi sẽ giả sử các khung công tác PHP cung cấp những thứ tương tự, có thể là không.

Bạn cũng không thể dự đoán trang web sẽ phát triển như thế nào theo thời gian. Nó dễ dàng hơn để duy trì một cái gì đó được xây dựng trong một khuôn khổ, và nếu bạn cần phải mở rộng trang web trong tương lai, thật tuyệt khi có một số cấu trúc đằng sau nó.

+2

Họ làm ... Tôi thực sự thấy Django khá "lỏng lẻo" với cấu trúc mà nó áp đặt ... một chút quá lỏng lẻo trong thực tế; Tôi không thích nó. Một cái gì đó như CakePHP mà tin vào Convention Over Configuration thực sự có thể cắt giảm thời gian thiết lập các tuyến đường, và quyết định tên mẫu, cấu trúc thư mục và những thứ khác ... Django cung cấp rất nhiều công cụ, nhưng tôi thấy khả năng mở rộng tốt hơn/dễ dàng hơn nhiều Bánh, trong khi nếu bạn cần một cái gì đó nhiều hơn trong Django nó khó khăn hơn để xây dựng trên đầu trang của. Trường hợp tại điểm, lớp người dùng buộc bạn phải đi xuống tuyến đường "hồ sơ" này, một sự tách biệt mà tôi thấy là --- – mpen

+2

--- hoàn toàn không cần thiết và gây phiền nhiễu. Nhưng than ôi, nó cũng có nhiều điểm tốt. Dù sao, điểm là, khung PHP là tốt để cắt giảm thời gian và cung cấp cấu trúc là tốt. Họ từng có điểm mạnh và điểm yếu của họ (Django có một IMO ORM tốt hơn nhiều). – mpen

+1

Việc tổ chức bạn mô tả (VC của MVC) cũng là điều hấp dẫn đối với tôi.Tôi đã không làm việc với Django, nhưng CI chắc chắn có các chức năng trợ giúp HTML, các lớp xác nhận biểu mẫu và các công cụ tiết kiệm thời gian khác mà bạn mong đợi trong một khung công tác. –

0

Đối với một trang web đơn giản như vậy. tại sao thậm chí sử dụng một khuôn khổ tại sao không sử dụng một cái gì đó như concrete5. Overkill? chắc chắn. nhưng hey nó rất dễ dàng và đòi hỏi hầu như không có mã hóa để bảo trì là một khoe.

Trang web sẽ hoạt động sau chưa đầy một giờ và điều này khiến bạn trông đẹp mắt trong mắt khách hàng và điều đó không thể làm tổn thương.!

2

Vì tôi có khuynh hướng kế thừa các khung riêng biệt hoặc viết của riêng tôi, tôi sẽ đặt nó ở khoảng 3 trang: nếu có nhiều hơn, thì việc thiết lập khung là đáng giá. Và nếu nó cần một DB, thì tỷ lệ cược là tốt bạn sẽ kết thúc với hơn 3 trang, anyway. :-)

+0

Trang web sẽ có khoảng 40 trang, do đó, do defintition của bạn, nó chắc chắn đủ lớn để hưởng lợi từ một khuôn khổ. –

+6

Nếu nó là một trang web, không phải là một ứng dụng (tức là không tương tác nhiều người dùng bên cạnh việc xem các trang), tôi tiếp cận với một CMS trên một khung công tác. Khá nhiều bất cứ điều gì bạn sẽ thực hiện chính mình đã được thực hiện cho bạn rồi. Nhược điểm là bạn cảm thấy ít giống như một coder và giống như một công nhân lắp ráp, và đôi khi bạn sẽ chạy vào một cái gì đó là một nỗi đau để làm theo cách CMS ra lệnh, nhưng phát triển thường nhanh hơn nhiều. – jergason

+0

Một khuôn khổ có thể bắt đầu đơn giản như một nơi để đặt các hàm và thành phần trang chung. – staticsan

0

Tôi không nghĩ rằng bất kỳ dự án nào là quá nhỏ đối với một khuôn khổ, tôi nghĩ rằng một số khung công tác quá lớn đối với các dự án nhỏ. Mọi người hy vọng trang web của họ sẽ phát triển.Vì vậy, dù trang web nhỏ đến mức nào đi chăng nữa, sự tăng trưởng sẽ dễ dàng hơn trong việc quản lý nếu bạn bắt đầu với một khung công tác.

2

Tôi khuyên bạn nên Rapyd, một "khung công tác PHP tối giản và nhanh chóng".

0

Trường hợp duy nhất khi khung công tác là quá mức cần thiết với các tập lệnh ném đi, chẳng hạn như khi bạn cần nhanh chóng tự động hóa một thứ mà bạn sẽ không cần phải làm lại bao giờ. Đối với bất cứ điều gì mà sẽ nhập chu kỳ thực hiện nhiều hơn sau đó vài lần khung là một có lẽ sẽ tốt hơn.

0

Nếu yêu cầu trong vài giờ làm việc - thì nó nhỏ. Dù sao nếu bạn có kế hoạch dành nhiều hơn "vài giờ" - chắc chắn sử dụng một khuôn khổ và một hệ thống sửa đổi kiểm soát.

0

Điều đó tùy thuộc. Nếu bạn tích cực, đây là tất cả trang web bạn đang làm việc, hoặc di chuyển khi nhu cầu trong tương lai phát sinh, thì tôi không thể hiểu tại sao có lý do sử dụng khung, trừ khi bạn cảm thấy thoải mái hơn khi làm việc với một . Là một ví dụ cá nhân, gần đây tôi đã làm việc trên một trang web bán tĩnh, mà tôi đã đặt cùng một khung làm việc tối thiểu làm bộ đệm xử lý bộ nhớ đệm cho html tĩnh, chèn các phần tử html thông thường vào các vị trí đặt trước. Điều này cho phép một số nội dung động, nhưng vẫn chỉ sử dụng html tĩnh cho nội dung.

Tôi muốn nói rằng bạn đang trả lời nằm trong một công thức bao gồm nhu cầu phát triển trong tương lai, sở thích làm việc của riêng bạn và hiệu suất.

1

Trang web không bao giờ nhỏ nếu khách hàng ở đó có thể muốn yêu cầu bạn thêm nhiều chức năng hơn bất cứ lúc nào :)

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