Почему php плохой язык
Перейти к содержимому

Почему php плохой язык

  • автор:

What is PHP? The PHP Programming Language Meaning Explained

Kolade Chris

Kolade Chris

What is PHP? The PHP Programming Language Meaning Explained

PHP is an open-source server-side scripting language that many devs use for web development. It is also a general-purpose language that you can use to make lots of projects, including Graphical User Interfaces (GUIs).

In this article, I will help you explore the world of PHP so you can learn how it works and its basic features. By the end, you will be able to write your first Hello World program in PHP.

What Does PHP Mean?

The abbreviation PHP initially stood for Personal Homepage. But now it is a recursive acronym for Hypertext Preprocessor. (It’s recursive in the sense that the first word itself is an abbreviation, so the full meaning doesn’t follow the abbreviation.)

The first version of PHP was launched 26 years ago. Now it’s on version 8, released in November 2020, but version 7 remains the most widely used.

PHP runs on the Zend engine, which is the most popular implementation. There are some other implementations as well, like parrot, HPVM (Hip Hop Virtual Machine), and Hip Hop, created by Facebook.

PHP is mostly used for making web servers. It runs on the browser and is also capable of running in the command line. So, if you don’t feel like showing your code output in the browser, you can show it in the terminal.

Advantages of PHP

PHP has some advantages that have made it so popular, and it’s been the go-to language for web servers for more than 15 years now. Here are some of PHP’s benefits:

  • Cross-Platform: PHP is platform-independent. You don’t have to have a particular OS to use it because it runs on every platform, whether it’s Mac, Windows, or Linux.
  • Open Source: PHP is open source. The original code is made available to everyone who wants to build upon it. This is one of the reasons why one of its frameworks, Laravel, is so popular.
  • Easy to learn: PHP is not hard to learn for absolute beginners. You can pick it up pretty if you already have programming knowledge.
  • PHP syncs with all Databases: You can easily connect PHP to all Databases, relational and non-relational. So it can connect in no time to MySQL, Postgress, MongoDB, or any other database.
  • Supportive Community: PHP has a very supportive online community. The official documentation provides guides on how to use the features and you can easily get your problem fixed while stuck.

Who Uses PHP

A number of established companies and tech giants use PHP to run their servers and make a lot of incredible things.

  • Facebook: Facebook uses PHP to power its site. In turn, the company contributed to the community by creating an implementation known as Hip Hop for PHP.
  • Wikipedia: one of the world’s largest sources of information on any topic, Wikipedia is built in PHP.
  • Content Management Systems (CMSs): the world’s most popular content management system, WordPress, is built in PHP. Other content management systems such as Drupal, Joomla, and Magento are also built in PHP. Shopify runs on PHP too.
  • Web Hosting Platforms: a lot of Web Hosting Platforms such as BlueHost, Site ground, and Whogohost run their hosting servers using PHP.

Is PHP Dying?

Nowadays, there’s an intense debate on whether PHP is on the decline or not. This is because of the advent and increasing popularity of other languages suited for the server-side such as JavaScript (Node JS), Python, Golang, and others.

php-meme

This has actually led to a lot of funny memes targeting PHP

But is PHP really dying? The answer is no. Despite some people bashing on it and the claims of decline, PHP is still used to run the servers of almost 80% of all websites today. So, if you visit 10 websites a day, there’s a chance that 8 of them use PHP.

In terms of job availability, PHP ranks better than a lot of other programming languages on the job platform Indeed. A lot of PHP developers make a good living making WordPress themes and plugins every year – the average PHP developer in the US makes $86,000 per year.

php-jobs

How to Write Your First Hello World Program in PHP

Now that you have learned about PHP and its advantages, it’s time to write your first Hello World program in it!

First of all, you must have PHP installed on your local machine. You can get that done by installing an XAMP (Cross-Platform, Apache, MySQL, and PHP) or WAMP (Windows, Apache, MySQL, and PHP) server.

XAMP works on all operating systems and WAMP works only in Windows. I will be using WAMP.

Open up the WAMP or XAMP server and make sure all services are running. If you are using WAMP, the WAMP logo should show on your taskbar with the color green.

wamp-running

Open up your C drive and look for the installation directory of your WAMP server. In my case, it is wamp64 .

wampfolder

Open the installation directory, and then the www folder.

wwwfolder

Create a folder right there and name it whatever you want, then open up the folder with your code editor.

Create an index.php file and paste in the following code:

You can also put your “Hello World” text in a variable, then use the echo system to display it in the browser.

In PHP, you can declare a variable with the dollar sign ($). Your statements, apart from the last one, must also be terminated by a semi-colon.

To run your code in the browser, open up the browser and write this in the address bar localhost/the-folder-of-your-php-file/php-file.php , then hit enter.

