Хорошо известно, что PHP - это мёртвый язык программирования и его 22-летняя экосистема фактически стала бесполезна, когда появился Node и новые асинхронные фреймворки на его основе. Превосходство Node очевидно, потому что все знают, что однопоточные асинхронные программы более лучше по умолчанию. И быстрее.
«Но Саймон! Почему?!", вы, вероятно, прокричите увидев этот текст на экране. И вот почему:
Перспективы трудоустройстваPHP-разработчики не пользуются спросом. По прошествии 22 лет, все компании, использующие PHP, сразу же отказались от него, как только был выпущен Node v0.0.1, потому что этот стек разработки мгновенно стал лучшим. Кроме того, всем известно, что для успешного запуска (забудем про Slack) вам нужно создавать веб-интерфейсы на Node, а данные сохранять в MongoDB.
Иначе просто невозможно добиться успеха.
Приведем немного научных™ фактов, чтобы доказать эти утверждения:
$заголовок = ‘PHP-разработчики не могут найти работу чтобы содержать свои семьи’;
Экосистема языкаЭкосистема, вероятно, является самым важным фактором в принятии решения не использовать язык программирования. К счастью для нас, PHP существует достаточно давно, и его экосистема полна крупных, хорошо поддерживаемых и полнофункциональных фреймворков, которые все ненавидят - это и Laravel, своего рода эквивалент Rails, или энтерпрайз решения на подобии Symfony и Zend.
В отличие от PHP, разработчикам Node не нужно беспокоиться о том, чтобы найти фреймворк, который придётся ненавидеть, потому что каждый просто пишет свой собственный. Создавая свои собственные фреймворки, разработчик может действительно выделиться на фоне конкурентов, изобретая колесо таким образом, который имеет смысл только для него самого (разработчика). Эта практика также удваивает гарантию сохранения работы, что очень важно, как показано в результатах научных™ исследований, приведенных выше. Также, это утраивает Фактор Крутости Разработчика™ (Developer Cool Factor™).
Ошеломляющее свидетельство превосходной экосистемы Node можно увидеть на графике ниже:
$заголовок = ‘Чем больше фреймворков - тем лучше’;
Временные затратыРеальный уровень производительности разработчика можно измерить только оценив как он тратит собственное время. Видно, что разработчики PHP больше времени тратят на написание кода и построение функциональных приложений, чем на культивацию Фактора Крутости Разработчика™ и получение звёзд на GitHub. Это, очевидно, отразится на них негативно при работе в стартапе, ведь они используют свое время непродуктивно. Все мы знаем что звёзды GitHub - это количественный способ оценки навыков разработчика.
Неспособность PHP-разработчиков внести свой вклад в сообщество показана ниже:
$заголовок = ‘Выслушивать жалобы - менее продуктивно, чем жаловаться. Факт.’;
Вещи, которые вы не сможете сделать являясь PHP-разработчикомМы все знаем, что PHP, безусловно, уступает и не может использоваться при разработке бизнес-приложений, поэтому вот список предприятий-неудачников, использующих PHP, в сравнении со списком успешных компаний, реализующих свои продукты на основе Node:
$заголовок = ‘Node замечательный и эффективный инструмент зла’;
ЗаключениеКаждый разработчик знает, что самый быстрый и эффективный путь к получению чего-либо - это много жаловаться и каждый раз начинать всё с нуля. Рынок всегда будет ждать запуска вашего стартапа, ведь в первую очередь нужно закончить создание собственного фреймворка.
Кроме того, почему мы должны беспокоиться о перекладывании работы и полагаться на сообщество с открытым исходным кодом, когда мы можем просто всё сделать сами?
Предлагаю вашему вниманию краткое руководство по языку PHP для чайников в нескольких частях. Гарантирую, написать свой первый рабочий PHP код вы сможете уже после прочтения этой серии статей (или в процессе чтения). Язык PHP один из самых простых в освоении языков программирования, это серверный (исполняется на стороне сервера) язык сценариев (интерпретируемый язык).
Используется он для создания веб-проектов. Может использоваться прямо в HTML коде. И хотя результат работы скрипта часто выводится непосредственно в браузере клиента, для работы PHP не достаточно только одного браузера. То-есть вам не получится запустить index.php файл прямо в браузере, как вы уже наверняка делали с файлом index.html. Для работы PHP сценариев и веб-страниц созданных с применением PHP потребуется веб-сервер.
Если у вас еще нет хостинг площадки для вашего сайта, тогда рекомендую поэкспериментировать с PHP сценариями на локальном сервере, предназначенном для тестирования проектов. Для организации локального сервера в операционной системе Windows (WAMP, Windows-Apache-MySQL-PHP) могут быть полезны пакеты: Денвер, XAMPP, AppServ, OpenServer и т.д. После установки этих пакетов, вы получите уже настроенный и готовый к использованию сервер, а управляться он будет через удобное меню самой программы. Также, существуют и отдельные реализации APACHE, MySQL и PHP для операционной системы Windows, но настраивать их придется уже самостоятельно через конфигурационные файлы и не будет никакого меню с галочками. Для запуска, перезапуска и остановки такого сервера можно будет использовать пакетные файлы *.bat или *.cmd (батник) с командами запуска, перезапуска или остановки служб APACHE и MySQL. Третий и самый непростой для новичка вариант — это виртуальная машина с установленной и настроенной операционной системой Linux (LAMP, Linux-Apache-MySQL-PHP). Готовые образы таких «виртуалок» часто встречаются в Интернете, так что вам могут понадобиться только знания настройки программ типа VirtualBox или VMware.
Подготовка к программированию на языке PHP для чайниковСтроковый или символьный (string) | «Привет всем» «123456» «25 рублей» |
Последовательность символов, заключенная в кавычки |
Целочисленный, числовой (integer) | -234 25 0 |
Число или последовательность цифр, перед которыми может быть указан знак числа |
Числовой с плавающей точкой (float) | 5.47 21.4 35E-3 |
Число с дробной частью (35Е2 означает 3500) |
Логический (булевый, boolean) | true false |
Этот тип имеет два значения: true (истина, да), false (ложь, нет) |
NULL | null | Этот тип данных имеет одно значение — null |
Массив (Array) | Этот тип данных имеет одно множество значений, которые могут быть различных типов | |
Объект (Object) | Программный объект, определяемый своими свойствами |
$name — имя константы.
$value — значение константы.
$case_sen — необязательный параметр логического типа, указывающий, следует ли учитывать регистр букв (true) или нет (false).
Define("pi",3.14,true); echo pi; //Выводит 3.14
Программирование на языке PHP для чайников. Часть 1 was last modified: Март 3rd, 2016 by Admin
Общие понятия
Язык PHP специально предназначен для веб-программирования. PHP сочетает достоинства языков C и Perl и при этом весьма прост в изучении и обладает значительными преимуществами перед традиционными языками программирования.
Синтаксис PHP очень напоминает синтаксис языка C и во многом заимствован из таких языков как Java и Perl.
Программист С очень быстро освоит язык PHP и сможет использовать его с максимальной эффективностью.
В принципе, в PHP есть практически все операторы и функции , имеющиеся в стандартном GNU С (или их аналоги), например есть циклы (while, for), операторы выбора (if, switch), функции работы с файловой системой и процессами (fopen, *dir, stat, unlink, popen, exec), функции ввода-вывода (fgets,fputs,printf) и множество других...
Цель данного раздела - краткое ознакомление с основами синтаксиса языка PHP. Более подробную информацию по конкретным составляющим синтаксиса PHP вы найдете в соответствующих разделах.
PHP и HTML
Cинтаксис любого языка программирования гораздо легче "почувствовать" на примерах, нежели используя какие-то диаграммы и схемы. Поэтому приведем пример простейшего скрипта на PHP:
Пример
Вы уже наверняка заметили, что это классический скрипт, с которого начинают изучение языка программирования.
Обратите внимание, что HTML-код корректно обрабатывается интерпретатором PHP.
Начало сценария вас может озадачить: разве это сценарий? Откуда HTML-тэги и ? Вот тут-то и кроется главная особенность (кстати, чрезвычайно удобная) языка PHP: PHP-скрипт может вообще не отличаться от обычного HTML-документа.
Идем дальше. Вы, наверное, догадались, что сам код сценария начинается после открывающего тэга . Итак, между этими двумя тэгами текст интерпретируется как программа, и в HTML-документ не попадает. Если же программе нужно что-то вывести, она должна воспользоваться оператором echo.
Итак, PHP устроен так, что любой текст, который расположен вне программных блоков, ограниченных , выводится в браузер непосредственно. В этом и заключается главная особенность PHP, в отличие от Perl и C, где вывод осуществляется с помощью стандартных операторов.
Разделение инструкций
Инструкции разделяются также как и в C или Perl - каждое выражение заканчивается точкой с запятой.
Закрывающий тег (?>) также подразумевает конец инструкции, поэтому два следующих фрагмента кода эквиваленты:
Комментарии в PHP скриптах
Написание практически любого скрипта не обходится без комментариев.
PHP поддерживает комметарии в стиле "C", "C++" и оболочки Unix. Например:
Однострочные комментарии идут только до конца строки или текущего блока PHP-кода, в зависимости от того, что идет перед ними.
Это
пример.
Заголовок вверху выведет "Это пример".
Будьте внимательны, следите за отсутствием вложенных "C"-комментариев, они могут появиться во время комментирования больших блоков:
Однострочные комментарии идут только до конца строки или текущего блока PHP-кода, в зависимости от того, что идет перед ними. Это означает, что HTML-код после // ?> БУДЕТ напечатан: ?> выводит из режима PHP и возвращает в режим HTML, но // не позволяет этого сделать.
Переменные в PHP
Имена переменных обозначаются знаком $ . То же самое "Привет, я - скрипт PHP! " можно получить следующим образом:
Типы данных в PHP
PHP поддерживает восемь простых типов данных:
Четыре скалярных типа:
Boolean (двоичные данные)
- integer (целые числа)
- float (числа с плавающей точкой или "double")
- string (строки)
Два смешанных типа:
Array (массивы)
- object (объекты)
И два специальных типа:
resource (ресурсы)
NULL ("пустые")
Существуют также несколько псевдотипов:
Mixed (смешанные)
- number (числа)
- callback (обратного вызова)
Подробно о типах данных в PHP
Выражения в PHP
Основными формами выражений являются константы и переменные. Например, если вы записываете "$a = 100", вы присваиваете "100" переменной $a:
В приведенном примере $a - это переменная, = - это оператор присваивания, а 100 - это и есть выражения. Его значение 100.
Выражением может быть и переменная, если ей сопоставлено определенное значение:
$x = 7;
$y = $x;
В первой строке рассмотренного примера выражением является константа 7, а во второй строке - переменная $x, т.к. ранее ей было присвоено значение 7. $y = $x также является выражением.
Подробно о выражениях в PHP вы найдете
Операторы PHP
Оператором называется нечто, состоящее из одного или более значений (выражений, если говорить на жаргоне программирования), которое можно вычислить как новое значение (таким образом, вся конструкция может рассматриваться как выражение).
Примеры операторов PHP:
Операторы присвоения:
Комбинированные операторы:
Строковые операторы:
Существуют также логические операторы и операторы сравнения, однако их принято рассматривать в контексте управляющих конструкций языка.
Подробную информацию по операторам PHP вы найдете .
Управляющие конструкции языка PHP
Основными конструкциями языка PHP являются:
Примеры конструкций языка PHP:
Приведенный пример наглядно показывает использование конструкции if совместно с оператором сравнения ($a > $b).
В следующем примере если переменная $a не равна нулю, будет выведена строка "значение a истинно (true), то есть показано взаимодействие условного оператора (конструкции) if с логическим оператором:
А вот пример цикла while:
Информацию по всем управляющим конструкциям PHP вы можете получить
Пользовательские функции в PHP
В любом языке программирования существуют подпрограммы. В языке C они называются функциями, в ассемблере - подпрограммами, а в Pascal существуют два вида подпрограмм: процедуры и функции.
В PHP такими подпрограммами являются.
Подпрограмма - это специальным образом оформленный фрагмент программы, к которому можно обратиться из любого места внутри программы. Подпрограммы существенно упрощают жизнь программистам, улучшая читабельность исходного кода, а также сокращая его, поскольку отдельные фрагменты кода не нужно писать несколько раз.
Приведем пример пользовательской функции на PHP:
Сценарий выводит 100:
Пользовательским функциям в PHP можно передавать аргументы и получать возвращаемые функциями значения.
Подробную информацию по пользовательским функциям PHP вы найдете
Встроенные (стандартные) функции PHP
PHP содержит огромное колличество встроенных функций, способных выполнять задачи различного уровня сложности.
ООП и PHP
PHP имеет достаточно хорошую поддержку объектно-ориентированного программирования (ООП).
В PHP можно создавать классы различных уровней, объекты и достаточно гибко ими оперировать.
Вот пример PHP класса и его использования: