15+ решений на основе PHP для организации форума


Содержание

Хочешь создать форум? ExBB — скрипт форума на PHP, форум на файлах, бесплатный движок форума!

ExBB (Exclusive Bulletin Board) — это движок форума, написанный на скриптовом языке программирования PHP. В отличие от большинства PHP-форумов, он не требует наличия на хостинге MySQL, поскольку хранит все данные в обычных текстовых файлах. Такой движок отлично подойдет для использования на бесплатных или недорогих платных хостингах, поддерживающих PHP, но не предоставляющих доступ к БД MySQL.
Языком по умолчанию в данном форуме является русский. Имеются также украинская и английская локализации.
Немаловажно, что движок ExBB является полностью бесплатным. Он распространяется по лицензии GNU GPL.

Разработка ExBB была начата летом 2003 года, в августе того года вышла первая версия. Начиная с версии 1.9.1 (май 2004) автор прекратил работу над форумом, и разработка некоторое время велась командой сайта TvoyWeb.
В июле 2007 года вышел ExBB FM 1.0 Beta, написанный с применением концепции ООП, что позволило улучшить показатели скорости работы и безопасности. Последние версии форума подверглись значительным изменениям, в результате которых существенно возросла функциональность, надёжность работы движка. В феврале 2009 года открылся новый официальный сайт форума ExBB.info, на котором Вы в данный момент и находитесь. была выпущена версия ExBB FM 1.0 RC1, в которой решены многие проблемы и добавлено несколько новых модов.
1 мая 2012 года вышла сборка ExBB FM 1.0 Final. Для ее работы требуется PHP версии 5.3.
На сегодняшний день последней версией форума является ExBB 1.1. Релиз состоялся 27 июля 2020 года. Данная версия была создана на основе сборки ExBB FM 1.0 Final. Ее главная особенность — поддержка новых версий PHP, начиная от 5.4 и заканчивая 7.0. Если версия PHP 5.3 и ниже, то форум установить не удастся.
4 августа 2020 года состоялся предварительный релиз ExBB 2.0.0. Для работы этой версии форума требуется интерпретатор PHP версии не ниже 5.5. Основными отличиями данной версии являются кодировка UTF-8, новая структура данных форума, а также новый установщик.
Любую из версий форума Вы можете скачать из файлового архива ExBB

В настоящее время ExBB используется на множестве сайтов.

Посмотреть скрипт форума ExBB FM 1.0 RC1 в работе Вы можете на примере форума технической поддержки ExBB или на любом форуме из каталога форумов на базе ExBB

Основные особенности и возможности скрипта форума ExBB:

  • лёгкая и быстрая установка и настройка;
  • высокая скорость работы и производительность;
  • нет необходимости иметь на сервере СУБД, например, MySQL;
  • сжатие содержимого, посылаемого клиенту (браузеру) методом GZip, уменьшение объема трафика в 3 — 5 раз;
  • возможность создавать неограниченное количество категорий, форумов, подфорумов и тем; постраничная разбивка списка тем и сообщений, прикрепление сообщений в теме, поддержка быстрых ответов;
  • эффективная защита от флуда и автоматических регистраций (в том числе от XRumer);
  • удобная возможность использования фильтров (по названию темы, описанию или автору);
  • поисковая система Risearch для осуществления функции поиска в темах и сообщениях форума;
  • возможность прикреплять файлы различных форматов, в т.ч создание для изображений превью-копий;
  • поддержка кодов ExBB Codes;
  • большое количество разнообразных смайлов, возможность использования пользовательских смайликов, группировки смайликов по категориям;
  • создание опросов пользователями и модераторами форума;
  • раздел объявлений администратора;
  • использование званий на форуме;
  • поддержка E-mail подписки на форумы и RSS-лента;
  • удобная, эффективная и многофункциональная панель администрирования;
  • широкие функции модерирования и распределения привилегий;
  • менеджер зарегистрированных пользователей;
  • журнал посещений пользователей и гостей форума и т.д.

Помимо этого, Вашему вниманию предлагаются многочисленные моды (модификации) и дополнения, а также скины (темы оформления, стили), которые делают данный скрипт форума функциональнее и привлекательнее.

Если при работе с форумом Вы столкнулись с трудностями, к Вашим услугам оперативное, отзывчивое и дружелюбное сообщество ExBB Community, готовое ответить на любые вопросы, связанные со скриптом форума ExBB, его установкой, обновлением и настройкой. На нашем сайте также присутствует страница FAQ с ответами на часто задаваемые вопросы по форуму ExBB.

15+ решений на основе PHP для организации форума

Освойте бесплатно наиболее простой, быстрый и гибкий способ создавать адаптивные веб-сайты.

Дизайн лендинга

Создавайте дизайн любых сайтов — для себя и на заказ!

Популярное

  • Главная
  • ->
  • Материалы
  • ->
  • 15 творческих идей использования PHP

Reg.ru: домены и хостинг

Крупнейший регистратор и хостинг-провайдер в России.

Более 2 миллионов доменных имен на обслуживании.

Продвижение, почта для домена, решения для бизнеса.

Более 700 тыс. клиентов по всему миру уже сделали свой выбор.

Бесплатный Курс «Практика HTML5 и CSS3»

Освойте бесплатно пошаговый видеокурс

по основам адаптивной верстки

на HTML5 и CSS3 с полного нуля.

Фреймворк Bootstrap: быстрая адаптивная вёрстка

Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.

Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.

Верстайте на заказ и получайте деньги.

Что нужно знать для создания PHP-сайтов?

Ответ здесь. Только самое важное и полезное для начинающего веб-разработчика.

Узнайте, как создавать качественные сайты на PHP всего за 2 часа и 27 минут!

Создайте свой сайт за 3 часа и 30 минут.


После просмотра данного видеокурса у Вас на компьютере будет готовый к использованию сайт, который Вы сделали сами.

Вам останется лишь наполнить его нужной информацией и изменить дизайн (по желанию).

Изучите основы HTML и CSS менее чем за 4 часа.

После просмотра данного видеокурса Вы перестанете с ужасом смотреть на HTML-код и будете понимать, как он работает.

Вы сможете создать свои первые HTML-страницы и придать им нужный вид с помощью CSS.

Бесплатный курс «Сайт на WordPress»

Хотите освоить CMS WordPress?

Получите уроки по дизайну и верстке сайта на WordPress.

Научитесь работать с темами и нарезать макет.

Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!

Хотите изучить JavaScript, но не знаете, как подступиться?

После прохождения видеокурса Вы освоите базовые моменты работы с JavaScript.

Развеются мифы о сложности работы с этим языком, и Вы будете готовы изучать JavaScript на более серьезном уровне.

*Наведите курсор мыши для приостановки прокрутки.

15 творческих идей использования PHP

Если Вы неплохо знаете основы PHP, то, вероятно, уже задумывались о том, как сделать Ваш сайт более привлекательным. Количество возможностей бесконечно, и Вы можете как писать свои собственные скрипты, так и встраивать в Ваши проекты уже существующие решения.

Давайте совершим обзор 15 творческих идей использования PHP для Ваших сайтов!

1. Электронная коммерция

Электронная коммерция — одна из основных областей применения PHP. Как малый, так и крупный бизнес всегда ищет способы создания дополнительного дохода онлайн. Если Вы знаете, как интегрировать существующие решения для электронной коммерции, либо можете написать что-то своё с нуля, это дает Вам явное преимущество.

Если Вы хотите создать свое собственное приложение вроде корзины заказа, то Вы можете либо написать весь код самостоятельно с нуля, либо воспользоваться PHP-фреймворком.

Если Вы программист хотя бы среднего уровня, то я рекомендую Вам использовать фреймворк, к примеру, CodeIgniter или CakePHP. Оба этих фреймворка имеют обширную документацию, позволяющую Вам быстрее разобраться с тем, как создавать свои собственные приложения с нуля. Какой фреймворк использовать — это уже, как правило, дело вкуса.

Если Вы новичок в PHP, я бы предложил Вам использовать существующие решения для электронной коммерции. Некоторые из возможных решений:

Разумеется, каждое из решений имеет свои особенности, однако часто бывает проще потратить несколько дней на изучение документации и обучающих видео, чем изучать PHP с нуля. Это уже зависит от того, сколько времени Вы готовы выделить на данный вопрос.

2. Инструменты управления проектами

Как для фрилансеров, так и для компаний, занимающихся веб-разработкой, управление проектами — один из важнейших аспектов бизнеса. Ваши клиенты должны иметь возможность оценить прогресс при работе над проектом и оставить при необходимости свои комментарии и пожелания. В идеале, при хорошей системе управления проектами, Ваши клиенты останутся гораздо более удовлетворенными результатами Вашей работы.

Есть несколько великолепных инструментов управления проектами, выполненных как веб-приложения. Если Вы можете позволить себе такой сервис с оплатой за время использования, то я рекомендую Вам Basecamp.

Тот, кто не готов оплачивать услуги сервиса на регулярной основе, может создать свою собственную систему.

Создание такого инструмента с нуля потребует достаточно глубоких знаний PHP и некоторых познаний в области JavaScript.

