Разное

Php 7 специалист: Курс по основам PHP

Подборка материалов по PHP 7

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


Это популярное и доступное пособие поможет вам уверенно освоить динамическое веб-программирование с применением самых современных языков и технологий: PHP, MySQL, JavaScript, CSS и HTML5.
Книга охватывает следующие темы:

  • Основы языка PHP и объектно-ориентированное программирование
  • СУБД MySQL
  • Cookie, управление сеансами, безопасность
  • JavaScript
  • Технология AJAX
  • Основы CSS
  • Новейшие возможности HTML5: геолокация, canvas, работа с мультимедиа без использования Flash

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


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


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


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

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

Видеокурсы

Базовый PHP
Основы работы с PHP и MySQL
С нуля до junior PHP
PHP старт. Теория
Уроки по PHP для новичков
Основы PHP

 

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

М. Зандстра «PHP. Объекты, шаблоны и методики программирования» (2016)


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


В этой книге рассматриваются основы языка PHP и его рабочее окружение в разных операционных системах.
Отражены радикальные изменения в языке PHP, произошедшие с момента выхода предыдущего издания: трейты, пространство имен, анонимные функции, замыкания, элементы строгой типизации, генераторы, встроенный Web-сервер и многие другие возможности. Приведено описание синтаксиса PHP 7, а также функций для работы с массивами, файлами, СУБД MySQL, memcached, регулярными выражениями, графическими примитивами, почтой, сессиями и так далее.
Особое внимание уделено рабочему окружению: сборке PHP-FPM и Web-сервера nginx, СУБД MySQL, протоколу SSH, виртуальным машинам VirtualBox и менеджеру виртуальных машин Vagrant.
Издание описывает самые современные подходы к веб-разработке. На сайте издательства находятся исходные коды всех листингов.

Видеокурсы

Полный курс по объектно-ориентированному программированию на PHP
Курс по написанию собственного фреймворка на PHP
PHP Security
Все о парсерах
Современный PHP: быстрый старт с PHP 7
ООП и паттерны разработки в PHP

Путь веб-разработчика в 2017

Оптимизация веб-страницы: подробное руководство

Как опытный IT-специалист изучал Python в GB | GeekBrains

Впечатления, первые проекты, советы начинающим, расширение кругозора.

6 минут

6527

Автор статьи

Мария Лисянская

Автор статьи

Мария Лисянская

https://gbcdn.mrgcdn.ru/uploads/post/1985/og_image/b1684251ba60ae5ff02f09617bb0e393.png

Константин Ложкин — Magento-разработчик, т.е. специалист, который пишет интернет-магазины на PHP-движке Magento. Уже три года как Константин живет и работает в Германии. Он скоро поделится со СМИ историей своего переезда и трудоустройства, а главное — подробными рекомендациями для тех, кто хотел бы работать в ЕС. Этот рассказ впереди.

А пока мы решили расспросить Константина о его тринадцати годах в IT, об учебе в GeekBrains и о преимуществах написания бэкенда на PHP и Python. Также обсудим, зачем веб-разработчику разбираться в информационной безопасности.

— Константин, сколько вы уже занимаетесь программированием профессионально?

— Впервые коммерческую программу я написал в 2006 году, когда учился на первом курсе университета. Это было решение для автоматизации производства пенопласта. Программу внедрили и использовали на промышленном предприятии минимум пару лет. Были за время учебы и другие подработки: создание небольших сайтов, верстка. В 2010 году я окончил университет и остался работать в сфере образования. В этот период написал на PHP систему для дистанционного тестирования студентов. Ее в университете использовали до 2015 года. В этот период я также работал по совместительству в технической поддержке Яндекса.

Первый опыт работы в команде программистов я приобрел в 2014 году. Заграничная компания, чтобы удешевить разработку, открыла аутсорсинговый филиал на Украине, достаточно быстро расширялась и искала новых разработчиков в команду. По воле случая мне повезло попасть к опытным коллегам. 

Хочу порекомендовать новичкам: когда у вас уже есть базовые знания для позиции программиста, переходите к работе в команде. Это ускорит ваше обучение. Два года командной разработки дали мне в разы больше, чем все предыдущие годы кодинга в одиночку. Например, я изучил на практике Docker и Vagrant, узнал про автоматическое тестирование с помощью PHPUnit-тестов и с их помощью нашел вагон багов в чужом коде. Это технологии, которые используются только в больших проектах, — на маленьких, над которыми работаешь один, это бессмысленно. 

