Я являюсь промежуточным разработчиком PHP без опыта создания крупномасштабного веб-приложения на этом языке (хотя у меня есть другие, в основном Rails) … скажем, я хотел создать сайт социальной сети, используя PHP и MYSQL (желательно) со всеми web 2.0 отделка.
С чего начать? На каких структурах я должен смотреть? Любые современные современные книги, которые бы описали что-то вроде этого? На самом деле все для создания современного веб-приложения в PHP.
Райан, есть php-инфраструктура, называемая Elgg, которая является базой php, ориентированной на приложения, основанные на социальных сетях.
Полный список из них:
Я предлагаю вам взглянуть на Yii Framework . Он очень хорошо разработан и написан с учетом производительности. Они в значительной степени сосредоточились на оптимизации своего кода для использования в сочетании с кешем opcode, таким как APC. Никакая другая инфраструктура не продемонстрировала такого же повышения производительности при использовании с APC. Вне производительности платформа также предлагает множество встроенных средств обеспечения безопасности (безопасные сеансы с HMAC, предотвращение внедрения SQL, предотвращение внедрения XSS и т. Д.), Формы, подтверждение ввода пользователя, кеширование, аутентификация / контроль доступа и интеграция JQuery.
Если вы являетесь промежуточным программистом на PHP, который недостаточно опытен и уверен в себе, чтобы создать свою собственную инфраструктуру, тогда Yii – действительно хорошее место для начала, поскольку код очень изящный, и imho программист сделал несколько отличных дизайнерских решений при написании фреймворка – простое чтение кода Yii дает отличный способ узнать, как создавать / писать хороший PHP-код.
Только мои два цента …
В Википедии есть сравнение различных социальных сетей / программного обеспечения:
http://en.wikipedia.org/wiki/Comparison_of_social_networking_software
Некоторые из них используют PHP / MySQL.
Я также видел эту книгу о создании социальной сети в PHP:
Создайте мощный и динамичный веб-сайт социальной сети в PHP
На каких структурах я должен смотреть?
Попробуйте современные рамки, такие как Kohana или, возможно, что-то более сконструированное – OO, такое как Zend Framework .
Вы также можете рассмотреть простую процедурную структуру вместо структуры OO. PHP очень, очень хорошо работает на низких уровнях.
Избегайте пирога. Он пытается быть похожим на Rails, но не только идиомы Rails очень плохо переводятся на PHP, Cake застрял в эпоху дизайна PHP4.
Люди Pods могут быть тем, что вы ищете. Это фреймворк PHP, построенный с учетом социальных сетей.
Я на самом деле сейчас делаю это сейчас с Zend Framework, и он работает фантастически хорошо. Zend серьезно мощный и масштабируемый.
Я всегда ненавидел делать всю начальную работу по созданию учетных записей и хешированию паролей и созданию материалов для управления SESSIONS, поэтому продвигаясь вперед с новой работой, я планирую проверить раннюю версию этого проекта и просто развернуть его во все остальные сайта, для которого требуются логины.
Я думаю, что место для начала – это понять принципы HTTP и инструменты, которые PHP дает вам для работы с его безгражданностью.
Кроме того, я бы заглянул в шаблоны. Возможно, Smarty?
Наконец, все обычные шаблоны шаблонов MVC одинаково применимы к PHP, и есть много реализаций, если вы хотите что-то использовать с полки. Возможно, вы захотите проверить Cake , если вам нужна фреймворк.