0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p>Этот язык неспроста считается одним из самых гибких. PHP предоставляет большой спектр инструментов и огромное количество вариантов решения любой задачи. В нем нет статической типизации, и каждой переменной можно присвоить любое значение. Переменную можно взять буквально из воздуха и начать использовать в программе. В языке есть динамические массивы - их не нужно объявлять заранее. Они автоматически расширяются: при добавлении нового элемента происходит выделение памяти. Типизированный и нетипизированный массивы в PHP - это одно и то же, то есть разработчику не нужно заранее определять их вид, допустимы даже смешанные варианты. Например:</p>
1
<p>Этот язык неспроста считается одним из самых гибких. PHP предоставляет большой спектр инструментов и огромное количество вариантов решения любой задачи. В нем нет статической типизации, и каждой переменной можно присвоить любое значение. Переменную можно взять буквально из воздуха и начать использовать в программе. В языке есть динамические массивы - их не нужно объявлять заранее. Они автоматически расширяются: при добавлении нового элемента происходит выделение памяти. Типизированный и нетипизированный массивы в PHP - это одно и то же, то есть разработчику не нужно заранее определять их вид, допустимы даже смешанные варианты. Например:</p>
2
$array = array(1 => "a","1" => "b",1.5 => "c",true => "d",);<p><strong>Синтаксис PHP позволяет много вольностей, из-за чего появилось мнение, что на нем легко писать.</strong></p>
2
$array = array(1 => "a","1" => "b",1.5 => "c",true => "d",);<p><strong>Синтаксис PHP позволяет много вольностей, из-за чего появилось мнение, что на нем легко писать.</strong></p>
3
<p>Но если речь идет о проекте серьезнее одностраничного сайта или простого интернет-магазина, то гибкость и динамическая типизация превращают PHP в очень сложный язык для разработки. В частности, программист не увидит алгоритмические и синтаксические ошибки, поскольку язык позволяет их допускать. Поэтому отлаживать PHP-программы, в которые закрался баг, довольно сложно.</p>
3
<p>Но если речь идет о проекте серьезнее одностраничного сайта или простого интернет-магазина, то гибкость и динамическая типизация превращают PHP в очень сложный язык для разработки. В частности, программист не увидит алгоритмические и синтаксические ошибки, поскольку язык позволяет их допускать. Поэтому отлаживать PHP-программы, в которые закрался баг, довольно сложно.</p>
4
<p>По ошибке можно взять из базы данных не результат, а объект запроса. И, будучи уверенным, что в переменной находится результат, проводить над ней какие-то действия. И PHP позволит это сделать, но что получится в итоге - предсказать невозможно. Значения не будут соответствовать действительности, а программа может не выполниться или результат ее работы будет неожиданным.</p>
4
<p>По ошибке можно взять из базы данных не результат, а объект запроса. И, будучи уверенным, что в переменной находится результат, проводить над ней какие-то действия. И PHP позволит это сделать, но что получится в итоге - предсказать невозможно. Значения не будут соответствовать действительности, а программа может не выполниться или результат ее работы будет неожиданным.</p>
5
<p><strong>Не стоит путать два понятия: легко и быстро - это совершенно разные вещи.</strong></p>
5
<p><strong>Не стоит путать два понятия: легко и быстро - это совершенно разные вещи.</strong></p>
6
<p>Поэтому в работе над большими проектами с PHP нужно быть крайне внимательным. Можно совершить ошибку, которую будет очень сложно найти. Несмотря на это, его используют для высоконагруженных проектов: программировать на PHP гораздо быстрее, чем при помощи статических языков. Заметьте, что "разрабатывать быстро" - не то же самое, что и "легко".</p>
6
<p>Поэтому в работе над большими проектами с PHP нужно быть крайне внимательным. Можно совершить ошибку, которую будет очень сложно найти. Несмотря на это, его используют для высоконагруженных проектов: программировать на PHP гораздо быстрее, чем при помощи статических языков. Заметьте, что "разрабатывать быстро" - не то же самое, что и "легко".</p>
7
<p>Несмотря на более чем 20-летнюю историю активного развития, даже сегодня многие считают его неполноценным языком программирования. До сих пор в умах некоторых разработчиков живет миф, что на PHP делают только простые одностраничные сайты и "визитки".</p>
7
<p>Несмотря на более чем 20-летнюю историю активного развития, даже сегодня многие считают его неполноценным языком программирования. До сих пор в умах некоторых разработчиков живет миф, что на PHP делают только простые одностраничные сайты и "визитки".</p>
8
Популярность языка PHP в индексе<a>Tiobe</a><p>Но достаточно оглянуться по сторонам, чтобы увидеть: больших серьезных проектов, использующих PHP, огромное количество. Вот только несколько известных примеров:</p>
8
Популярность языка PHP в индексе<a>Tiobe</a><p>Но достаточно оглянуться по сторонам, чтобы увидеть: больших серьезных проектов, использующих PHP, огромное количество. Вот только несколько известных примеров:</p>
9
<ul><li>"Фейсбук*";</li>
9
<ul><li>"Фейсбук*";</li>
10
<li>"ВКонтакте";</li>
10
<li>"ВКонтакте";</li>
11
<li>"Авито";</li>
11
<li>"Авито";</li>
12
<li>Mail.ru;</li>
12
<li>Mail.ru;</li>
13
<li>Yahoo!;</li>
13
<li>Yahoo!;</li>
14
<li>Wikipedia;</li>
14
<li>Wikipedia;</li>
15
<li>BlaBlaCar;</li>
15
<li>BlaBlaCar;</li>
16
<li>TED.</li>
16
<li>TED.</li>
17
</ul><p>Благодаря нынешнему развитию языка и его фреймворков можно реализовать интересные разноплановые проекты. Написанные на нем небольшие сайты ширились и постепенно выросли в огромные сложные системы.</p>
17
</ul><p>Благодаря нынешнему развитию языка и его фреймворков можно реализовать интересные разноплановые проекты. Написанные на нем небольшие сайты ширились и постепенно выросли в огромные сложные системы.</p>
18
<p><strong>PHP подходит для backend-разработки большинства проектов, где главная задача - передать информацию от клиента в базу данных.</strong></p>
18
<p><strong>PHP подходит для backend-разработки большинства проектов, где главная задача - передать информацию от клиента в базу данных.</strong></p>
19
<p>Разумеется, enterprise-решений реализовать с помощью PHP не получится. Он не подходит и для задач по анализу текста, которые решают с помощью C# - PHP куда медленнее работает с текстом. Но таких программ или, например, проектов по машинному обучению не много. Большинство решений - это передача данных от клиента в базу, и для них PHP отлично подходит.</p>
19
<p>Разумеется, enterprise-решений реализовать с помощью PHP не получится. Он не подходит и для задач по анализу текста, которые решают с помощью C# - PHP куда медленнее работает с текстом. Но таких программ или, например, проектов по машинному обучению не много. Большинство решений - это передача данных от клиента в базу, и для них PHP отлично подходит.</p>
20
<p>Это миф, корни которого растут еще из PHP 4 и PHP 5.3. В этих версиях действительно не было целостного ООП, только функциональная разработка. И многие специалисты в силу предрассудков посчитали, что PHP - это скриптовый язык, предназначенный исключительно для отображения информации и не более того. Заблуждение о том, что объектно-ориентированное программирование не используют в PHP, до сих пор живо.</p>
20
<p>Это миф, корни которого растут еще из PHP 4 и PHP 5.3. В этих версиях действительно не было целостного ООП, только функциональная разработка. И многие специалисты в силу предрассудков посчитали, что PHP - это скриптовый язык, предназначенный исключительно для отображения информации и не более того. Заблуждение о том, что объектно-ориентированное программирование не используют в PHP, до сих пор живо.</p>
21
Пять принципов проектирования в объектно-ориентированном программировании<p>Однако все паттерны и принципы ООП применимы к языку, и их важно использовать - без этого из-под руки разработчика выйдет совершенно ужасный и нечитабельный код.</p>
21
Пять принципов проектирования в объектно-ориентированном программировании<p>Однако все паттерны и принципы ООП применимы к языку, и их важно использовать - без этого из-под руки разработчика выйдет совершенно ужасный и нечитабельный код.</p>
22
<p><strong>Из-за гибкости PHP применять паттерны при разработке на нем еще важнее, чем в С# или Java, иначе в коде будет попросту не разобраться.</strong></p>
22
<p><strong>Из-за гибкости PHP применять паттерны при разработке на нем еще важнее, чем в С# или Java, иначе в коде будет попросту не разобраться.</strong></p>
23
<p>За счет возможностей и свободы программирования в PHP очень велик соблазн не применять эти паттерны: ведь в них нужно разбираться, это трудно и долго. Многим новичкам кажется: зачем лишние сложности, если можно передавать разные типы в метод одним параметром или строить конструкции с помощью<em>if</em>?</p>
23
<p>За счет возможностей и свободы программирования в PHP очень велик соблазн не применять эти паттерны: ведь в них нужно разбираться, это трудно и долго. Многим новичкам кажется: зачем лишние сложности, если можно передавать разные типы в метод одним параметром или строить конструкции с помощью<em>if</em>?</p>
24
<p>Но на самом деле построение такого кода без SOLID и ООП-подходов - это утопия. Его сможет поддерживать только тот программист, который его написал, но, скорее всего, только первые полгода. Потом он забудет о какой-то части кодовой базы и устранять баги в программе станет невероятно сложно.</p>
24
<p>Но на самом деле построение такого кода без SOLID и ООП-подходов - это утопия. Его сможет поддерживать только тот программист, который его написал, но, скорее всего, только первые полгода. Потом он забудет о какой-то части кодовой базы и устранять баги в программе станет невероятно сложно.</p>
25
<p>Перейдем к обратной стороне медали - чрезмерное почитание языка PHP. Его поклонники считают, что он лучший для всего. Но, к примеру, тот же С# производит обработку строки в 60 раз быстрее. И если требуется написать программу с функционалом "антиплагиата", никто не станет использовать PHP - иначе она будет медленной и неконкурентной. Если нужно создать проект по распознаванию лиц, естественно, PHP тоже не подойдет - для этого есть Python.</p>
25
<p>Перейдем к обратной стороне медали - чрезмерное почитание языка PHP. Его поклонники считают, что он лучший для всего. Но, к примеру, тот же С# производит обработку строки в 60 раз быстрее. И если требуется написать программу с функционалом "антиплагиата", никто не станет использовать PHP - иначе она будет медленной и неконкурентной. Если нужно создать проект по распознаванию лиц, естественно, PHP тоже не подойдет - для этого есть Python.</p>
26
<p>PHP - не серебряная пуля в веб-разработке. Например, NASA в проектах использует Node.js. Несмотря на то что Facebook* написан на PHP, отдельные модули в нем решены на Python. Поэтому PHP хорош своей нишей: он используется для получения данных из базы, небольшой обработки, сортировки и возвращения пользователю.</p>
26
<p>PHP - не серебряная пуля в веб-разработке. Например, NASA в проектах использует Node.js. Несмотря на то что Facebook* написан на PHP, отдельные модули в нем решены на Python. Поэтому PHP хорош своей нишей: он используется для получения данных из базы, небольшой обработки, сортировки и возвращения пользователю.</p>
27
<p><strong>Преимущество PHP в том, что процесс написания кода быстрый - через короткий промежуток времени вы уже получаете результат.</strong></p>
27
<p><strong>Преимущество PHP в том, что процесс написания кода быстрый - через короткий промежуток времени вы уже получаете результат.</strong></p>
28
<p>Более того, разработчики самого PHP не пытаются сделать его лучше во всем. Стараются заточить под решение определенных задач и улучшить сильные стороны: ускорить, оставить легкость и быстроту разработки и сохранить низкий порог входа.</p>
28
<p>Более того, разработчики самого PHP не пытаются сделать его лучше во всем. Стараются заточить под решение определенных задач и улучшить сильные стороны: ускорить, оставить легкость и быстроту разработки и сохранить низкий порог входа.</p>
29
<p>Еще один миф, пришедший "из древности". Раньше PHP-разработчики действительно были универсалами, которые и сайт сверстают, и серверную часть напишут, и SEO настроят. Но, как показывает практика, если ты хочешь быть лучшим во всем, то будешь во всем средним. Специалист по одному конкретному направлению разработки будет превосходить fullstack-программиста в знаниях и опыте.</p>
29
<p>Еще один миф, пришедший "из древности". Раньше PHP-разработчики действительно были универсалами, которые и сайт сверстают, и серверную часть напишут, и SEO настроят. Но, как показывает практика, если ты хочешь быть лучшим во всем, то будешь во всем средним. Специалист по одному конкретному направлению разработки будет превосходить fullstack-программиста в знаниях и опыте.</p>
30
<p>PHP используется для сложных серверных решений. Возьмем сайт школы обучения английскому языку<a>Skyeng</a> - он написан на PHP, и это большой высоконагруженный проект. Технический специалист сайта должен знать много нюансов PHP, разбираться в backend, в работе базы данных. Но чисто физически он не сможет на хорошем уровне владеть инструментами frontend.</p>
30
<p>PHP используется для сложных серверных решений. Возьмем сайт школы обучения английскому языку<a>Skyeng</a> - он написан на PHP, и это большой высоконагруженный проект. Технический специалист сайта должен знать много нюансов PHP, разбираться в backend, в работе базы данных. Но чисто физически он не сможет на хорошем уровне владеть инструментами frontend.</p>
31
<p>Fullstack-разработчик будет средним по квалификации и в серверной, и в клиентской части сайта. Если проекту нужен программист серверной части, не ждите, что он будет хорошо знать frontend, и наоборот.</p>
31
<p>Fullstack-разработчик будет средним по квалификации и в серверной, и в клиентской части сайта. Если проекту нужен программист серверной части, не ждите, что он будет хорошо знать frontend, и наоборот.</p>
32
<p><strong>Не нужно смотреть на то, что было актуально 10 лет назад. Предъявлять к</strong><strong>современным специалистам устаревшие требования как минимум необоснованно.</strong></p>
32
<p><strong>Не нужно смотреть на то, что было актуально 10 лет назад. Предъявлять к</strong><strong>современным специалистам устаревшие требования как минимум необоснованно.</strong></p>
33
<p>* Решением суда запрещена "деятельность компании Meta Platforms Inc. по реализации продуктов - социальных сетей Facebook и Instagram на территории Российской Федерации по основаниям осуществления экстремистской деятельности.</p>
33
<p>* Решением суда запрещена "деятельность компании Meta Platforms Inc. по реализации продуктов - социальных сетей Facebook и Instagram на территории Российской Федерации по основаниям осуществления экстремистской деятельности.</p>