2009-06-17 6 views
7

Tôi sắp bắt đầu xây dựng một ứng dụng chăm sóc sức khỏe lâm sàng rất lớn với PHP và tôi đang tìm kiếm một số lời khuyên về một khuôn khổ. Tôi cần để có thể đưa ra một nguyên mẫu nhanh chóng, do đó, điều quan trọng là khuôn khổ phải chăm sóc nhiều nhiệm vụ trần tục; do đó, tôi đã thu hẹp nó xuống CakePHP hoặc Symfony.Khung MVC PHP nào cho doanh nghiệp; CakePHP hoặc Symfony?

Tôi hy vọng sẽ nhận được một vài ý kiến ​​nhà phát triển đã làm việc với cả hai khung công tác.

Xin cảm ơn, Pete

+0

Xin chào mọi người, Zend không phải là một trong những lựa chọn của tôi. Zend_ACL bị vỡ, và đã lâu rồi. – slypete

+0

Có một bài viết hay về cách sử dụng ACL theo cách nó được dự định ở đây: http://devzone.zend.com/article/3509 –

Trả lời

6

IBM công bố một bài báo ở đây trên cả những khuôn khổ cùng với Zend trong một comparisson, xem:

http://www.ibm.com/developerworks/opensource/library/os-php-fwk1/?S_TACT=105AGX44&S_CMP=ART

Cá nhân tôi sử dụng CakePHP, nó khá tuyệt vời so với chỉ thẳng ra PHP. Dễ dàng xây dựng mọi thứ, MVC tập trung, tích hợp hợp lý với các thành phần của bên thứ ba. Tôi đã có một số vấn đề với việc thiếu bất kỳ loại đường dẫn nâng cấp rõ ràng giữa các phiên bản mặc dù. Tôi không thể nói cho Symfony, nhưng tôi tin rằng nó nặng hơn CakePHP.

Hãy xem screencast.Bạn cho CakePHP là tốt, họ đưa ra một cái nhìn tổng quan tốt:

http://cakephp.org/screencasts

+0

Rất tốt tài nguyên IBM cảm ơn! – slypete

3

Tôi khuyên bạn nên đọc câu trả lời đúng cho this question. Nó đề cập đến khung công tác Zend như là sự lựa chọn tốt nhất, và trình bày một số điểm chính xác để biện minh cho nó.

+0

Có một câu trả lời tuyệt vời: P –

+0

Rất nhiều đồng ý. – Tom

+0

Cảm ơn nhưng Zend không phải là một trong những khuôn khổ mà tôi đã hỏi. Tôi không thể sử dụng Zend vì đã có một lỗi trong Zend_ACL trong một thời gian khá dài. – slypete

0

Tôi đã có kinh nghiệm tối thiểu với cả các khuôn khổ, nhưng tất cả tôi đã từng nghe nói về symfony là khiếu nại (mặc dù nó dường như được sử dụng một tấn!). Có lẽ chỉ là mọi người không dành thời gian để tìm hiểu đầy đủ về khuôn khổ. Từ kinh nghiệm của tôi cả hai dường như là khuôn khổ tốt, nhưng giống như bất kỳ nhà phát triển tốt, bạn phải hiểu ít nhất mức độ trừu tượng bên dưới những gì bạn đang sử dụng để có hiệu quả.

+0

Tôi yêu symfony! (bây giờ bạn đã nghe bất cứ điều gì khác hơn compaints ;-) – phidah

0

Tôi đã không được sử dụng các khuôn khổ khác, nhưng tôi sử dụng Zend Framework và nó là rất tốt. lợi ích là:

  1. sạch và tiêu chuẩn thư viện, mã hóa phong cách, công ước, vv
  2. hỗ trợ
  3. doanh nghiệp: nó được hỗ trợ bởi Zend, công ty mà mọi lập trình viên PHP biết
  4. thủ toàn diện, nhiều bài đăng trên blog và hướng dẫn, ít nhất 2 cuốn sách được viết tốt
  5. có gói trên hầu hết các hệ điều hành nguồn mở, vì vậy dễ dàng cài đặt và duy trì
  6. dự án nguồn mở rất trực tiếp, cập nhật đến sớm bạn không thể theo kịp chúng.
  7. giấy phép mở: ZF sử dụng giấy phép BSD-như vậy bạn sẽ không có nhiều vấn đề cấp phép
5

Tôi muốn để đối phó với một số lập luận trình bày ở trên. Tôi đã làm việc rộng rãi với Zend Framework và symfony, và tôi đã có một cái nhìn ngắn gọn về CakePHP.

Trước hết, so với symfony, tài liệu ZF không phải là "mở rộng" - mặt khác nó khá hời hợt. Thứ hai, tôi nghĩ rằng cộng đồng symfony có sẵn và hữu ích hơn nhiều so với khung công tác ZF nói chung, và quá trình phát triển là minh bạch hơn nhiều.

Tuy nhiên, tôi đồng ý rằng Zend Framework được hưởng lợi từ việc được hỗ trợ bởi Zend, có thể là một đối số mạnh mẽ cho các dự án doanh nghiệp.

Trong kinh nghiệm của tôi, symfony có nhiều khuôn khổ hơn ZF. Trong symfony bạn sử dụng toàn bộ gói - hoặc toàn bộ khung, trong khi bạn trong ZF có thể sử dụng các công cụ theo sở thích của bạn, làm cho nó giống như một "hộp công cụ" hơn là một khung công tác.

