2010-08-01 35 views
18

Tôi là một nhà phát triển PHP trung gian không có kinh nghiệm xây dựng một ứng dụng web quy mô lớn bằng ngôn ngữ này (mặc dù tôi có trong các ngôn ngữ khác, chủ yếu là Rails) ... nói rằng tôi muốn xây dựng một trang mạng xã hội bằng PHP và MYSQL (tốt nhất) với tất cả các trang web 2.0.PHP framework cho mạng xã hội

Tôi nên bắt đầu từ đâu? Tôi nên xem xét loại khung công tác nào? Bất kỳ sách cập nhật nào hiện đại sẽ phác họa một cái gì đó như thế này? Thực sự bất cứ điều gì để xây dựng một ứng dụng web hiện đại trong PHP.

+0

* (tổng quan) * http://www.phpframeworks.com/ và http://www.php-frameworks.net/ – Gordon

Trả lời

14

Ryan, có một khung php gọi là Elgg là một khuôn khổ php hướng vào các ứng dụng dựa trên mạng xã hội.

+0

Elgg là tuyệt vời cho xây dựng các trang web mạng xã hội phức tạp –

-1

Tôi nghĩ rằng nơi để bắt đầu là để thực sự hiểu được những nguyên tắc cơ bản của HTTP và các công cụ PHP cung cấp cho bạn để đối phó với nó bản chất không quốc tịch.

Ngoài ra, tôi sẽ xem xét khuôn mẫu. Perhaps Smarty?

Cuối cùng, tất cả các mẫu thiết kế chuẩn MVC đều áp dụng như nhau cho PHP và có rất nhiều triển khai nếu bạn muốn sử dụng thứ gì đó trên giá. Bạn có thể muốn xem Cake, nếu bạn cần một khung công tác.

+1

PHP chính nó là một công cụ tạo khuôn mẫu, tôi không chắc Smarty thực sự là một sự kết hợp tốt với bất kỳ khung thực sự nào. Tôi chấp thuận bánh. – Kalium

+1

Bánh bị mắc kẹt trong kỷ nguyên PHP4. Tránh nó và Smarty. – Charles

+0

@Charles, bản phát hành sắp tới, CakePHP 2.0, sẽ hoàn toàn là PHP5 và nhiều mô hình bạn học với CakePHP 1.3 (phiên bản hiện tại) sẽ áp dụng trong CakePHP 2.0. Ngoài ra, bạn không thực sự cung cấp bất kỳ lý do hợp lệ nào để tránh nó. – mikegreenberg

2

Tôi nên xem xét loại khung công tác nào?

Hãy thử khung hiện đại như Kohana hoặc có thể một cái gì đó được thiết kế-OO như Zend Framework.

Bạn cũng có thể muốn xem xét đơn giản procedural framework thay vì khuôn khổ OO. PHP làm rất, rất tốt làm việc ở mức thấp.

Tránh bánh. Nó cố gắng để được Rails giống như, nhưng không chỉ làm thành ngữ Rails dịch rất kém vào PHP, Bánh bị mắc kẹt trong thời kỳ thiết kế của PHP4.

+0

Xem nhận xét của tôi bạn đã tạo ở trên. Tôi không quen thuộc với Ruby nhưng tôi rất tò mò về những thành ngữ mà Bánh cố gắng để cạnh tranh và những gì về nó bị "kẹt trong PHP4" khiến nó trở thành một lựa chọn tồi. – mikegreenberg

+0

@Michael, So sánh việc triển khai CakePHP ActiveRecord với cài đặt trong Rails. Việc triển khai CakePHP được thiết kế khủng khiếp so với những hạn chế nghiêm trọng mà một lực lượng thiết kế thời đại PHP4. (Nó sẽ không nhận được bất kỳ tốt hơn trong 2.0 hoặc là, trong đó phiên bản PHP tối thiểu là 5.2. Để có được triển khai thực hiện Rails ActiveRecord đúng hơn, bạn cần Binding tĩnh muộn, một tính năng 5.3.) – Charles

2

People Pods có thể là những gì bạn đang tìm kiếm. Đó là một khuôn khổ PHP được xây dựng với mạng xã hội trong tâm trí.

7

tôi đề nghị bạn có một cái nhìn tại Yii Framework. Nó được thiết kế rất tốt và được viết với hiệu suất trong tâm trí. Họ đã tập trung nhiều vào việc tối ưu hóa mã của họ để sử dụng kết hợp với bộ nhớ cache opcode như APC - không có khung công tác nào khác đã hiển thị cùng cấp độ performance improvement khi được sử dụng với APC. Bên ngoài hiệu suất, khung công tác cũng cung cấp rất nhiều hỗ trợ tích hợp cho bảo mật (các phiên an toàn với HMAC, phòng ngừa SQL injection, phòng ngừa XSS, v.v.), biểu mẫu, xác thực đầu vào người dùng, bộ nhớ đệm, xác thực/kiểm soát truy cập và tích hợp JQuery.

Nếu bạn là một lập trình viên PHP trung gian không đủ kinh nghiệm/đủ tự tin để xây dựng khung của riêng bạn, thì Yii là một nơi thực sự tốt để bắt đầu vì mã rất thanh lịch và imho lập trình viên thực hiện một số lựa chọn thiết kế tuyệt vời trong khi viết khung công tác - chỉ cần đọc qua mã Yii tạo ra một cách tuyệt vời để tìm hiểu về cách thiết kế/viết mã PHP tốt.

Chỉ cần hai xu của tôi ...

+0

Khuôn khổ phong nha nhất cho đến nay ... – cvsguimaraes

2

Tôi đang thực sự làm này ngay bây giờ hiện với Zend Framework, và nó đang làm việc ra fantastically tốt .. Zend là nghiêm túc mạnh mẽ và khả năng mở rộng.

Tôi luôn ghét làm tất cả công việc ban đầu để tạo tài khoản đăng nhập và băm mật khẩu và đặt các công cụ để quản lý SESSIONS, vì vậy hãy tiếp tục với công việc mới tôi có kế hoạch kiểm tra một bản sửa đổi sớm của dự án này. nó vào bất kỳ trang web nào khác yêu cầu thông tin đăng nhập.

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