А еще мне повезло: примерно через девять месяцев работы над проектом мне предложили перейти в другую команду и изучить с нуля перспективную Magento CMS, под которую не могли найти дополнительного разработчика. Естественно, я согласился, и это впоследствии сыграло ключевую роль при поиске работы за границей. Классно, когда работодатель поощряет сотрудников в изучении новых технологий в рабочее время.

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

— Когда вы поняли, что вам нужен Python, и какие перспективы для себя увидели в этом направлении?

— До 2014 года я работал в Яндексе, в технической поддержке сервиса «Почта для домена». Там я узнал, что почти все проекты Яндекса написаны на Python и что этот язык хорошо заточен под работу со строками, поэтому идеален для крупной поисковой системы. 

Больше я тогда ничего не знал о Python, и, конечно же, заинтересовался им. Хотел переквалифицироваться из сотрудника техподдержки в Python-программиста. 

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

— Вы окончили вуз по специальности «системное программирование» — это хорошая теоретическая база. Дальше получили опыт PHP-разработки. Почему вы решили изучать Python на курсах, а не самостоятельно, по книгам и документации?

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

Сначала я пытался самостоятельно освоить Python по статьям в интернете, затем попробовал бесплатный образовательный видеокурс. Есть ряд ресурсов такого плана: edX, Udemy, бесплатные уроки на GeekBrains. Если пользоваться бесплатными инструментами, то получаешь, как правило, точечные знания. Такое обучение малоэффективно. Так можно стать кодером, но не программистом. 

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

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

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

— Почему вы остановили выбор на курсах GeekBrains? Насколько оправдались ожидания от учебы?

— Больше всего мне понравилась идея стажировки: возможность получить опыт разработки реального проекта. На других курсах я такого не нашел, и ясно, что просмотр видеоуроков на YouTube этого не даст. 

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

Еще один аргумент в пользу онлайн-обучения — его легче совмещать с полной занятостью на работе.

Ожидания от учебы в GeekBrains в основном оправдались. Не все идеально — многое зависит от преподавателя и вообще от человеческого фактора. Например, у нас на потоке один студент во время занятий отправлял в чат столько сообщений, что преподаватель постоянно отвлекался и это мешало ему объяснять материал.

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

— Расскажите о проектах, которые вы сделали за время учебы и стажировки.  Насколько было сложно? Есть ли перспективы реального применения или это были проекты ради опыта?

— В курсе по профессии «Программист Python» обучение языку разделено по уровням. На одном из них мы разрабатывали собственный мессенджер. Позже этот проект студенты продолжили доводить до ума на стажировке. А я попал в команду, которая делала другой проект, и разрабатывал backend-часть для программного HR-бота. Нужно было написать API, который отвечал бы за сохранение данных и взаимодействие всех частей бота между собой. Таких частей две: frontend-клиент и «паук», который собирает данные в интернете и передает API для обработки.

Backend я построил на основе Flask. Сейчас мы с командой вносим финальные правки, и совсем скоро проект будет внедрен реальным заказчиком. Ждать осталось совсем чуть-чуть 🙂

— Вы теперь можете сравнить написание backend’а на PHP и Python. В чем, на ваш взгляд, плюсы и минусы? Что бы вы предпочли делать с помощью PHP, а что — на Python? 

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

В немецкой компании, где я сейчас работаю, используют Magento CMS — большой и местами неповоротливый движок для интернет-магазина. Под Python нет готовых инструментов такого масштаба. Python — это скорее конструктор. С ним вы собираете что-то свое из множества небольших модулей. А у движков на PHP много лишнего «в нагрузку».

PHP старше, и иногда это играет с ним злую шутку, но все же он развивается: например, PHP 7 гораздо быстрее прошлых версий. Думаю, этот язык еще долго продержится в пятерке самых популярных.

Python незаменим для крупных веб-проектов, где важно быстродействие. А еще это универсальный язык, на котором можно писать что угодно, в том числе desktop-приложения. Его используют для сложных научных вычислений, построения нейросетей и даже для программирования умного дома на базе Raspberry Pi. Думаю, PHP никогда не сможет предложить так много вариантов применения.

Есть еще эстетика. И хотя плохой код можно написать на любом языке, скажу честно: код на Python намного чище и читабельнее. Скажем так, Python требует от программиста дисциплины, в то время как PHP легче «мирится» с некрасивым кодом.

— Помимо Python вы изучали в GeekBrains информационную безопасность. На каком этапе сейчас обучение? Вы собираетесь применять эти знания в разработке? Или вам интересна возможность перейти с позиции разработчика к работе программиста-безопасника?

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