Наиболее важные аспекты такого рода приложений это безопасность, отслеживание времени, совместные списки дел, обмен файлами, доска сообщений и «живое» превью веб-сайта.

Конечно, Вы можете по своему желанию сужать или расширять этот список. Ключевой момент здесь в том, что Вы можете значительно повысить Ваш уровень владения PHP уже в процессе написания такого приложения, а Ваши клиенты будут счастливы следить за тем, как их проект постепенно «обретает форму».

Рассказ о том, как стартовать в этом деле, выходит за рамки данного обзора, однако я надеюсь, что дал Вам хороший базис для генерации новых идей.

3. GUI (Графический интерфейс пользователя)

Для тех, кто впереди планеты всей

Вы можете расширить базовый установочный пакет PHP и создавать десктоп-приложения. Это непросто, и потребует от Вас глубоких познаний и отличных навыков программирования на PHP. При этом может быть и так, что такие приложения легче создавать, используя другие языки программирования и технологии.

Если PHP — Ваш любимый язык, то Вы можете использовать специальные расширения, позволяющие создавать приложения с графическим интерфейсом:

Главное преимущество такого подхода в том, что Вы узнаете очень много о самом языке в процессе работы.


4. Построение онлайн-сообщества.

Посвящен ли Ваш сайт бизнесу, развлечениям, продуктам или услугам, интернет-пользователи хотят быть «подключены» к процессу.

К примеру, если Вы разрабатываете веб-приложения, то создание форума, где Ваши клиенты могли бы обсудить интересующие их вопросы и задать их Вам, было бы отличной идеей.

Как у пользователя, у меня возникает вопрос, и мне нужна «скорая помощь», при этом стандартная система тикетов или поддержка по e-mail может быть не столь оперативной. С онлайн же сообществом Ваши посетители могут помогать друг другу решать вопросы, касающиеся Вашего товара или услуги даже без Вашей помощи.

При этом такое общение часто не ограничивается общими фразами, и люди способны оказать друг другу даже техническую поддержку.

Поэтому, если Вам необходимо оказывать послепродажную поддержку своим клиентам, создание сообщества будет прекрасной идеей, т.к. позволит Вам значительно уменьшить временные затраты на поддержку, а также получать полезную обратную связь.

Опять же, Вы можете написать свой «движок» для будущего комьюнити, либо воспользоваться одним из готовых решений и внедрить его в Ваш сайт.

Если хотите писать такое приложение с нуля, то лучше используйте PHP-фреймворк. CodeIgniter, к примеру, имеет кучу хэлперов и классов, которые позволяют Вам избавиться от значительного объема рутинной работы, сопровождающей каждый серьезный проект.

Можете также применять различные инструменты для создания форумов:

5. Разработка приложений для Facebook

Вы можете интегрировать Facebook в Ваш сайт с помощью PHP. Если Вы разрабатывали приложения для Facebook на других языках, или Вы хотите только начать, то Вики для разработчика Facebook к Вашим услугам. Там Вы найдете всю необходимую информацию, если Вы собираетесь писать приложения для Facebook.

6. Генерация PDF-файлов

Формат PDF — это запатентованный Adobe формат файла для обмена документами. Используя библиотеку PDFLib, Вы можете генерировать PDF-файлы при помощи PHP. Эта библиотека включена в поставку PHP5; для того, чтобы получить к ней доступ, нужно раскомментировать соответствующие строки в конфигурационном файле.

Где это может быть нужно?

К примеру, у Вас есть приложение, в котором клиенту выставляется счет и Вы хотите, чтобы помимо html-страницы можно было сгенерировать PDF-документ с выставленным счетом для дальнейшей его распечатки или отправки клиенту по e-mail.

7. Парсинг XML-файлов

PHP позволяет Вам производить синтаксический анализ (разбор) XML-файлов. Это важная особенность в PHP5, и она позволяет обойти одно существенное ограничение: не все браузеры на данный момент могут выводить содержимое XML-файлов.

Теперь же можно создать парсер на PHP (скрипт, производящий разбор) для облегчения процесса. XML используется, к примеру при создании RSS-лент, для хранения информации при работе с различными устройствами, вроде мобильных телефонов. В таких случаях используется реализация XML под названием WML (Wireless Markup Language — Язык Беспроводной Разметки, а точнее — Язык Разметки для Беспроводных Устройств).

Работа с XML в PHP во многом сходна с открытием, закрытием и чтением файлов. Сначала пишется XML-парсер, устанавливаются функции, обрабатывающие открывающие и закрывающие XML-тэги, затем файл открывается на чтение, после чего закрывается.

8. Листы рассылок

Вы можете самостоятельно написать скрипт, который будет рассылать Вашим клиентам новостные рассылки и Ваши коммерческие предложения, либо использовать уже готовый скрипт или сервис.

Рассылки подобного рода — отличный инструмент, позволяющий держать клиентов в курсе событий относительно Вашей продукции, акций, новостей и т.п. Все, что нужно знать Вашим клиентам, можно включить в автоматическую серию писем.

На официальном сайте PHP Вы найдете подробное описание функции mail с примерами. Также Вы можете скачать и установить готовый скрипт вроде PHP list.

Кроме того, Вы можете воспользоваться аналогичными сервисами. Из Отечественных разработок я рекомендую SmartResponder.

9. Обработка и генерация изображений

Используя совместно с PHP библиотеку GD, Вы можете нечто большее, чем просто выводить информацию в браузер. Вы можете выводить изображения в различных форматах, включая jpeg, png и gif. Эта функция в PHP полезна, т.к. позволяет Вам создавать мини-картинки для предпросмотра, водяные знаки, изменять размер изображения и производить его обрезку. Вы даже можете создавать фотогалереи!

10. Создавайте графики и диаграммы

Вам нужно числовое представление неких чисел на Вашем сайте? PHP позволяет создавать Вам как графики, так и диаграммы!

Используя pChart Вы можете создавать несколько разновидностей диаграмм, включая круговые и столбчатые. Это очень полезно для коммерческих проектов, когда нужно представить графическую информацию в сжатом и наглядном виде.

Веб-сайт pChart содержит руководство по тому, как Вам стартовать в этом вопросе.

11. CMS (Системы Управления Контентом)

Одно из популярных применений для PHP — создание систем управления контентом. Хорошая CMS позволяет Вашим клиентам обновлять их веб-сайты и добавлять новый контент без каких бы то ни было углубленных знаний HTML и CSS.

Хорошая CMS имеет простой и понятный пользователю интерфейс, легко расширяется и генерирует аккуратные и понятные URL-адреса (ЧПУ — человекопонятный URL). Как и в других случаях, Вы можете написать собственную CMS самостоятельно, либо воспользоваться готовыми решением вроде:

12. Создайте фотогалерею на PHP

Используя стандартные функции PHP для работы с файлами, Вы можете создать собственную фотогалерею. Начните с того, что поместите все фотографии в определенную директорию, после чего используйте функцию exif для получения информации о картинке и вывода ее уменьшенной копии для предпросмотра.

Процесс в точности так же прост, каким и кажется, и это отличный способ представить Вашу фотоколлекцию.


13. Создавайте динамические шаблоны для сайтов.

Цукерберг рекомендует:  Ajax - Подгрузка контента по скролингу

С применением PHP гораздо проще добавлять на сайт новые страницы и элементы динамически. Вы начинаете с того, что создаете HTML-страницу и разбиваете ее на отдельные части, вроде хэдера, зоны основного контента, футера и т.п.

Добавьте расширение .php ко всем последующим новым страницам и используйте инструкцию include для подключения хэдера и футера к каждой из новых страниц. Также Вы можете создавать динамические сайдбары и навигационные секции.

В действительности, чем более «шаблонизирован» Ваш сайт, тем проще обновлять его содержимое.

14. Создавайте плагины для WordPress

Если Вы знакомы с WordPress, то знаете, что это достаточно гибкая система для блоггинга, которую можно использовать для самых разнообразных целей.

Если Вы знаете PHP и покопаетесь в «Кодексе» WordPress, то найдете все что нужно для того, чтобы начать разработку плагинов к нему. Если Вы ищете свежие идеи для создания своего «мега-плагина», то загляните в специальный раздел, где пользователи вносят свои предложения относительно того, что они хотели бы увидеть.

15. Создание Flash

Хорошо или плохо, если сайт целиком выполнен на флэш? Вопрос достаточно спорный, однако нет ничего плохого в том, чтобы использовать на сайте отдельные флэш-элементы и блоки. И PHP поможет Вам в этом.

Используйте специальную библиотеку Ming для создания flash-файлов в формате .swf. C помощью этой библиотеки Вы можете генерировать видео, текст, и даже flash-анимацию.

Вот мы и рассмотрели в обзорном порядке 15 интересных возможностей использования PHP для улучшения Ваших (и не только Ваших) веб-сайтов. Что-то можно сделать при возникновении реальной необходимости, а с чем-то можно и «поиграть» в качестве профессиональной тренировки:)