Make sure your WAMP or XAMP server is running, otherwise it won’t work.

hello-world

You can see that the code successfully ran in the browser, because I got the file path right.

Another beautiful thing about PHP is that you can embed it in HTML. You can do it like this:

      PHP Code   

This is the result of a PHP Code embedded in HTML

"; echo $campers ?>

php-in-html

Conclusion

PHP remains a relevant and widely-used language in web development. Despite the mockery and debate on whether it’s still valuable, PHP developers keep earning good livings from working with the language. So, PHP doesn’t seem to be going anywhere anytime soon.

Now, go code some PHP!

Thank you for reading, and keep coding.

Почему языку PHP годами пророчат «смерть», но он до сих пор актуален?

Почему языку PHP годами пророчат «смерть», но он до сих пор актуален?

Колонка Константина Сороки, Senior Software Developer в DataArt

Константин Сорока, Senior Software Developer в компании DataArt и лектор курса «PHP-developer с нуля», заинтересовался этим языком, еще когда учился в школе, и теперь уже более 10 лет использует его для работы.

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

Константин Сорока, Senior Software Developer в компании DataArt и лектор курса «PHP-developer с нуля»

Почему я решил писать на PHP и как строил свою карьеру

Язык PHP является одним из самых распространенных языков в сфере веб-разработок. С этим языком программирования я столкнулся еще в школе, где-то в начале 2000-х годов. С того времени я уже имел представление, что это такое и для чего этот язык используется.

Опыта программирования на этом языке у меня больше 10 лет. Из них коммерческий опыт (работа на компанию) — примерно 8. До этого у меня были фриланс-проекты, благодаря которым я получил опыт общения с заказчиками и познакомился с PHP-фреймворками. Первой компанией, где я начал работать, была веб-студия Sponge D&D. В ней я начал свой путь сразу как Fullstack-разработчик, благодаря чему я более плотно познакомился не только с коммерческой разработкой на PHP, но и с JavaScript, который используется в клиентской части приложений.

До того, как я стал фултайм-разработчиком, я работал в IT-компании на позиции, связанной с менеджментом. Последняя моя должность — замруководителя финансового отдела компании. Я видел с другой стороны, как ведется разработка, какие запросы нужно ставить разработчику, как анализировать продукт, чтобы можно было его улучшить.

Предвзятое отношение к PHP

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

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

Это мнение, что PHP — плохой язык, мне кажется, возникло с тех времен, когда он только появился в середине 90-х. Тогда этот язык был смесью PHP-кода и HTML-кода в одном файле. Этот код было очень трудно читать, к тому же не было никаких стилей кодирования, каких-то подходов или стандартов. Если сравнивать Java тех лет и PHP, то разница будет заметна. Казалось, что PHP — это язык, который написан на коленке, и он не сможет долго прожить. С тех пор многое изменилось. Кроме, наверное, единственного — традиции хейтить тот или иной язык.

Сейчас PHP занял свою нишу как язык для веб-программирования. На нем работают около 77 % всех сайтов в веб-пространстве. Мне кажется, именно это является весомым показателем того, что с языком все в порядке.

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

Основные преимущества и недостатки PHP

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

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

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

Что касается недостатков:

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

Какой язык — основной конкурент PHP?

В вебе не для супернагруженных приложений можно выделить два основных конкурента PHP — это Node.js (грубо говоря, JavaScript, который может работать на сервере) и Python , который может использоваться для веб-разработки:

  • Node.js выглядит привлекательным для разработчиков, потому что этот язык использует один синтаксис. Таким образом, разработчик пишет весь код — как клиентский, так и серверный, используя один язык. Ему не нужно знать никаких других инструментов.
  • Что касается языка Python, который используется для веба, сейчас я в нем вижу много недостатков в сфере веб-разработки. Наиболее распространенные фреймворки достаточно замкнуты, а их комьюнити мне показалось не таким развитым, как у PHP. Ни в коем случае я не хочу сказать, что Python — это плохой инструмент, но я не вижу смысла использовать его для большинства веб-приложений. Это как пользоваться дома на кухне мультитулом: можно, но не всегда целесообразно.

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

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

Количество вакансий в сфере PHP-программирования

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

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

Как менялось количество вакансий на PHP с января 2022 по август 2023 по сравнению с другими языками // Данные DOU

Какие дополнительные технологии стоит изучать PHP-разработчику, чтобы быть конкурентоспособным

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

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

Поделиться:

  • Data Science with Python
  • QA Automation
  • DATA SCIENTIST

PHP Introduction

The term PHP is an acronym for – Hypertext Preprocessor . PHP is a server-side scripting language designed specifically for web development. It is open-source which means it is free to download and use. It is very simple to learn and use. The file extension of PHP is “.php”.