Cũng nên nhớ rằng nếu bạn thích một số công cụ trong ZF, bạn sẽ có thể sử dụng chúng trong các dự án symfony (và có lẽ cả CakePHP), cùng với symfony/CakePHP.

Đây không thực sự là câu trả lời nhưng giống như một nhận xét chung cho các câu trả lời được đưa ra ở trên.

+2

Đồng ý với nhận xét "hộp công cụ". CakePHP cũng là một khung công tác đầy đủ - đó có thể là lý do tại sao nó hoạt động kém hơn trong các tiêu chuẩn (nó đi qua một sự khởi tạo đầy đủ mọi yêu cầu, trong khi ZF chỉ tải một số mô-đun). Và hầu hết các điểm chuẩn chỉ đo lường một ứng dụng kiểu chào thế giới. –

0

Các quyết định khung của tôi bị làm cạn xuống điều này (lưu ý rằng tôi chủ yếu sử dụng Bánh, ít Zend, và đã sử dụng chung với CodeIgniter và symfony).

Zend là enterprisey nhiều nhất. Bạn nhận được các folks @ Zend hỗ trợ nó - Tôi nghĩ rằng đó là thời gian phát triển mạnh mẽ nhất về phía trước. Nó cũng có một số mô-đun tuyệt vời như trình đọc PDF, v.v.

Trọng tâm của CakePHP (IMO) đang phát triển nhanh chóng. Nhưng nó luôn là một trong những hiệu suất tồi tệ nhất-khôn ngoan - nếu bạn đang đi để có một ứng dụng sử dụng nặng, tôi nghĩ rằng Paul M Jones có một số bài viết về điểm chuẩn. Zend nhanh hơn 2-2,5 lần so với Cake, IIRC. Nếu bạn không có kinh nghiệm MVC, Bánh có thể là một lựa chọn tốt b/c nó def. khóa bạn vào MVC. Tôi thấy mình liên tục cần phải suy nghĩ bên ngoài mô hình của họ, mặc dù - đó là lý do tại sao tôi đang dần chuyển sang Zend.

Các khung công tác khác cũng có những điểm mạnh khác nhau. Tại PHP | Tek ở Chicago, CodeIgniter là cuộc nói chuyện của hội nghị, vì vậy nó có thể có nhiều động lượng trong một hoặc hai năm tới.

Bánh và Zend cũng có tích hợp siêu chặt chẽ với một số công cụ enterprisey khác như kiểm tra đơn vị, vv

2

Hãy để tôi bắt đầu bằng cách nói rằng tôi không có kinh nghiệm trước với CakePHP hoặc Zend khác hơn khi duyệt trong mã khuôn khổ và tài liệu của họ. Tôi bắt đầu sử dụng Symfony khoảng 15 tháng trước và tôi đã nghiên cứu trước khi sử dụng framework nào. Tôi quyết định tham gia Symfony vì tôi đã tìm thấy lõi Symfony được viết theo một cách tốt đẹp và có trật tự. Tôi cảm thấy như tôi có thể dễ dàng hiểu được khuôn khổ bằng cách đọc chính mã đó. Bên cạnh đó tôi đã tìm thấy một số lượng lớn tài liệu thực sự tập trung vào làm việc với khung công tác để sản xuất một số chức năng nhất định. Rất thực dụng để nói. CakePHP dường như không phù hợp với phong cách cá nhân của tôi và tôi nhận thấy cốt lõi là rất khó khăn. Một lần nữa, tôi có thể sai nhưng đây là cách tôi cảm thấy về nó trở lại hơn. Sau 15 tháng viết mã với Symfony, tôi vẫn rất hài lòng. Thường thì bạn đọc nhận xét hoặc blog nói rằng nó quá phức tạp. Tôi nghĩ những người này xúc phạm trí thông minh của họ. Nó thực sự mất một thời gian trước khi bạn có được một nắm vững của các khuôn khổ bên trong và phương pháp tiếp cận với các vấn đề nhưng một khi bạn đã qua thời điểm đó nó thực sự là một công cụ tuyệt vời. Cộng đồng rất hữu ích và tương lai trông tươi sáng. Tất cả trong tất cả tôi chỉ có thể tư vấn cho bạn để đi với cảm giác ruột của bạn khi bạn nhìn vào các phương pháp tiếp cận được thực hiện bởi các khuôn khổ và mã của họ và phong cách mã hóa. Bạn sẽ dành rất nhiều thời gian trong các khuôn khổ này để bạn phải cảm thấy thoải mái khi bạn xem mã của họ và giải pháp của họ cho các vấn đề chung. Mọi khuôn khổ ra có khủng khiếp nếu bạn bắt đầu chiến đấu với nó, đi cùng với nó sẽ làm cho mỗi một trong số họ là một công cụ tuyệt vời. Một số có thể cuối cùng hóa ra tốt hơn cái kia.Tôi đoán bạn sẽ biết câu trả lời cho chính mình sau khi hoàn thành dự án của bạn với nó.

Chúc may mắn :-)

0

Chắc chắn Yii, chúng tôi sử dụng nó nhiều lần cho doanh nghiệp và rất hài lòng với kết quả. Tôi đặc biệt thích các phần mở rộng của nó như backvendor, coco, bootstrap. Đối với tôi, Yii khá dễ học và thực hiện. Thử bánh php nhưng yii có vẻ rõ ràng hơn nhiều. Dù bạn đang sử dụng bất kỳ khung công tác nào, bạn phải liên tục cải thiện các kỹ năng ngôn ngữ cốt lõi của mình. Điều này giúp tận dụng tối đa khung công tác mà bạn đang sử dụng.