Có một số câu hỏi về khung công tác PHP, nhưng tôi tò mò muốn sử dụng cái nào trong thế giới thương mại khi phát triển các ứng dụng web bằng PHP. Tại công việc dựa trên web đầu tiên của tôi, họ không có một khuôn khổ cho codebase PHP. Điều này có phổ biến khi giao dịch với PHP không? Nếu không, những khung công tác nào cho các công ty sản xuất một sản phẩm (hoặc một trang web cung cấp dịch vụ của một số loại hoặc một sản phẩm dựa trên web có thể được mua) bằng cách sử dụng PHP có xu hướng sử dụng?Khung công tác PHP nào được sử dụng bởi các tập đoàn?
Trả lời
Trong lần cuối hai ba địa điểm tôi đã làm việc, công ty có khuôn khổ riêng (riêng, được xây dựng trong nhà).
Điều này có phổ biến khi giao dịch với PHP không?
Theo kinh nghiệm của tôi, thật không may. Tất nhiên, đây là một khái quát tổng quát, nhưng những người có xu hướng học PHP như ngôn ngữ lập trình đầu tiên của họ không tìm hiểu các yếu tố cần thiết để phát triển phần mềm có thể duy trì và thường không biết cách viết mã tốt. Tôi nghĩ rằng đây là một thất bại của cộng đồng PHP, nơi mà hầu hết các tài nguyên học tập không nhấn mạnh các thực hành tốt (có lẽ vì các tác giả không biết gì tốt hơn). Tất nhiên bạn có thể viết mã tốt với PHP, miễn là bạn hiểu các nguyên tắc lập trình cơ bản.
Các công ty thường sẽ bắt đầu với cơ sở mã hap-hazzard của các tập lệnh PHP được sử dụng lại và dần dần được mở rộng từ dự án đến dự án (thường không có kiểm soát nguồn!). Các công ty biết họ đang làm gì và nghiêm túc phát triển điều này thành một dạng khung nội bộ nào đó, hoặc tôi thường thấy rằng họ sẽ chuyển sang thứ gì đó mà không có sự crap lịch sử của PHP, như Django hay Ruby on Rails.
Nếu bạn mới bắt đầu, có một số khung công tác MVC phù hợp sẽ tạo cơ sở tốt cho tất cả các nhà phát triển của bạn để tìm hiểu và sử dụng. Không theo thứ tự đặc biệt:
Tất nhiên có những người khác là tốt.
Điều đó nói rằng, như mọi khi, nó phụ thuộc vào dự án. Đôi khi một khuôn khổ sẽ không có ý nghĩa hoặc sẽ quá mức cần thiết, những lúc khác, bạn nên sử dụng một sản phẩm được xây dựng sẵn (như CMS) và xây dựng các tiện ích mở rộng cho nó.
Hầu hết các khung công tác đều tập trung mạnh vào lớp trình bày. Bây giờ, "công ty" tất nhiên là một thuật ngữ khá mơ hồ, nhưng tôi giả sử bạn có nghĩa là cho các nhiệm vụ CNTT điển hình hơn, chẳng hạn như kế toán, CRM, vv Đối với những nhiệm vụ này, lớp trình bày là một phần nhỏ hơn nhiều của toàn bộ ứng dụng. Điều này không chỉ làm cho các khung công tác nói ít quan trọng hơn - nó thực sự loại bỏ chúng một chút, vì bạn không muốn các hạn chế trên lớp mô hình của bạn, mà chúng áp đặt.
Bây giờ câu trả lời này là câu trả lời tôi thực sự thích! Điều này là rất đúng, tôi đã tìm thấy ngay cả Django (O.K. đó không phải là php nhưng vẫn: P) mô hình lớp là quá hạn chế cho các mục đích, nêu trong câu trả lời của bạn. Hầu hết thời gian, nó dễ dàng hơn để mã lớp mô hình mình từ đầu và sau đó bolt trên một số bài thuyết trình, thay vì sau đó cố gắng điều chỉnh một khuôn khổ cho nhu cầu của bạn. – shylent
Cảm thấy hơi giống nhau ở đây - ứng dụng mạng nội bộ tùy chỉnh. – namespaceform
Tôi nghĩ việc sử dụng khung làm việc ngày càng phổ biến hơn. Một vài năm trở lại hầu hết các lập trình viên phát triển khuôn khổ riêng của họ. Nhưng chi phí để đào tạo một nhân viên mới cho một khuôn khổ như vậy ngày càng cao. Do đó, nhiều công ty đang chuyển sang các khuôn khổ nổi tiếng.
Tôi đoán rằng Zend hiện là Khung được sử dụng nhiều nhất trong môi trường của công ty. Một lý do là nó không cung cấp cho bạn bất kỳ hạn chế nào trên lớp mô hình.
Tôi không thể dự đoán tương lai nhưng tôi đoán rằng Flow3 cũng sẽ được sử dụng trong tương lai. Đây là Khung mới đằng sau Typo3. Và nhiều nhà phát triển Typo3 (nhà thiết kế web), những người cần viết các ứng dụng web có thể sẽ sử dụng Flow3 sau đó.
Tôi không chắc liệu PHP đã đi vào thị trường doanh nghiệp ở Hoa Kỳ chưa nhưng khi tôi làm việc trong một văn phòng công ty thì ngôn ngữ họ sử dụng là Microsoft .NET. PHP chưa tham gia IMO thế giới của công ty. Nó phổ biến với thế giới hacker và có thể là các công ty phần mềm/web nhỏ và vi mô.
gần đây tôi đã nói chuyện với một CTO của một công ty, cung cấp giải pháp e-lecture và chúng tôi đã nói về PHP trong một thời gian ... chúng tôi đều đồng ý, đó không phải là ngôn ngữ tốt nhất cho các giải pháp đá rắn. khuôn khổ symfony, họ đã sử dụng ngay trước khi chuyển sang java ...
cũng có, flow3 đề cập bởi Raffael là khá mạnh mẽ ... điều thú vị nhất đối với tôi là, nó mang lại AOP vào PHP ...
Greetz
back2dos
Khung công tác cấp doanh nghiệp duy nhất tôi có thể nghĩ là khung công tác Zend. CakePHP, Code Igniter và những người khác chỉ tập trung vào phát triển RAD.
Tôi chưa bao giờ sử dụng Zend nhưng tôi không đồng ý với những người khác, từ cuộc gặp gỡ ngắn ngủi của tôi với CodeIgniter Tôi không thấy lý do tại sao nó không phù hợp với các dự án quy mô lớn hơn. Đối với "cấp doanh nghiệp", khi tôi đã tìm ra điều đó có nghĩa là tôi sẽ là một người thông minh thực sự ;-) – roryf
Doanh nghiệp có nghĩa là "dễ chấp nhận", "dễ thay thế", "dễ bảo trì" và thương mại được cấp phép. Trong các điều khoản khung, dễ chấp nhận và thay thế nghĩa là bạn có thể thực hiện từng phần một và dễ duy trì có nghĩa là hành vi có thể dự đoán qua các bản phát hành, tổ chức mã minh bạch và nhà cung cấp hỗ trợ. –
"được cấp phép thương mại" một lần nữa tôi không đồng ý - nhiều dự án mã nguồn mở (đặc biệt là trong thế giới Java và .NET) phù hợp với hóa đơn của bạn "cấp doanh nghiệp". – roryf
Bạn có thể muốn xem www.flow3.org, đây là một cách tiếp cận khá toàn diện đối với khuôn khổ ứng dụng PHP và đang nhanh chóng tiếp cận bản phát hành Beta chính thức đầu tiên của nó.
Có kinh nghiệm với CI, yiiframework và calephp (không nhiều, thực sự) ý kiến của tôi là CI không linh hoạt như ohter 2, vì vậy tôi không khuyến khích nó trên các dự án quy mô lớn hơn. Bất cứ ai không đồng ý, chỉ có thể thử một dự án trình diễn với cakephp và Yii và anh sẽ xem làm thế nào mọi việc dễ dàng hơn với họ như crud, hình thức xác nhận, vv Dĩ nhiên tất cả đều có nhược điểm của họ :)
Theo một PHP Framework Popularity at Work survey by Sitepoint trong 2015 (7554 người tham gia khảo sát) ngũ khuôn khổ sử dụng nhiều nhất là
- Laravel (22%)
- Symfony2 (14%)
- Nette (9%)
- CodeIgniter (8%)
- Yii 2 (7%)
Hơn nữa kết quả điều tra cho thấy, rằng
- 5% sử dụng một công ty khuôn khổ nội bộ,
- 3% sử dụng không có khuôn khổ tại tất cả,
- 3% sử dụng CMS cho mọi thứ,
- 1% sử dụng khung MVC đơn giản.
Dường như có lục cụ thể ưu đãi về khung: Ở Mỹ và châu Á, Laravel có vẻ là khuôn khổ của sự lựa chọn (trừ Nga: Yii 2), trong khi ở châu Âu, bạn sẽ tìm hiểu thêm Symfony2.
(Hãy lưu ý rằng điều này chỉ được tham chiếu từ một nguồn - xem các liên kết ở trên.)
- 1. Phiên bản khung công tác .NET được sử dụng
- 2. URL khá trong khung công tác PHP
- 3. Có ứng dụng nào xóa các lớp không sử dụng khỏi khung công tác không?
- 4. Tôi có nên sử dụng một khung công tác không?
- 5. Sử dụng các thành phần của khung công tác Zend mà không có khung thực tế?
- 6. Cách dễ nhất để sử dụng khung công tác ORM cho PHP là gì?
- 7. Những khung công tác nào để sử dụng cho các ứng dụng java Desktop
- 8. cách sử dụng khung công tác khởi động twitter trong một ứng dụng khung công tác zend 1?
- 9. Đăng lên khung công tác PHP của Yii bằng Backbone.js
- 10. Tại sao sử dụng khung công tác IoC
- 11. Tập tin settings.xml nào được sử dụng bởi jenkins slave?
- 12. Khung công tác PHP nào phù hợp cho các ứng dụng chỉ dành cho dịch vụ web?
- 13. Các khung công tác web Java
- 14. Cách sử dụng khung công tác Qt Model/View với khung nhìn Graphics View
- 15. Khung công tác nào để sử dụng: CodeIgniter, Symfony hoặc CakePHP?
- 16. Thử lại khung công tác
- 17. Sử dụng các công đoàn mở bên ngoài mô-đun được xác định trong
- 18. Khung web nào được sử dụng bởi các trang web như Producteev và Trello?
- 19. thư viện/khung công tác xác thực người dùng php ... các tùy chọn là gì?
- 20. Làm thế nào để kiểm tra loại hiện đang được sử dụng trong công đoàn?
- 21. Cách sử dụng của công đoàn trong một lớp
- 22. Các khung công tác web của Python và các khung công tác web Java (cách phát triển web bằng Python được thực hiện?)
- 23. Thư viện và khung công tác Scala
- 24. Công đoàn ẩn danh và một công đoàn bình thường
- 25. Khi nào là một dự án PHP quá nhỏ cho một khung công tác?
- 26. Làm thế nào để tạo ra một API công cộng bằng cách sử dụng khung công tác Zend?
- 27. Ứng dụng web, mẫu, khung công tác trên iPhone?
- 28. Tệp .gem có chứa gì? Làm thế nào nó đang được sử dụng bởi khung Rails?
- 29. Có giá trị nào khi sử dụng khung công tác Silverlight không?
- 30. Khung Khởi động Twitter và Khung công tác Zend
Vâng, tiêu đề có thể sử dụng một số công việc, tôi nghĩ vậy. Nhưng câu hỏi hoạt động. –
IMO, câu hỏi này là tốt. Mọi người cần cảm thấy thoải mái trước khi áp dụng điều gì đó cho công việc của công ty. – namespaceform