PHP was introduced by Rasmus Lerdorf in the first version and participated in the later versions. It is an interpreted language and it does not require a compiler.

Characteristics of PHP

  • PHP code is executed in the server.
  • It can be integrated with many databases such as Oracle, Microsoft SQL Server, MySQL, PostgreSQL, Sybase, and Informix.
  • It is powerful to hold a content management system like WordPress and can be used to control user access.
  • It supports main protocols like HTTP Basic, HTTP Digest, IMAP, FTP, and others.
  • Websites like www.facebook.com and www.yahoo.com are also built on PHP.
  • One of the main reasons behind this is that PHP can be easily embedded in HTML files and HTML codes can also be written in a PHP file.
  • The thing that differentiates PHP from the client-side language like HTML is, that PHP codes are executed on the server whereas HTML codes are directly rendered on the browser. PHP codes are first executed on the server and then the result is returned to the browser.
  • The only information that the client or browser knows is the result returned after executing the PHP script on the server and not the actual PHP codes present in the PHP file. Also, PHP files can support other client-side scripting languages like CSS and JavaScript.

Origin and History

  • PHP was created by Rasmus Lerdorf in 1994 and initially stood for “Personal Home Page.” Over the years, it evolved into “PHP: Hypertext Preprocessor.”
  • PHP is open-source and has a large community of developers contributing to its development.

Purpose of using PHP

  • PHP is primarily used for server-side web development. It enables the creation of dynamic web pages by embedding PHP code within HTML.
  • PHP can perform various tasks, including handling form data, generating dynamic page content, managing databases, and interacting with servers.

Syntax

Example:

HTML

< title >PHP Hello World

Output:

Hello, World! This is PHP code 

Features of PHP

  • Dynamic Typing: PHP is dynamically typed, meaning you don’t need to declare the data type of a variable explicitly.
  • Cross-Platform: PHP runs on various platforms, making it compatible with different operating systems.
  • Database Integration: PHP provides built-in support for interacting with databases, such as MySQL, PostgreSQL, and others.
  • Server-Side Scripting: PHP scripts are executed on the server, generating HTML that is sent to the client’s browser.

Why should we use PHP?

PHP can actually do anything related to server-side scripting or more popularly known as the backend of a website. For example, PHP can receive data from forms, generate dynamic page content, can work with databases, create sessions, send and receive cookies, send emails, etc. There are also many hash functions available in PHP to encrypt users’ data which makes PHP secure and reliable to be used as a server-side scripting language. So these are some of PHP’s abilities that make it suitable to be used as a server-side scripting language. You will get to know more of these abilities in further tutorials.
Even if the above abilities do not convince you of PHP, there are some more features of PHP. PHP can run on all major operating systems like Windows, Linux, Unix, Mac OS X, etc. Almost all of the major servers available today like Apache supports PHP. PHP allows using a wide range of databases. And the most important factor is that it is free to use and download and anyone can download PHP from its official source: www.php.net .
Please refer to setting up the development environment to setup and run PHP programs.

What’s new in PHP 7.0?

  • PHP 7 is faster than the previous versions.
  • PHP 7 supports new operators.
  • PHP 7 supports better Error Handling functionalities.
  • PHP 7 supports stricter declarations for types in function parameters.

Advantages of PHP

  • Open Source: PHP is an open-source language, making it freely available for use and distribution. This encourages a large community of developers, contributing to its growth and improvement.
  • Easy to Learn: PHP syntax is similar to C and other programming languages, making it relatively easy for developers to learn, especially for those with a background in programming.
  • Web Integration: PHP is designed specifically for web development and is embedded within HTML. It seamlessly integrates with various web technologies, facilitating the creation of dynamic and interactive web pages.
  • Database Support: PHP has excellent support for various databases, including MySQL, PostgreSQL, SQLite, and more. This makes it easy to connect and interact with databases, a crucial aspect of many web applications.
  • Cross-Platform Compatibility: PHP is platform-independent and runs on various operating systems, including Windows, Linux, macOS, and others. This ensures compatibility across different environments.
  • Large Community and Documentation: PHP has a vast and active community of developers. The abundance of online resources, tutorials, and documentation makes it easier for developers to find solutions and seek help when needed.
  • Frameworks and CMS: There are popular PHP frameworks like Laravel, Symfony, and CodeIgniter, which provide pre-built modules and features, aiding in rapid development. Additionally, PHP supports widely used content management systems (CMS) like WordPress and Joomla.
  • Server-Side Scripting: PHP scripts are executed on the server, reducing the load on the client’s side. This server-side scripting capability is crucial for generating dynamic content and performing server-related tasks.
  • Community Support: The PHP community actively contributes to the language’s development, ensuring regular updates, security patches, and improvements.