Нас отправили на специализированный ресурс, где я узнал, сколько моих паролей «утекло» в интернет, и ужаснулся. 🙂 Ничуть не жалею о времени, потраченном на лекции и практические задания, — поработал с инструментами. Большего мне пока не нужно, поэтому на стажировку записываться не стал. Но знания уже пригодились в работе: я выявил несколько уязвимостей на сайтах компании. Уверен, что и в будущем понимание азов безопасности пригодится.

история успехапрограммированиевеб разработкаwebpython

Нашли ошибку в тексте? Напишите нам.

Ларри Гарфилд обсуждает PHP 7, фреймворки PHP и участие в проектах с открытым исходным кодом

Follow @Cloudways

Ларри Гарфилд занимается разработкой веб-сайтов со школьной скамьи и работает в индустрии разработки с самого раннего детства. До того, как его имя получило признание как главный влиятельный PHP-разработчик в отрасли, он сначала отработал свое основное время в качестве внештатного разработчика, чей любимый интерес заключался в разработке различных веб-сайтов и изучении искусства разнообразного программирования. Будучи экспертом по разработке PHP, Ларри в настоящее время является директором по опыту разработчиков в Platform.sh. Итак, здесь, в Cloudways, мы провели интерактивное интервью с Ларри Гарфилдом, чтобы узнать о его опыте разработки и индустрии Drupal.

Вот что он говорит об этом:

C громкоговорители: Привет, Ларри! Как вы? Спасибо, что нашли свое драгоценное время для этого интервью! Расскажите, пожалуйста, о некоторых моментах вашей карьеры разработчика? Что побудило вас выбрать эту область в качестве своей профессии и разрабатывать веб-сайты еще со школы?

Ответ: Боже мой, вы спрашиваете о древней истории… Мой отец много лет был профессором истории в Университете ДеПоля, и я, как его сын, был не по годам развитым ребенком, который всегда приходил починить все компьютеры (где «починить» означало Я знал, как перемещать значки в Windows 3.

1). Так что с 13 лет у меня была репутация компьютерного фаната.96, когда школа сообщила отделу, что они должны создать «сайт» на этой новомодной штуке под названием «Интернет», они призвали меня. В то время я ничего не знал о создании веб-сайтов, поэтому купил «Создание крутых веб-страниц с помощью HTML 1.1» и начал работать. А в остальном, как говорится, уже история.

Я также занимался ИТ-журналистикой и разработкой Palm OS, но это совсем другая сага.

Cloudways: Вы давно начали разработку, возможно, в молодом возрасте, и стали успешным внештатным разработчиком. Итак, каков был ваш опыт фриланса? Могут ли разработчики перейти на фриланс на полный рабочий день в качестве карьеры?

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

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

Какое-то время консультации были забавой; каждые несколько месяцев у меня был новый проект, по сути, новый. Обратной стороной было то, что каждые несколько месяцев я работал над новым проектом, а долгосрочная эволюция и улучшение не были частью игры. «Сделай это быстро» всегда противоречит «сделай это правильно». В конце концов мне это надоело, и я перешел в продуктовую компанию (Platform.sh), которая на данный момент мне нравится гораздо больше.

Cloudways: Drupal также построен на PHP, и теперь его ядро ​​перенесено на фреймворк Symfony. Итак, вас устраивает текущая версия PHP? Какие новые функции вы предлагаете добавить в новые версии PHP?

Ответ: PHP — один из самых быстро развивающихся языков на современном рынке. Это может быть хорошо и плохо. К счастью, мы очень-очень далеко ушли от темных дней PHP 4 и раннего PHP 5, когда мы застряли в проблеме обновления по принципу «курица и яйцо». В то время я запустил инициативу GoPHP 5, чтобы сделать возможным использование PDO в Drupal. (Да, это было в основном эгоистично, но я рад, что это продвинуло вперед все сообщество.)  Сегодня такая масштабная инициатива не нужна, поскольку язык более совместим с предыдущими версиями, а сообщество более агрессивно продвигает обновления, и мы Лучшее сообщество для этого.

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

Большая часть действительно захватывающей работы в экосистеме PHP в наши дни находится за пределами самого движка. Усилия PHP Framework Interoperability Group (PHP-FIG), разработка Composer и его экосистемы, а также другие подобные разработки действительно изменили сообщество. PHP сегодня почти не похож на PHP 15 лет назад; мы намного лучше этого. Я рад видеть, что эти разработки продолжаются, и быть их частью. (Я активный член PHP-FIG.)