Перевод: Дмитрий Науменко
По материалам http://net.tutsplus.com
Иллюстрации к статье: http://blog.calevans.com

P.S. Хотите посерьезнее «покопать» PHP? Обратите внимание на премиум-уроки по различным аспектам сайтостроения, включая программирование на PHP, а также на бесплатный курс по созданию своей CMS-системы на PHP с нуля:

Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!

7 причин, по которым PHP хорош для разработки бизнес-проектов

Сегодня ведется много споров о том, целесообразно ли применять PHP для разработки ИТ-продуктов и сервисов. В интернете можно найти столько эмоциональных публикаций (преимущественно написанных разработчиками), описывающих недостатки PHP и его фреймворков, что владельцы бизнесов и ИТ-менеджеры компаний и впрямь начинают сомневаться: а стоит ли вообще связываться с этим PHP? И если так, то почему же его тогда выбирают такие лидеры рынка, как Slack, BlaBlaCar и Spotify?

Что ж, во-первых, благодаря тому, что PHP — детище опенсорса, он может похвалиться большим сообществом, которое вносит постоянный вклад в его развитие. Поэтому с каждой версией и он сам, и его фреймворки становятся действительно лучше. Что создает хорошую базу для других преимуществ, делающих его настолько популярным при разработке бизнес-решений. От веб-сайтов до крупных маркетплейсов, от новоиспеченных стартапов до солидных бизнес-игроков, PHP выбирают по ряду практических причин.

1. PHP — опенсорсный язык, и это экономит бюджет

Наиболее привлекательной для разработчиков и ИТ-менеджеров чертой PHP является открытый доступ. Не нужно платить за лицензию. Помимо очевидной экономии, выигрыш также приносит большое и развитое сообщество, которое постоянно улучшает и дополняет функционал. Сотни готовых решений на PHP уже доказали свою жизнеспособность — бери и пользуйся, не надо изобретать велосипед.

Хотя, справедливости ради, это основное преимущество PHP одновременно является и главной его угрозой для проектов. Легкость и доступность существенно снижают порог вхождения в профессию, а это неизбежно приводит к снижению качества. Поэтому выбор профессиональной команды в случае PHP — просто критичен.

2. Разработка на PHP занимает меньше времени

PHP — частично объектно-ориентированный язык. Это дает возможность повторно использовать код, что экономит время и силы в процессе разработки. Существует множество фреймворков PHP: Symfony, CodeIgniter, Laravel, Joomla, WordPress и др. Каждый из них обладает своим функционалом и заточен под определенные задачи. PHP изначально был оптимизирован под быстрое создание веб-приложений. Ему присущи такие встроенные функции, как использование запросов GET и POST, работа с HTML и URL. Для бизнеса это означает, что время (а. соответственно, и расходы) на разработку сокращаются, а инвестиции начинают окупаться быстрее.

3. PHP отличается гибкостью и хорошей совместимостью

Значимое преимущество PHP — это его гибкость и универсальность. Он совместим со всеми основными платформами: от Windows, Unix и Linux до MacOS; поддерживает большинство серверов (включая Apache, Microsoft IIS, Netscape, iPlanet, Caudium, Xitami и Tornado) и более 20 баз данных (среди которых — MySQL, MongoDB, PostgreSQL и др.) Поэтому PHP часто выбирают для создания кросс-платформенных приложений: это позволяет бизнесам максимально задействовать существующую инфраструктуру с минимумом затрат.

Хотя традиционно рекомендуется использовать PHP вместе с HTML, он успешно интегрируется с JavaScript, WML, XML и другими языками программирования. С браузером также не возникает проблем, поскольку все скрипты компилируются на стороне сервера.

Любой проект на той или иной стадии подвергается функциональным изменениям. Благодаря динамичному характеру PHP, изменения можно внедрять на любой стадии разработки без потерь во времени.

4. Сервисы на PHP хорошо масштабируются и документируются

С точки зрения окупаемости инвестиций, для компаний более выгодно, когда разработка происходит в несколько итераций. Это позволяет запускать различные модули ПО один за другим, внося по ходу необходимые поправки. PHP позволяет разрабатывать и поддерживать масштабируемые ИТ-проекты и непрерывно генерировать любое количество страниц с любыми настройками.

Код на PHP прозрачен и отлично документируется. А значит, требуется меньше времени для того, чтобы разобраться, что в нем творится — конечно, если он толково написан. Так что можно спокойно внедрять итеративную разработку с минимальным риском проволочек, если по ходу вдруг придется сменить программиста или даже целую команду.

5. Беспроблемные поддержка и апдейт

Благодаря хорошей читабельности, менять и модифицировать код на PHP не составляет труда. Как следствие — гораздо меньше проблем с поддержкой и обновлениями. Проекты на PHP легко и быстро подстраиваются под новые приложения, которые появляются на рынке, а также под новые бизнес-требования. А благодаря вкладу открытого сообщества, новый функционал, соответствующий возникающим нуждам бизнеса, появляется регулярно и ничего не стоит. Поскольку в коде легко разобраться, поддержка сервисов на PHP может осуществляться любой командой — не обязательно той, которая создавала проект.

6. PHP открывает широкие возможности для хостинга

Универсальность PHP делает его популярным среди хостинг-провайдеров. Любой надежный провайдер поддерживает PHP и предоставляет хостинговые услуги для сайтов на нем. Как правило, хостинговые пакеты услуг предоставляют поддержку PHP без дополнительной оплаты — включая либо бесплатные тарифные планы, либо дешевые с неограниченным объемом и бесплатным доменным именем.

7. Хорошая работа сайтов на PHP помогает удерживать клиентов

Быстрая загрузка сайта чрезвычайно важна для удержания клиентов. Люди сегодня в состоянии удерживать непроизвольное внимание в течение 6-8 секунд, и если сайт медленно загружается — его закрывают еще до окончания загрузки и больше не возвращаются. Скорость загрузки сайтов на PHP высокая благодаря хорошим кастомизации и интеграции с различными системами управления контентом.

PHP изначально создавался для разработки динамических веб-страниц, поэтому его скрипты справляются с этой задачей лучше, чем другие языки программирования. Его код легко встраивается в HTML, что позволяет легко конвертировать статические страницы в динамические. По сути, это лучший язык для создания полноценных сайтов на основе HTML-стандарта.


PHP по умолчанию обеспечивает 1-1 соответствие между URL и файлами, что позволяет дизайнерам, программистам и другим членам команды редактировать и создавать веб-страницы. Это особенно полезно в случае больших сайтов, по преимуществу со статическим контентом, множеством страниц и различными шаблонами.

В качестве итога

Рост популярности PHP и его фреймворков в последние годы был значительным, и эта тенденция по-прежнему сохраняется. Основные бизнес-преимущества PHP заключаются в его экономичности, масштабируемости, простоте, совместимости и удобстве. Сам по себе или, чаще, в комбинации другими технологиями, PHP подходит для создания ИТ-проектов любого типа: от простых веб-сайтов до CRM-решений и больших маркетплейсов.

В то же время, необходимо признать, что популярность PHP — палка о двух концах, поскольку легкость и распространенность привлекают немало разработчиков низкой квалификации. Поэтому выбор команды в случае PHP-разработки требует особой внимательности.

Продвинутое PHP программирование (развиваемся, господа)

#1 meister

Здравствуйте, уважаемы форумчане!
Не знаю на сколько корректно указал заголовок темы, однако, как мне кажется, суть вопроса он отражает вполне.
И так, допустим, ситуация следующая:
Человек выучил HTML+CSS, основы JS, основы PHP (синтаксис, переменные, сессии и т.д.), основы SQL, сделал несколько вполне сносных проектов от и до, в общем, так сказать, набил руку.
Куда двигаться дальше?
Пойдем по списку вопросов
1. Правильно ли я понимаю, что после голого PHP, стоит начать изучать фреймворк(и)? Если да, то лучше остановится на каком-то одном или же не лишним будет знать несколько? Много кто советует Yii либо Laravel, кто что скажет по этому поводу?
2. В большинстве объявлений с вакансией Web-программиста — требуют знать какую-то систему контроля версий (чаще всего упоминают Git). Можно, пожалуйста, вкратце, что такое и с чем едят?
3. Параллельные вычисления. Так же вычитал в объявлении о вакансии. Вообще никогда не сталкивался с этой темой. Так же, пожалуйста, в двух словах, если не трудно.
4. NoSQL базы данных — в ту же копилку, к двум пунктам выше. В чем принципиальное отличие от обычной БД?
5. Может быть стоит углубиться в изучение Flash и конкретно Action Script? Или на данный момент уже не актуально?

То есть, получилось у меня так:
Писать-то на PHP я вроде, с горем пополам и пишу, однако большинство вакансий мне просто не по зубам с моим начальным уровнем знаний. Да и дело даже не в этом собственно. Если в голову приходит идея создать не стандартный проект, с функционалом как то (например) — распознавание звука, передача аудио и видео потоков в реальном времени и так далее — у меня просто опускаются руки.
Прошу вашей помощи и. кхм..консультации, если так можно выразиться.
Заранее спасибо тем, кто ответит хотя бы по одному пункту

PS. Для Андреев и других администраторов данного ресурса — возможно, идеи для будущих курсов

Сообщение отредактировал meister: 18 Декабрь 2015 — 17:01

#2 Слава

Самый главный вопрос себе нужно задать — Зачем? Зачем все изучать? . что бы устроится на работу? . что бы вести свой бизнес? . что-бы заявить о себе как о Большом программисте? . или еще зачем-то? . может просто хобби такое?

Исходя из этого уже можно более-менее планировать дальше.

Так же можете показать проекты которые Вы реализовали. Это интересно. И кстати по поводу звука, пхп тут не поможет, нужно что то другое.
Все-таки если Вы ищете работу по теме создания веб приложений, то смотря в какую студию попадете, возможно знаний у Вас достаточно уже. Может ничего особо и учить уже не нужно.

Если изучать фреймворк, то выбирайте тот у которого документация есть на русском, у Yii — есть, у Laravel -не знаю

Сообщение отредактировал Слава: 18 Декабрь 2015 — 18:04

#3 Alexsandrbios

да согласен тут первый вопрос а зачем изучать кучу фреймов и CMS-ок
можно изучить самое популярные но на это у вас уйдет куча времени
если только ради роботы то смотрите что каждые работодатели требуют порой знания все популярных CMS-ок и 2 — 3 фрейма а платят мзду (200-300 доларов в месяц) да не все такие но большинство
если хотите искать роботу то начинайте поиск снизу
junior php
там как говориться вы и научитесь дальше
не ведитесь сразу на заоблачные зарплаты но и когда от вас требуют знания чуть ли не всех фреймов то лутше отойти от такого
junior php — должен знать :
HTML,CSS, JS (AJAX), PHP (ооп), MySQL
основы паттернов проектирования на PHP (ооп)
одну CMS(wordpress или joomla) и один фрейм (zendframework)

для поступления на работу вам хватит , а далше вы будете развиваться в колективе . Это вариан если вам это надо для поступления на работу