Disadvantages of PHP

  • Inconsistency: PHP has been criticized for inconsistencies in function names and parameter orders. This can lead to confusion for developers, especially when working with a mix of older and newer functions.
  • Security Concerns: If not handled properly, PHP code may be susceptible to security vulnerabilities, such as SQL injection and cross-site scripting (XSS). Developers need to be cautious and follow best practices to secure PHP applications.
  • Performance: While PHP performs well for many web applications, it may not be as fast as some compiled languages like C or Java. However, advancements and optimizations in recent versions have improved performance.
  • Lack of Modern Features: Compared to newer languages, PHP may lack some modern language features. However, recent versions of PHP have introduced improvements and features to address this concern.
  • Scalability Challenges: PHP can face challenges when it comes to scaling large and complex applications. Developers may need to adopt additional tools or frameworks to address scalability issues.
  • Not Suitable for Large-Scale Applications: While PHP is suitable for small to medium-sized projects, it might not be the best choice for extremely large and complex applications where more structured languages might be preferred.
  • Limited Object-Oriented Programming (OOP) Support: Although PHP supports OOP, its implementation has been criticized for not being as robust as in some other languages. However, recent versions have introduced improvements to enhance OOP capabilities.

Не нужно стыдиться PHP

Недавно я решил зайти на сайт cybersport.ru (проект VK GROUP), где хотел посмотреть результаты матчей наших мальчиков по Dote. Мой взгляд упал на статью «Когда будет новый сайт». Там помимо общей информации было пару фраз про PHP и Symfony, которые меня расстроили.

Что же меня меня расстроило

скриншот

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

Почему PHP стал «плохим» и «постыдным»

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

Качество кода таких ребят бросило тень на сам PHP, поэтому в IT-сообществе появились байки, что все PHP-программисты — плохие программисты, а PHP — плохой язык программирования. Вот точно такие же байки, как у всех Subaru проблема с 4 цилиндром, а весь Дальний Восток ездит на Toyota Mark II. Ничего общего с реальностью, но забавно.

На самом деле на PHP создавалось много успешных хайлоад-проектов, где работали талантливые программисты с высоким уровнем профессионализма.

Давление рекламы и лидеров мнений

Помимо того, что PHP имел не самое положительное мнение в IT-сообществе о себе, в инфо-пространство ворвались онлайн-школы, которые по какой-то рандомной причине выбрали python «тем самым языком, на котором с тобой говорит интернет». Это привело к заказам рекламы своих курсов у множества лидеров мнений. Многие из лидеров мнений, чтобы подчеркнуть превосходство курсов по Python, стали топить PHP — его главного конкурента.

Как итог у людей, которые имели мало опыта в программировании, стало формироваться мнение, что PHP — это плохо, не модно, не клево. Да и вообще «Насмехайтесь над ним, гоните его».

К сожалению, статья от редакции cybersport.ru говорит о том, что уже сами команды, которые работают на PHP, стали поддаваться пропаганде, и стали считать PHP плохим языком программирования и оправдываться за это. Это все печально.

Хватит стыдиться PHP

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

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

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

Вернемся к cybersport.ru

Окай, у нас есть контентный проект, где планируется некоторая интерактивность. Для чего ребята вполне разумно выбрали PHP (Symfony) и некоторые event-сервисы, которые (я полагаю) будут написаны либо на node.js, либо на go. Можно ли было выбрать более подходящий стек?

Весь бек на node.js/go/rust — очевидно, что писать бизнес логику на этих языках с админкой, ролями, паблишером, выводом контента и прочими штуками — не самый лучший выбор. Будет долго и неудобно.

Java/C# — удачи найти адекватных ребят в команду, когда за ними уже стоит очередь из финтеха, операторов связи, крупного ритейла, российского FAANG’а, галер и крипто-стартапов. Явно контентный проект не сможет на равных конкурировать за ребят на этом стеке.

Ruby (ROR) — в российских реалиях это новый Perl. Новых проектов пишется не так много, поддержка старых продолжается, интерес молодых ребят минимальный. Как итог, старички на поддержку выбивают очень хорошие условия. Переманивать их сложно и дорого.

Python (Django) — на самом деле хороший вариант, который достаточно неплохо подходит для контентных проектов. Проблемой можно лишь назвать сложность найма адекватных ребят в команду, ибо на рынке много джунов без боевого опыта (ибо проектов на Django не так много на самом деле в РФ (статья на эту тему), а опытные разработчики уже работают в российском FAANG. Ну и самое главное — есть ли какое-то объективное преимущество Python (Django) над PHP (Symfony) — нет!

Поэтому я до конца не понимаю, почему ребята из Cybersport.ru оправдывались в выборе PHP (Symfony), когда они сделали максимально правильное и грамотное решение.

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

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