Cloudways: Ларри, за эти годы вы внесли большой вклад в разработку открытого исходного кода. Поэтому, пожалуйста, уточните, как начинающий разработчик может начать участвовать в проектах с открытым исходным кодом. Какую ценность это добавляет карьере разработчика?

Ответ: Честно говоря, у меня очень смешанные чувства. Я твердо верю в свободные программы по моральным соображениям. Люди имеют право контролировать свои собственные компьютеры и цифровую жизнь, и свободное программное обеспечение предлагает эту защиту сейчас лучше, чем что-либо другое. Открытый исходный код как модель разработки (что не одно и то же) также имеет тенденцию производить лучшее программное обеспечение в долгосрочной перспективе, хотя и не всегда в краткосрочной.

Некоторые из самых замечательных людей, которых я встречал, участвовали в проектах с открытым исходным кодом, и это также отличный способ учиться у других. Но и в Open Source тоже полно придурков. Он не застрахован от человеческой слабости.

Кроме того, наша экономика стала слишком зависимой от бесплатного, добровольного труда неоплачиваемых героев, которые получают слишком много горя из-за того, что не жертвуют еще больше работы бесплатно. Я уже писал о том, почему открытый исходный код ужасен (https://steemit.com/opensource/@crell/open-source-is-awful), поэтому не буду здесь повторяться.

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

Всегда помогайте им, если можете.)

Помните: ни свободное программное обеспечение, ни открытый исходный код не требуют от вас бесплатного использования своего времени. Цените свое время; найти работу, которая будет платить вам за работу над свободным программным обеспечением, будь то фриланс или компания. Не позволяйте этому превратиться в «специальную работу» для вас.

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

Cloudways: Для быстрой разработки приложений одной из самых сложных задач является выбор правильного PHP-фреймворка. Как вы думаете, как Symfony и Laravel лучше всего соответствуют этому требованию? Какими должны быть критерии выбора фреймворка?

Ответ: О боже, ты пытаешься меня проткнуть? 🙂

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

Исторический ответ заключался в том, что Laravel лучше подходит для «быстрых и грязных» сайтов, которые не нужно будет поддерживать в течение длительного времени, в то время как Symfony требует более высокой кривой обучения и труднее подчиниться вашей воле, но даст вам более устойчивый продукт. Я больше не думаю, что это правда. На Laravel явно построены давно работающие сайты. А с Symfony 4 Flex процесс быстрой разработки приложений Symfony стал намного более плавным, чем раньше. Я бы сказал, что Symfony определенно закрыла разрыв в RAD с Laravel, и то, что вы получите от этого, будет более элегантным и удобным в сопровождении, чем глобальные функции, оборачивающие вызовы в глобальный контейнер.

В конце концов, лучший фреймворк для проекта — это тот, с которым вы лучше всего знакомы и/или с которым вам легче всего получить помощь, когда вы застряли. Для меня это Symfony. Для кого-то это может быть Laravel, Zend Framework, Slim, Cake или что-то еще. Ни один из них не является плохим выбором, просто знакомый выбор.

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

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

* Всегда используйте последнюю версию PHP. (Если вы еще не используете как минимум PHP 7.0, производительность вас не волнует.)

* Минимизируйте количество операций ввода-вывода (устраните SQL-запросы)

* Убедитесь, что ваш сервер (nginx, PHP-FPM, SQL и т. д.) .) настроен правильно. (Это включает в себя хорошие индексы в вашей базе данных.)

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

* Профилируйте перед рефакторингом для повышения производительности.

Подробнее: Как перейти с PHP 5.X на PHP 7 (памятка)

Как правило, чистый код с хорошей развязкой будет работать быстрее, чем спагетти-код. А если нет, то его будет намного проще почистить, чтобы сделать быстрее. (Здесь я цитирую кого-то другого, но это абсолютная правда.)

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

Все остальное — детали реализации.

Cloudways: Разработчики других языков часто критикуют PHP. Любые предложения или советы для этих людей?

Ответ: Если вы не ненавидите язык программирования, значит, вы недостаточно им пользовались. Я твердо верю, что это верно для всех языков.

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

Кроме того, если вы хотите жаловаться на PHP, по крайней мере, жалуйтесь на PHP 7.x. Сравнение последней версии Ruby on Rails со статусом-кво в PHP примерно 2003 года несправедливо и может ввести в заблуждение. И наоборот, сравнение Symfony 4, работающего на PHP 7.2, с, скажем, Javascript 2003 года также было бы безответственным.

Наконец, не любить язык — это нормально. Действительно, это так. Но это не то же самое, что плохой язык, и глупо их путать. Лично мне не очень нравится Python, но это явно успешный язык, который выполняет свою работу и быстро набирает популярность. Явно что-то делает правильно.