#4 Roman52

  • Клиенты WebForMySelf
  • 346 сообщений
  • Приветствую!
    Некоторые объявления о вакансиях меня прямо убивали. Что то типа:

    Опыт PHP-разработки не менее 3 лет
    Хорошие знания PHP 5, понимание и использование паттернов проектирования и модели MVC
    Опыт работы с javascript, а так же фреймворками Backbone.js и JQuery
    Опыт использования и проектирования реляционных БД (MySQL)
    Опыт работы с транзакциями InnoDB
    Опыт использования систем кэширования (redis, memcached)
    Понимание клиент-серверной архитектуры и HTTP-протокола
    Опыт работы с unix-подобными системами, уверенное использование командной оболочки bash
    Опыт работы с веб-серверами apache, nginx, понимание различий, практическое применение
    Опыт работы с git
    Умение грамотно общаться и четко формулировать задачи для разработки, и опыт написания ТЗ будут большим плюсом
    -Знание приемов рерайта текстов
    -Знание принципов проверки текстов на уникальность
    -Опыт внутренней SEO-оптимизации (в т.ч. понимание‚ что такое ЧПУ)
    -Практические навыки применения PHPкак шаблонизатора
    + еще 10 cms — сок припишут да еще ты должен быть немного дизайнером. и т.д. и т.п.
    Заработная плата 300$

    Это я все к тому, что утром деньги, вечером стулья. Я считаю что нужно в первую очередь начать зарабатывать(естественно если у вас уже есть изначальный уровень знаний — вашего уровня уже вполне достаточно, чтобы быть например php junior — как было написано выше), и в процессе работы будете уже все потихоньку изучать, практиковать. Взять какое то одно направление(cms, или framework), и стать в нем профи, а не распыляться на десятки различных направлений.

    #5 Meits

  • Администраторы
  • 3 092 сообщений
  • Какие перспективы у PHP и стоит ли на нём писать

    Наш подписчик прислал вопрос в редакцию Tproger:


    Очень много сейчас диспутов по поводу PHP. Все же хотелось бы узнать — стоит продолжать с ним работать или искать другой язык? И является ли он настолько бесперспективным, как говорят?

    Мы передали его нашим экспертам, а полученные ответы представляем вашему вниманию.

    Николай Добровольский , вице-президент Parallels

    В мире технологий все довольно быстро меняется. И правда, сейчас эра популярности PHP уже прошла. Поэтому говорят не зря. Достаточно просто взглянуть на http://githut.info.

    Я бы посоветовал сейчас смотреть на JavaScript или Python как на наиболее популярные языки в области веб-разработки. Но через несколько лет все снова изменится. Уже сейчас много проектов делают на Ruby или Lua, которые отличаются еще большей скоростью разработки. Мы в Parallels для веб-разработок используем Python и JavaScript.

    Игорь Сомов , бэкенд разработчик Avito, преподаватель

    В интернете очень много мифов о PHP. Есть несколько причин их возникновения:

    • вы начали использовать PHP 4 года назад и потом перешли на другой язык. Теперь странно сравнивать старую версию языка с любым современным языком. Посмотрите на ChangeLog — вы увидите, что изменилось действительно многое;
    • в PHP очень низкий порог входа, и вы можете быстро начать решать задачи. Да, вы можете писать плохой код, как и в любом другом языке. Однако, когда вы действительно понимаете, как работает PHP изнутри, вы начинаете писать более качественный и производительный код. Если вы знакомы с базовым синтаксисом, то рекомендую посмотреть на современные фреймворки: Laravel, Symfony — и узнать PHP чуть подробнее. PHP очень активно развивается, обладает огромным профессиональным сообществом. Он является одним из самых быстрых скриптовых языков.

    Сейчас все стандартные задачи на бэкенде можно решить с помощью PHP, существует огромное количество готовых решений, поддержка всех современных баз данных и технологий. Многие крупные компании используют PHP: Facebook, Vk, Mail.ru, Avito.

    Но не стоит отрицать, что PHP ещё есть куда расти. Поэтому советую не верить слухам, а попробовать PHP самостоятельно.

    Виталий Леонов , Руководитель бэкенд разработки Avito. Zend сертифицированный PHP-разработчик.

    PHP — это инструмент. Инструмент, который развивается, имеет большое комьюнити, имеет прекрасную документацию, имеет большой набор готовых библиотек и решений. Он прекрасно справляется со своими задачами, хорошо решает потребности бизнеса: быстро стартовать, найти хорошую команду и сделать продукт. Большинство нареканий к PHP — это вкусовщина и нишевые проблемы, которые решаются другими инструментами.

    Так что PHP вполне себе перспективен на ближайшее десятилетие.

    Степан Чельцов , генеральный директор агентства «Первый интернет-проект»

    Я думаю, что вопрос изначально поставлен некорректно, потому что выбор языка программирования на самом деле ничего не значит. Надо смотреть на язык, отталкиваясь от задач. В мире очень много сайтов, которые разработаны на языке PHP, и переход с одного языка на другой — не говоря уже о фреймворках — весьма длительный и дорогостоящий процесс. То есть ваш вопрос можно перефразировать так: насколько легко и быстро сможет переходить бизнес с одного языка на другой в ближайшее время? Ответ, разумеется, в том, что это очень дорого!

    Каждый вопрос нужно оценивать с точки зрения приложенных вами усилий. Если вы учитесь на программиста и выбираете язык, выберите любой. Тот, который вам нравится, тот и выбирайте. Вы всегда найдёте применение своим знаниям, всегда будете обеспечены работой, потому что мир настолько нуждается в программистах, что вы можете остаться без работы, только если не будете знать английский язык или ещё какой-нибудь язык общения. Всё остальное — только плод вашего труда, вовлеченности в любимое дело.

    Цукерберг рекомендует:  Photoshop - Нужен совет по JavaScript и PhotoShop

    Сергей Прокофьев , управляющий партнер агентства CreativePeople

    У меня такое ощущение, что PHP сто лет стоял и еще сто простоит. Слишком много проектов на нем, для слишком большого количества разработчиков этот язык является основным. Я как-то слабо себе представляю 1С-Битрикс, переписанный на Python. Однако, я здесь больше рассуждаю как менеджер, так как сам завязал с программированием на уровне С.

    Александр Павлов , ведущий разработчик AndersenLab

    Очень много решений написано на PHP и продолжает писаться. Сам язык активно развивается, появляются новые фишки в ядре, растет производительность, растет число фреймворков, идет процесс стандартизации (PSR). Думаю, что PHP еще долгое время будет востребованным языком программирования и будет занимать свою нишу в мире веба.

    Алексей Золотых , Frontend разработчик Wrike

    Насколько я знаю, у PHP достаточно много проблем. Но основная проблема этого языка — низкий порог входа. Научиться делать простые вещи можно за пару дней или даже часов. Важно то, что умение генерировать HTML или виртуозно настраивать WordPress плохо соотносится с программированием. Хотя эти навыки и позволяют зарабатывать неплохие деньги.

    На PHP можно писать и серьезные вещи, но для этого нужно знать структуры данных, алгоритмы, парадигмы программирования и много чего еще.

    Сам язык далеко не бесперспективен, на нем можно и нужно писать. Но при этом хорошо бы развиваться в разных направлениях, чтобы не превратиться в настройщика CMS.

    Иван Никитин , директор «Иван Никитин и партнеры»

    Слухи о смерти PHP сильно преувеличены.

    PHP сегодня — это 25 % всего интернета.

    Василий Васильков , эксперт IT-конференции «Стачка»

    Ответ «да» на все вопросы.

    Стоит ли продолжать с ним работать? Да. Стоит ли искать другой язык? Да. Является ли он настолько бесперспективным, как говорят? Да.

    Однако, я считаю, что все диспуты про PHP уже можно прекратить. Первое место в номинации «плохой язык» уже лет пять принадлежит JavaScript, и я не вижу других, столь же сильных претендентов на это место.

    Поэтому, говоря про JavaScript, я отвечу точно также. Стоит ли продолжать с ним работать? Да. Стоит ли искать другой язык? Да. Является ли он настолько бесперспективным, как говорят? Да.

    Григорий Земсков , Директор компании «Ревизиум»

    Популярность языка PHP растет с каждым годом. Это обусловлено тем, что, с одной стороны, он прост в изучении, предоставляет широкие возможности для разработки решений для веба; а с другой стороны, огромное число популярных CMS реализовано именно на PHP: WordPress, Joomla, Drupal, DLE, MODx. Все популярные коммерческие CMS также работают на PHP: Bitrix, Netcat, UMI.CMS. Он поддерживается на подавляющем большинстве российских и зарубежных хостингов. Среду для веб-разработки можно легко развернуть на локальном компьютере.

    У данного языка есть и отрицательные стороны, изначально заложенные в архитектуру: слабая типизация, большая свобода построения синтаксических конструкций, что приводит в итоге к большому числу ошибок и уязвимостей, особенно среди неопытных веб-разработчиков. Поэтому многие кастомные разработки на PHP с точки зрения безопасности чрезвычайно уязвимы. Но начиная с версии PHP 7 разработчик языка решил часть проблем и повысил производительность примерно в три раза. Поэтому PHP вряд ли станет менее популярным в ближайшие несколько лет, так как будет продолжать использоваться для веб-разработки.


    Алла Клименко , CEO Mad Devs

    Среди наших клиентов PHP все еще пользуется спросом. Как правило, это проекты, которые мы беремся делать не с нуля, а на какой-то стадии для доработки и сопровождения. Если проект приходит с нуля, то наш выбор языка однозначно будет не в пользу PHP. Мы больше работаем с Django, React.js и Golang. Более того, если к нам приходит проект, сделанный на PHP и садится на долгосрочную поддержку и доработку, то рано или поздно мы также стараемся переписать его с нуля. В общем, все зависит от целей и финансовых возможностей заказчика.

    Однозначно, PHP еще будет жить. Но разработчикам следует потихоньку все же переключаться на что-то другое.

    Дмитрий Сошников , технологический евангелист Microsoft, доцент МФТИ, МАИ, преподаватель детского лагеря JUNIO-R

    Лучше вообще не привязываться к конкретному языку. Ведь основы алгоритмики одинаковы для всех языков программирования, поэтому со временем оказывается, что переключаться с языка на язык достаточно просто. Самое главное, чему нужно научиться, — это быстро учиться.

    Что касается PHP, то он подходит для определенного круга задач, а именно для веб-сайтов, как правило, не слишком больших. Для больших корпоративных и высоконагруженных систем обычно используют другие технологии, основанные, например, на C# или Java. Кроме того, C# или Java позволят создавать не только веб-сайты, но и мобильные приложения, то есть с точки зрения универсальности они безусловно интереснее для изучения.

    15+ решений на основе PHP для организации форума

    Особенности включают: admin функции, чтобы редактировать/удалить сообщения, регистрацию пользователя, коды форума, пользователи могут редактировать их собственные сообщения, настраиваемые.

    Добавлен: 17 июля 2010 , Загрузок: 1566 , Просмотров: 12309

    RonForum v30
    С помощью этого скрипта можно создать на своем сайте небольшой форум. Он подойдет для небольшого сайта. Не требует никаких баз данных типа MySQL, все работает на обычных текстовых файлах, так что его можно будет установить на некоторые бесплатные хостинги. Главное, чтобы была поддержка PHP версии 4.
    Добавлен: 20 февраля 2011 , Загрузок: 1136 , Просмотров: 5615

    VBulletin 2.2.4
    Новая версия одиного из самых лучших форумов на PHP!
    Быстрый, компактный, мощный, легко настраиваеться, имеет очень хорошую и удобную страничку администратора.
    Настоящая цена форума $250.
    Добавлен: 18 октября 2010 , Загрузок: 935 , Просмотров: 5864

    EternalMart Email Form Processor
    Это — диалоговый скрипт формы для получения комментариев от Ваших пользователей, обратная связь, предложения или информация.

    Данные сохраняются в MySQL базе данных. Скрипт поддерживает многократную форму. Вы можете делать столько форм с различными размещениями сколько хотите. Скрипт включает.

    Добавлен: 04 июня 2010 , Загрузок: 911 , Просмотров: 4234

    ReForum 1.0
    Простой древовидный форум с возможностью регистрации пользователей и администрированием.
    Добавлен: 06 декабря 2010 , Загрузок: 870 , Просмотров: 5070

    zForum быстрый простой форум
    zForum быстрый и простой форум.

    Особенности включают простую функцию администрирования, функцию поиска, ответ на почту, отображение текущей тематики, мгновенное уведомление об ошибках.

    1.1 модификация: была добавлена функция поиска.

    Что представляет собой РНР 7? Возможности для программиста

    Язык программирования РНР 7 — серверный язык, при помощи которого можно создавать Web-сайты, причем как небольшие лендинги, состоящие из одной страницы, так и гигантские системы, использующие сотни и тысячи серверов. Элек­тронная энциклопедия Wikipedia, социальные сети Facebook, ’’ВКонтакте”, электронная площадка объявлений Avito созданы с использованием РНР.

    Будучи одним из самых первых языков программирования, ориентированных на Web-разработку, РНР прошел длительный путь практически с самого начала заро­ждения Web. Поэтому в мире он остается одним из самых популярных и востребо­ванных языков.

    Достоинства и недостатки PHP 7

    В основе популярности РНР лежат следующие достоинства.

    • Ориентация на Web-разработку — РНР создавался, развивался и поддерживает­ся как язык для создания Web-сайтов. Многие конструкции и решения в нем созданы для удобства работы в Web-среде.
    • Кроссплатформенность — РНР перенесен на все основные операционные сис­темы: можно разрабатывать сайт в Windows, Mac OS X, а эксплуатировать на Linux-сервере. Сложности переноса будут минимальны и нивелироваться язы­ком.
    • Бесплатность — РНР является разработкой из мира свободного программного обеспечения, не потребуется платить ни за сам язык, ни за большинство сопут­ствующих программ (редакторы, Web-серверы, базы данных). Вдобавок боль­шинство программных продуктов, с которыми придется иметь дело, будут иметь доступный для изучения и модификации исходный код. Вложения могут потре­боваться при аренде доменного имени и сервера для публикации сайта в Интер­нете. Однако изучать РНР можно, не вкладывая ни копейки.
    • Низкий порог входа — изучить РНР и начать создавать на нем готовые прило­жения много проще, чем с использованием конкурирующих технологий ( .NET , Python , Ruby , Go ). Изучение PHP не закрывает для разработчика другие техно­логии, в Web сам язык — значительная, но меньшая часть используемых техно­логий. Знания, приемы работы, сопутствующие технологии (Web-серверы, базы данных, библиотеки, вспомогательные языки) пригодятся и в любой другой эко­системе, отличной от РНР. При создании собственного бизнеса собрать команду PHP-разработчиков зачастую проще и дешевле всего.

    По закону сохранения, любая вещь, обладающая хоть каким-либо достоинством, имеет недостатки. Ими обладает и РНР 7.

    • Отсутствие лидера — многие технологии и языки имеют лидера, архитектора, который определяет облик технологии, задает вектор развития, принимает решение о том, что должно быть обязательно, а чего не будет никогда (Linux, Python, Ruby и т. п). В РНР лидера нет, многие решения и конструкции — это компромисс заинтересованных групп и исторически сложившихся реалий.
    • Непоследовательный синтаксис — при изучении языка РНР, особенно старой части, основанной на функциях, можно заметить, что часть функций имеет пре­фиксы array_, str_, часть не имеет. Параметры функций могут быть расположены не совсем логично и не так, как в другой функции этой же группы.
    • РНР — уже довольно долго живущий язык. Когда язык только появляется, он довольно элегантный и внутренне согласованный. По мере жизненного цикла язык обрастает дополнительными ключевыми словами, артефактами, устарев­шими конструкциями, которые вроде есть, работают, но которыми не рекомен­дуется пользоваться. У РНР была довольно бурная молодость, в ходе которой была отменена масса директив и приемов, которые на первый взгляд должны были облегчать разработку, а на практике оборачивались серьезными проблема­ми безопасности. Сам РНР, стартовавший как необъектно-ориентированный язык, в настоящий момент стал полноценным объектно-ориентированным язы­ком. Однако в нем полно старых процедурных артефактов, которыми придется пользоваться.
    • Сообщество PHP-разработчиков велико и разъединено, т. к. РНР — это одна из первых технологий для разработки Web-проектов, половина Интернета создана с его участием. В PHP-разработку одновременно было вовлечено огромное ко­личество программистов по всему миру. Все это породило большое число самых разных подходов, фреймворков и не совместимых друг с другом экосистем. Бо­лее того, благодаря усилиям мощных и влиятельных социальных сетей (в пер­вую очередь Facebook, ‘’ВКонтакте”) появились альтернативные реализации РНР. Это плохо, т. к. многие экосистемы внутри РНР не совместимы, а сообще­ство раздроблено и тратит силы на создание одних и тех же библиотек в рамках разных групп. Ситуация исправляется и при помощи PSR-стандартов. Разработ­чики договариваются о единых правилах и интерфейсах, обеспечивающих со­вместимость фреймворков, но этот процесс еще в начале пути, в то время как конкурирующие технологии ( .NET , Ruby ) уже имеют единую платформу для всех фреймворков.

    Структура РНР 7

    Язык РНР 7 имеет ядро и расширения языка. Между ядром и расширениями доволь­но трудно провести границу, т. к. многие расширения давно включены в состав яд­ра или распространяются в виде скомпилированных бинарных библиотек и легко устанавливаются.

    Есть и другая часть — код, созданный на РНР, который условно можно поделить на следующие типы:

    • компоненты — библиотеки на РНР, которые собираются при помощи менедже­ра пакетов Composer;
    • фреймворки — готовые сборки, зачастую из компонентов, при помощи которых можно создавать сайты любой степени сложности. В книге, к сожалению, мы их не касаемся, однако если вы выберите РНР 7 в качестве основного языка разра­ботки, то не пройдете мимо них. На следующие РНР-фреймворки стоит обра­тить внимание: Symfony , Laravel, Zend , Yii . Всего их сотни, если не тысячи;
    • готовые приложения — готовые к использованию разработки на РНР. Это сис­темы управления контентом ( WordPress , Drupal ), форумы ( phpBB ), Web- интерфейсы управления базами данных ( phpMyAdmin , pgAdmin ).

    Книга, которую вы держите в руках, познакомит вас с языком; описанные выше системы созданы с использованием языка РНР, но требуют отдельного изучения, и, к сожалению, их обсуждение выходит за рамки моего блога.

    Сопутствующие технологии

    При помощи РНР 7 можно быстро разрабатывать Web-сайты, однако современные реализации РНР — это не самая быстрая и эффективная часть сайта. Поэтому для запуска сайта потребуются дополнительное программное обеспечение и техно­логии.

    • Web-сервер — программа, которая обеспечивает взаимодействие клиента и вашего приложения посредством протокола HTTP. На протяжении всей книги мы используем встроенный РНР-сервер, хотя для эксплуатации на­стоящего сайта потребуется Web-сервер nginx или Apache .
    • Сервер базы данных — данные нужно где-то хранить. В книге довольно под­робно рассматриваются две базы данных: PostgreSQL и Redis . Однако это далеко не все базы данных, которые вам встретят­ся на практике, да и каждая из затронутых заслуживает отдельной книги.
    • Система контроля версий Git, которая служит для хранения истории разработки, резервного копирования, доставки кода на сервер, организации командной рабо­ты. Работаете ли вы в коллективе или в одиночку — Git в настоящий момент превратился в основной инструмент современного программиста, какой бы язык программирования не был выбран в качестве базового.


    Этот список можно продолжать и продолжать. Однако на самом деле можно начать даже без этого — опираясь просто на язык РНР.

    10 рекомендуемых книг-бестселлеров по PHP

    ����‍�� Премиум-темы для Вордпресс с русскоговорящей поддержкой

    Всем начинающим PHP-программистам я всегда рекомендовал и рекомендую начинать изучение языка не по обрывкам статей и записей блогеров, а с хорошего самоучителя или учебника.

    Да, на блогах можно встретить много интересного и познавательного из области веб-программирования. Но матчасть все же лучше изучать по хорошим учебникам и самоучителям.

    Сегодня я публикую подборку рекомендуемой учебной литературы по языку PHP. Все книги на русском языке и доступны для приобретения в Ozon.ru.

    1. PHP 7

    Дмитрий Котеров, Игорь Симдянов

    Рассмотрены основы языка PHP и его рабочего окружения в Windows, Mac OS X и Linux.Отражены радикальные изменения в языке PHP, произошедшие с момента выхода предыдущего издания: трейты, пространство имен, анонимные функции, замыкания, элементы строгой типизации, генераторы, встроенный Web-сервер и многие другие возможности. Приведено описание синтаксиса PHP 7, а также функций для работы с массивами, файлами, СУБД MySQL, memcached, регулярными выражениями, графическими примитивами, почтой, сессиями и т. д.

    Особое внимание уделено рабочему окружению: сборке PHP-FPM и Web-сервера nginx, СУБД MySQL, протоколу SSH, виртуальным машинам VirtualBox и менеджеру виртуальных машин Vagrant. Рассмотрены современные подходы к Web-разработке, система контроля версий Git, GitHub и другие бесплатные Git-хостинги, новая система распространения программных библиотек и их разработки, сборка Web-приложений менеджером Composer, стандарты PSR и другие инструменты и приемы работы современного PHP-сообщества.

    В третьем издании добавлены 24 новые главы, остальные главы обновлены или переработаны.

    На сайте издательства находятся исходные коды всех листингов.

    2. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5

    Робин Никсон

    Новое издание признанного бестселлера, охватывающего как клиентские, так и серверные аспекты веб-разработки. Эта книга поможет вам освоить динамическое веб-программирование с применением самых современных технологий. Книга изобилует ценными практическими советами, содержит исчерпывающий теоретический материал. Для закрепления материала автор рассказывает, как создать полнофункциональный сайт, работающий по принципу социальной сети.

    3. PHP7 для начинающих с пошаговыми инструкциями

    Майк МакГрат

    PHP7 — самый популярный язык программирования в мире. Новый пошаговый самоучитель поможет вам освоить азы PHP7 с нуля за короткое время. Благодаря известной методике пошагового обучения от Майка МакГрата, даже читатели, не имеющие никакого опыта в программировании, смогут приступить к созданию собственных веб-проектов.
    Самоучитель написан простым языком, содержит множество иллюстраций, полезные советы и рекомендации.

    4. PHP. Объекты, шаблоны и методики программирования

    Мэт Зандстра

    Четвертое издание книги было пересмотрено и дополнено новым материалом. Книга начинается с обзора объектно-ориентированных возможностей PHP, в который включены важные темы, такие как определение классов, наследование, инкапсуляция, рефлексия и многое другое. Этот материал закладывает основы объектно-ориентированного проектирования и программирования на PHP. Вы изучите также некоторые основополагающие принципы проектирования. В этом издании книги также описаны возможности, появившиеся в PHP версии 5.4, такие как трейты, дополнительные расширения на основе рефлексии, уточнения типов параметров методов, улучшенная обработка исключений и много других мелких расширений языка.

    Следующая часть книги посвящена шаблонам проектирования, которые органически дополняют тему ООП и являются описанием элегантных решений распространенных проблем, возникающих при проектировании программного обеспечения. В ней описываются концепции шаблонов проектирования и показаны способы реализации нескольких важных шаблонов в приложениях на PHP. В этой же части приведен материал, посвященный шаблонам корпоративных приложений и баз данных.

    В последней части книги описывается несколько важных утилит и методик, помогающих осуществить успешный проект на основе разрозненных кусков кода. В этой части книги описано, как управлять работой нескольких программистов с помощью Git, как выполнить построение и развертывание проекта с помощью Phing и PEAR.

    Вы также изучите стратегии автоматического тестирования и построения проектов. Кроме обсуждения передовых средств построения и тестирования проектов, а также серверов непрерывной интеграции, в последней части книги описаны лучшие методики организации работы на основе системы контроля версий Git. Тем самым была отражена общая тенденция перехода на новую платформу, которая наметилась в среде разработчиков с момента выхода третьего издания книги.

    Эта книга посвящена трем важным темам: основам объектов, принципам объектно-ориентированного проектирования и лучшим методикам их применения. Изучив их в комплексе читатель сможет создавать первоклассные и отказоустойчивые программные системы.

    Основные темы книги:

    5. PHP. Быстрый старт

    Каллум Хопкинс

    Все, что нужно знать о PHP в одной книге!

    Язык PHP очень популярен, он обеспечивает функционирование 80% всех веб-сайтов, в том числе таких ресурсов, как Facebook, Wikipedia и WordPress. Этот язык прост в изучении и отлично подходит для начинающих. Изучение материалов нашей книги отнимет у вас минимум времени, но вы получите максимум информации, которую сразу сможете использовать!

    Благодаря интенсивному курсу всего за пару дней вы можете:

    • Изучить основы PHP — синтаксис, операторы, циклы и функции;
    • Разобраться в теме объектно-ориентированного программирования;
    • Узнаете, как PHP работает с формами и данными;
    • Сможете повысить безопасность своих PHP-приложений.

    Всего за несколько дней вы подготовите солидную базу для самостоятельного создания PHP-кода!

    6. Современный PHP. Новые возможности и передовой опыт

    Джош Локхарт


    Из книги вы узнаете, как РНР превратился в зрелый полнофункциональный объектно-ориентированный язык, с пространствами имен и постоянно растущей коллекцией библиотек компонентов. Автор демонстрирует новые возможности языка на практике. Вы узнаете о передовых методах проектирования и конструирования приложений, работы с базами данных, обеспечения безопасности, тестирования, отладки и развертывания.Если вы уже знакомы с языком РНР и желаете расширить свои знания о нем, то эта книга для вас!

    7. PHP. Справочник

    Пол Хадсон

    Книга представляет собой полное и наглядное справочное пособие по PHP. В числе многих преимуществ PHP перед другими языками web-программирования — легкость разработки и простота обращения, богатые объектно-ориентированные возможности и мощные расширения. Издание содержит емкие, но при этом понятные примеры. Оно незаменимо при создании сайтов. Начинающие php-программисты найдут здесь ответы на многие вопросы: как написать первый скрипт, подключиться к своей базе данных, динамически формировать страницы сайта. Опытным разработчикам будут весьма интересны разделы о защите информации сайта, взаимодействии с базами данных, мультимедиа, XML, а также расширенных возможностях и особенностях настройки PHP.

    8. Разработка веб-приложений с помощью PHP и MySQL

    Люк Веллинг, Лаура Томсон

    Исчерпывающее учебное пособие по разработке веб-приложений, управляемых базами данных, с использованием PHP и MySQL! Эта книга предназначена для тех, кто знаком с основами HTML и ранее разрабатывал программы на современных языках программирования, но, возможно, не занимался программированием для Веб или не использовал реляционные базы данных.

    В ней подробно описано применение последних версий PHP и MySQL для построения крупных коммерческих Web-сайтов. Основное внимание в книге уделено реальным приложениям. Здесь рассматриваются как простые интерактивные системы приема заказов, так и различные аспекты электронных систем продажи и безопасности во взаимосвязи с созданием реального Web-сайта. Подробно описаны все стадии разработки множества типовых проектов на PHP и MySQL, в числе которых служба веб-почты, приложение поддержки Web-форумов и электронный книжный магазин. Заслуживают особого внимания главы, посвященные объектно-ориентированному программированию на PHP, динамической генерации документов, доступу к веб-службам с помощью XML и SOAP и созданию приложений Web 2.0 с помощью Ajax.

    Основное отличие этого издания от предыдущего состоит в том, что материалы и весь исходный код полностью переписаны для новых версий PHP 5.3 и MySQL 5.1. Книга ориентирована на профессиональных разработчиков, но будет полезной и начинающим.

    PHP и MySQL представляют собой популярные технологии с открытым исходным кодом, которые практически идеально подходят для быстрой и эффективной разработки веб-приложений, управляемых базами данных. PHP — это мощный язык написания сценариев, специально созданный для того, чтобы предоставить разработчикам все возможности по быстрому построению веб-приложений. MySQL является высокопроизводительной и надежной системой управления базами данных, которая, с одной стороны, хорошо интегрируется с PHP и, с другой стороны, ориентирована на реализацию динамических Интернет-приложений.

    В книге продемонстрировано, как эти два инструмента используются для создания высокоэффективных и, в то же время, интерактивных веб-приложений. Здесь представлено исчерпывающее описание языка PHP, а также рассмотрены вопросы настройки и работы с базами данных MySQL и особенности взаимодействия PHP-сценариев с базами данных и серверами.

    В эту практическую, изобилующую реальными примерами книгу включено множество приложений, на основе которых демонстрируется решение общих задач: методика аутентификации посетителей на сайте; разработка полнофункциональной покупательской тележки; динамическая генерация изображений и PDF-документов; отправка и обработка электронной почты; организация дискуссионных форумов; подключение к веб-службам с использованием XML и разработка приложений Web 2.0 с интерактивностью, обеспечиваемой Ajax.

    Четвертое издание книги претерпело существенные изменения — весь материал был тщательно пересмотрен и дополнен, и теперь он полностью соответствует новым версиям PHP 5.3 и MySQL 5.1.

    9. PHP. Создание динамических страниц

    Дэвид Пауэрс

    Язык РНР сочетает мощь и простоту. Эти качества сделали его выбором №1 для миллионов разработчиков сайтов. Учитывая, что всем им приходится иметь дело с одними и теми же, по сути, задачами, авторы этой книги собрали под одной обложкой готовые решения для самых распространенных случаев: от управления файлами до работы с базами данных.

    Эта книга подходит как для новичков, так и для опытных программистов РНР, поскольку здесь на практических примерах разбираются проблемы, с которыми часто сталкиваются веб-разработчики.

    10. PHP и MySQL. Исчерпывающее руководство

    Бретт Маклафлин

    Если у вас есть опыт разработки сайтов с помощью CSS и JavaScript, то эта книга переведет вас на новый уровень — создание динамических сайтов на основе PHP и MySQL. Благодаря практическим примерам в книге вы узнаете все возможности серверного программирования. Вы прочитаете, как выстраивать базу данных, управлять контентом и обмениваться информацией с пользователями, применяя запросы и веб-формы. — Написание PHP-сценариев и создание веб-форм.

    Подпишитесь на мой телеграм и первыми получайте новые материалы, в том числе которых нет на сайте.

    Подпишитесь на рассылку
    Один раз в месяц все новые материалы в одном письме

    200 бесплатных наборов кистей для Фотошопа
    581

    Как в Фотошопе сменить русский язык на английский
    214

    Как быстро наполнить сайт на WordPress с помощью плагина WP All Import
    197

    25 лучших шаблонов для создания интернет-магазина на OpenCart
    153

    Как открыть *.CDR в Adobe Illustrator
    152

    5 лучших книг по Вордпресс на русском языке
    144

    10 рекомендуемых книг-бестселлеров по PHP
    134

    Как быстро удалить все исходящие заявки в друзья во Вконтакте
    129

    Как использовать Media Query в JavaScript
    113

    Как импортировать большую базу данных MySQL в обход ограничений phpMyAdmin
    109

    Установка временнОй зоны в PHP
    101

    20 лучших шаблонов Вордпресс для сферы услуг
    101

    Подключаем цели Яндекс Метрики к WordPress Contact Form 7
    100

    Как включить мультисайт и создать сеть сайтов на Вордпресс
    90


    20 лучших Вордпресс шаблонов для образовательных сайтов
    78

    Как скачать приватное видео из фейсбука
    77

    Новый способ подключения целей Метрики и Аналитики к формам WordPress Contact Form 7
    61

    Как отправить большое видео в Ватсап
    61

    Как разрешить загрузку SVG и других форматов файлов в Вордпресс?
    58

    Топ 12 Вордпресс шаблонов для сайта доставки еды
    57

    Практикующий веб-разработчик, специализируюсь на платформе Вордпресс.

    Вопрос по организации очередей на PHP.

    Я сейчас в своих проектах использую костыльный самопал на PHP-MySQL. Потребности такие:

    — PHP-скрип вызывает метод добавления задачи, передавая нужный к вызову класс. Опционально — метод, параметры, приоритет.

    — Диспетчер следит, чтобы задание выполнилось:
    —— Многопоточно, с изоляцией памяти (утечки и падения не должны сказываться на диспетчере и других потоках)
    —— С минимальной задержкой (реально обеспечивается задержка ≈1/число воркеров секунд)
    —— При падении воркера задача не снимается, а откладывается с таймаутом (т.е. воркер берёт из очереди задание, отмечая, что оно уже занято, чтобы другие воркеры не трогали, но снимает его из очереди только после успешного выполнения).

    Велосипедить начал, когда полностью разочаровался в Gearman (нельзя снимать задачу из очереди только после успешной обработки, нельзя задавать приоритеты, сложно с отладочной целью следить за очередью, нельзя ставить отложенные задачи, да и вообще требует лишних сущностей в виде geamand и библиотек для работы с ним, в то время как под mysql обычно итак любая система развёрнута, а мой движок в общем случае позволяет с любой базой работать и т.п.)

    После Gearman’а бегло знакомился с другими системами обработки очередей, но нужного функционала не видел. С другой стороны, системы эти всё сложнее, так что я мог при беглом просмотре просто не докопаться до глубин.

    Посему и вопрос — может, потребное мне реализуется легко на чём-то общепопулярном, чтобы я мог переключиться на готовое решение и не тратить время на своё?

    Не сталкивался, ни чего не подскажу.

    При падении воркера задача не снимается, а откладывается с таймаутом (т.е. воркер берёт из очереди задание, отмечая, что оно уже занято, чтобы другие воркеры не трогали, но снимает его из очереди только после успешного выполнения).

    Ты или плохо описал или я тупой и не понял. Но. Воркер взял задачу, отметил ее, начал выполнять упал. и? Задача так и осталась отмеченной и ее больше никто не возьмет. Как ты детектишь падение воркера?

    По таймауту задачи. Воркер, забирая задачу ставит таймстамп. Диспетчер через N минут (в принципе, можно передавать в параметрах задачи, но у меня сейчас фиксировано) считает, что воркер обломался и запускает нового. Поведение тоже, в принципе, можно настраиваться в параметрах задачи, например, убивать задачу через N попыток, но у меня сейчас крутится вечно, разбираю такие случаи вручную, соответственно, задача снимется, когда я исправлю ошибку.

    В случае падения, конечно, речи об оперативном, за доли секунды, отклике не идёт, но это уже исключительная ситуация.

    А. Тогда ясно. Я бы прикрутил еще апдейт таймстампа воркером если он продолжает ее выполнение, чтобы диспетчер видел когда он последний раз откликнулся и случайно не передал успешно выполняющуюся, но чуть притормозившую задачу.

    Я бы прикрутил еще апдейт таймстампа воркером если он продолжает ее выполнение

    В принципе можно, но этим уже задача будет заниматься, типа, в глубоком цикле периодически вызывать $this->worker()->ping() (сам воркер в одном потоке с задачей, так что пока она работает «его нет»). Это, кстати, с одной стороны вводит лишнюю сущность, с другой, позволит диспетчеру быстро обнаружить упавшего воркера и усложнить процесс обработки — перезапускать задачу сразу же после первого падения и увеличивать ожидание при следующих.

    Что представляет собой РНР 7? Возможности для программиста

    Язык программирования РНР 7 — серверный язык, при помощи которого можно создавать Web-сайты, причем как небольшие лендинги, состоящие из одной страницы, так и гигантские системы, использующие сотни и тысячи серверов. Элек­тронная энциклопедия Wikipedia, социальные сети Facebook, ’’ВКонтакте”, электронная площадка объявлений Avito созданы с использованием РНР.

    Будучи одним из самых первых языков программирования, ориентированных на Web-разработку, РНР прошел длительный путь практически с самого начала заро­ждения Web. Поэтому в мире он остается одним из самых популярных и востребо­ванных языков.

    Достоинства и недостатки PHP 7

    В основе популярности РНР лежат следующие достоинства.

    • Ориентация на Web-разработку — РНР создавался, развивался и поддерживает­ся как язык для создания Web-сайтов. Многие конструкции и решения в нем созданы для удобства работы в Web-среде.
    • Кроссплатформенность — РНР перенесен на все основные операционные сис­темы: можно разрабатывать сайт в Windows, Mac OS X, а эксплуатировать на Linux-сервере. Сложности переноса будут минимальны и нивелироваться язы­ком.
    • Бесплатность — РНР является разработкой из мира свободного программного обеспечения, не потребуется платить ни за сам язык, ни за большинство сопут­ствующих программ (редакторы, Web-серверы, базы данных). Вдобавок боль­шинство программных продуктов, с которыми придется иметь дело, будут иметь доступный для изучения и модификации исходный код. Вложения могут потре­боваться при аренде доменного имени и сервера для публикации сайта в Интер­нете. Однако изучать РНР можно, не вкладывая ни копейки.
    • Низкий порог входа — изучить РНР и начать создавать на нем готовые прило­жения много проще, чем с использованием конкурирующих технологий ( .NET , Python , Ruby , Go ). Изучение PHP не закрывает для разработчика другие техно­логии, в Web сам язык — значительная, но меньшая часть используемых техно­логий. Знания, приемы работы, сопутствующие технологии (Web-серверы, базы данных, библиотеки, вспомогательные языки) пригодятся и в любой другой эко­системе, отличной от РНР. При создании собственного бизнеса собрать команду PHP-разработчиков зачастую проще и дешевле всего.

    По закону сохранения, любая вещь, обладающая хоть каким-либо достоинством, имеет недостатки. Ими обладает и РНР 7.

    • Отсутствие лидера — многие технологии и языки имеют лидера, архитектора, который определяет облик технологии, задает вектор развития, принимает решение о том, что должно быть обязательно, а чего не будет никогда (Linux, Python, Ruby и т. п). В РНР лидера нет, многие решения и конструкции — это компромисс заинтересованных групп и исторически сложившихся реалий.
    • Непоследовательный синтаксис — при изучении языка РНР, особенно старой части, основанной на функциях, можно заметить, что часть функций имеет пре­фиксы array_, str_, часть не имеет. Параметры функций могут быть расположены не совсем логично и не так, как в другой функции этой же группы.
    • РНР — уже довольно долго живущий язык. Когда язык только появляется, он довольно элегантный и внутренне согласованный. По мере жизненного цикла язык обрастает дополнительными ключевыми словами, артефактами, устарев­шими конструкциями, которые вроде есть, работают, но которыми не рекомен­дуется пользоваться. У РНР была довольно бурная молодость, в ходе которой была отменена масса директив и приемов, которые на первый взгляд должны были облегчать разработку, а на практике оборачивались серьезными проблема­ми безопасности. Сам РНР, стартовавший как необъектно-ориентированный язык, в настоящий момент стал полноценным объектно-ориентированным язы­ком. Однако в нем полно старых процедурных артефактов, которыми придется пользоваться.
    • Сообщество PHP-разработчиков велико и разъединено, т. к. РНР — это одна из первых технологий для разработки Web-проектов, половина Интернета создана с его участием. В PHP-разработку одновременно было вовлечено огромное ко­личество программистов по всему миру. Все это породило большое число самых разных подходов, фреймворков и не совместимых друг с другом экосистем. Бо­лее того, благодаря усилиям мощных и влиятельных социальных сетей (в пер­вую очередь Facebook, ‘’ВКонтакте”) появились альтернативные реализации РНР. Это плохо, т. к. многие экосистемы внутри РНР не совместимы, а сообще­ство раздроблено и тратит силы на создание одних и тех же библиотек в рамках разных групп. Ситуация исправляется и при помощи PSR-стандартов. Разработ­чики договариваются о единых правилах и интерфейсах, обеспечивающих со­вместимость фреймворков, но этот процесс еще в начале пути, в то время как конкурирующие технологии ( .NET , Ruby ) уже имеют единую платформу для всех фреймворков.

    Структура РНР 7

    Язык РНР 7 имеет ядро и расширения языка. Между ядром и расширениями доволь­но трудно провести границу, т. к. многие расширения давно включены в состав яд­ра или распространяются в виде скомпилированных бинарных библиотек и легко устанавливаются.

    Есть и другая часть — код, созданный на РНР, который условно можно поделить на следующие типы:

    • компоненты — библиотеки на РНР, которые собираются при помощи менедже­ра пакетов Composer;
    • фреймворки — готовые сборки, зачастую из компонентов, при помощи которых можно создавать сайты любой степени сложности. В книге, к сожалению, мы их не касаемся, однако если вы выберите РНР 7 в качестве основного языка разра­ботки, то не пройдете мимо них. На следующие РНР-фреймворки стоит обра­тить внимание: Symfony , Laravel, Zend , Yii . Всего их сотни, если не тысячи;
    • готовые приложения — готовые к использованию разработки на РНР. Это сис­темы управления контентом ( WordPress , Drupal ), форумы ( phpBB ), Web- интерфейсы управления базами данных ( phpMyAdmin , pgAdmin ).

    Книга, которую вы держите в руках, познакомит вас с языком; описанные выше системы созданы с использованием языка РНР, но требуют отдельного изучения, и, к сожалению, их обсуждение выходит за рамки моего блога.

    Сопутствующие технологии

    При помощи РНР 7 можно быстро разрабатывать Web-сайты, однако современные реализации РНР — это не самая быстрая и эффективная часть сайта. Поэтому для запуска сайта потребуются дополнительное программное обеспечение и техно­логии.

    • Web-сервер — программа, которая обеспечивает взаимодействие клиента и вашего приложения посредством протокола HTTP. На протяжении всей книги мы используем встроенный РНР-сервер, хотя для эксплуатации на­стоящего сайта потребуется Web-сервер nginx или Apache .
    • Сервер базы данных — данные нужно где-то хранить. В книге довольно под­робно рассматриваются две базы данных: PostgreSQL и Redis . Однако это далеко не все базы данных, которые вам встретят­ся на практике, да и каждая из затронутых заслуживает отдельной книги.
    • Система контроля версий Git, которая служит для хранения истории разработки, резервного копирования, доставки кода на сервер, организации командной рабо­ты. Работаете ли вы в коллективе или в одиночку — Git в настоящий момент превратился в основной инструмент современного программиста, какой бы язык программирования не был выбран в качестве базового.

    Этот список можно продолжать и продолжать. Однако на самом деле можно начать даже без этого — опираясь просто на язык РНР.

    Цукерберг рекомендует:  Базы данных. Как я делал проект на C#
    Понравилась статья? Поделиться с друзьями:
    Все языки программирования для начинающих