Cloudways: Ларри, будучи директором по работе с разработчиками в Platform.sh, вы бы порекомендовали облачные серверы для масштабируемых проектов или серверы виртуального хостинга? Как разработчики выбирают хостинг для своих нужд?

Ответ: Ваш выбор среды хостинга зависит от вашего варианта использования, а «лучшие практики» и компромиссы постоянно развиваются. То, что я рекомендовал бы 5 лет назад большинству разработчиков, не является тем, что я бы рекомендовал сегодня, и через 5 лет я, вероятно, порекомендую что-то другое. Не зацикливайтесь на конкретном подходе или конкретном маркетинговом шаге; застрять на вопросе «что лучше всего удовлетворяет мои потребности?» Во многом все сводится к тому, какая гибкость важна для вас.

PaaS, например Platform.sh, лучше всего подходит для случаев, когда вы хотите сосредоточиться на своем приложении и данных и не беспокоиться о серверах. С Platform.sh вы выбираете свою версию PHP (или версию Node, или версию Ruby, или что-то еще) и вперед. Вам не нужно обращать внимание на «Какую версию Nginx я использую?» или «Какой самый эффективный способ клонировать эти данные в промежуточную среду?» или «Выйдет ли на этой неделе выпуск безопасности ядра Linux?» Вы просто имеете дело со своим приложением и необходимой ему конфигурацией. Облачные вычисления в значительной степени отделили физическое оборудование от логических ресурсов, и это хорошо. Теперь с хорошим облачным хостом очень легко «задействовать больше ресурсов», когда это необходимо, не беспокоясь об оборудовании.

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

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

Cloudways предлагает вам выделенные серверы с хранилищем SSD, настраиваемую производительность, оптимизированный стек и многое другое для ускорения загрузки на 300%.

Свободный запуск

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

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

Cloudways: Что вы думаете о решениях для управляемого хостинга, таких как Cloudways, которые предоставляют полнофункциональный и оптимизированный стек PHP с Laravel и другими приложениями? Считаете ли вы, что решения для управляемого хостинга помогают разработчикам запускать веб-проекты, не беспокоясь о проблемах с управлением сервером?

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

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

Число первых превышает число вторых как минимум в 50 раз.

 

Поделитесь своим мнением в разделе комментариев. КОММЕНТАРИЙ СЕЙЧАС

Поделиться этой статьей

Шахрозе Наваз

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

Подключайтесь по телефону: Твиттер Форум сообщества

PHP 7: Прекращение поддержки безопасности. Что теперь?

PHP 7.4 был выпущен 28 ноября 2019 г. Активная поддержка этой версии закончилась 28 ноября 2021 г. С тех пор были исправлены только критические проблемы безопасности для PHP 7.4, а новые версии выпускались только по мере необходимости.

Я объяснил термины «активная поддержка» и «поддержка безопасности» в статье 2016 года, когда закончилась активная поддержка PHP 5. 6.

Что это значит для вас

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

Если вы в настоящее время используете PHP 8.0, значит, вы используете версию PHP, срок службы которой истечет через год. Активная поддержка этой версии закончилась два дня назад. Проект PHP будет продолжать исправлять критические проблемы безопасности для PHP 8.0 до 26 ноября 2023 года. Однако ошибки, не связанные с безопасностью, больше не будут исправляться в этой версии.

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

Что делать

Самое время запланировать обновление вашего стека PHP до PHP 8. Это должно быть для вас краткосрочной целью.

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

Платформы, библиотеки и инструменты

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

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

  • Symfony 6 был выпущен в ноябре 2021 года и больше не поддерживает PHP 7
  • Laravel 9 был выпущен в феврале 2022 года и больше не поддерживает PHP 7
  • Magento 2. 4.4 был выпущен в апреле 2022 года и больше не поддерживает PHP 7
  • Выпуск Drupal 10 запланирован на декабрь 2022 года и больше не будет поддерживать PHP 7
  • Выпуск Xdebug 3.2 запланирован на декабрь 2022 г., и он больше не будет поддерживать PHP 7
  • Выпуск PHPUnit 10 запланирован на февраль 2023 г., и он больше не будет поддерживать PHP 7
  • Выпуск TYPO3 12 запланирован на апрель 2023 г., и он больше не будет поддерживать PHP 7
  • .
  • Выпуск NEOS 9 запланирован на осень 2023 года и больше не будет поддерживать PHP 7

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

Мы можем вам помочь

Существующие системы стареют главным образом из-за развития технологий.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *