Cooking PHP. Программирование с Екатериной
172 subscribers
12 photos
3 videos
1 file
25 links
Учим php на кухне с нуля 🙄

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

Более 20 лет в ИТ, более 15 в php
Download Telegram
Но html нас сейчас особо не беспокоит.

Мне он нужен был для более понятного объяснения, что такое php и какова его роль.

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

Вот заходите вы на страницу исполнившихся желаний https://www.mywishbook.ru/mydiary/realized

Откуда там берутся отзывы?

Внизу есть форма.

Пользователь пишут туда что-то и нажимает кнопку "Отправить". Данные улетают на сервер, и тут уже php код, заботливо написанный вами, смотрит, что прилетело, какие поля, и кладет их в базу данных в отдельную таблицу типа realized. Делается это очень просто, если знать немного синтаксис, а это мы узнаем.

А вот когда вы заходите на страницу https://www.mywishbook.ru/mydiary/realized, то php скрипт обращается к базе данных с запросом к таблице realized, чтобы она отдала все отзывы, которые у нее там есть.
И потом этот скрипт отдает уже готовые отзывы на страницу, а мы их читаем.

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

Вы, как пользователь, добавили данные (любые, комментарий, желание, лайк наконец), php это в базу занес.

Вы, как пользователь, хотите прочитать статью, php из базы ее достал и вам показал.

Понятно в самых общих чертах, чем на сайтах занимается php?
11👌3🔥2
Чем занимается php на сайтах мы приблизительно в общих чертах поняли, теперь на сцену выходит другой важнейший участник событий - база данных.

Как вы понимаете, опять же на примере mywishbook.ru, если проект не чисто информативный, вроде одной странички с адресом, то есть много неких данных, которые нужно где-то хранить.

Когда mywishbook.ru только появился на свет, какие данные нужно было сохранять?

Прежде всего, вас, пользователей.

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

Это вы делаете на большинстве сайтов и приложений, ну может, не имя и логин, а телефон, это не важно.

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

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

Создать базу данных можно легко в специальной программе или sql-запросом вида:
CREATE DATABASE mywishbook;

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

Какие таблицы нам понадобятся? Зависит от того, что будет на проекте, но их всегда можно будет добавить или изменить.

Но продумать все равно архитектуру важно на начальном этапе.

Вишбук 2010 года предполагал две возможности: ведение личного дневника и ведение Книги Желаний.
Значит, нам нужны таблицы типа diary и wishbook.
Кто будет вести записи? Пользователи. Нам нужна еще таблица users.

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

Запросы для нашей базы пишутся на sql, особо сложного ничего нет в этом языке, по крайней мере, поначалу. Нам актуальны в 90% случаев будут запросы вида создать таблицу, вставить в нее запись, выбрать запись (или несколько), удалить запись. И все.

Создаем таблицу.
CREATE TABLE table_name
(
column_name_1 column_type_1,
column_name_2 column_type_2,
...,
column_name_N column_type_N,
);
column_name_1 название колонки
column_type_1 тип колонки

Я предположила, что мне нужны будут следующие данные:

id - уникальный идентификатор пользователя
login - логин
psswd - пароль, всегда в зашифрованном виде, поэтому я ваши пароли тоже не знаю
name - имя по желанию
email - емейл, раньше был необязательный, я думала, что не все захотят оставлять емейл, желания и дневники все же очень личное, но со временем оказалось, что нельзя без этого поля
inserted - дата добавления записи

Заведем таблицу с пользователями (это все можно не писать руками, а делать в программе, но понимать нужно):

CREATE TABLE users (
id bigint(20) NOT NULL,
login varchar(256) NOT NULL,
psswd varchar(256) NOT NULL,
name varchar(256) DEFAULT NULL,
email varchar(256) DEFAULT NULL,
inserted timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP);

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

Заполнить таблицу данными тоже можно через программу, или таким запросом руками:

INSERT INTO users`(`id, login, psswd, name, email, `inserted`)
VALUES (1,'testoviy login','y6fgf6gc#d','тестовое имя','xxx@yandex.ru','2010-09-01 06:35');

Понятно, что в запросе происходит, или расшифровать?


Поскольку я руками, конечно, никого никуда не добавляю, то у нас этим на сайте занимается наш любимый php.

Вот вы зарегились https://www.mywishbook.ru/users/register, т.е. ввели данные в форму, они улетели на сервер, php проверил (с моей помощью, конечно, я определаю правила), все ли там правильно и сделал запрос в базу на вставку новой записи. Т.е. это php отправит запрос вида INSERT INTO users ...

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

До этого момента понятно?

#урокиphp #sql #базаданных
👍11
Ну и табличка users наша, я ее экспортировала в эксель, никаких ABC колонок нет, это экселевское, просто для наглядности
👍11
Продолжаем. Еще немного про базы и данные, и перейдем к php.

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

Вот пользователь приходит снова на сайт, хочет добавить желания.

Он вводит логин и пароль, php обратится к базе с запростом:

отдай мне пользователя, у которого логин = 'testoviy login' и пароль = 'пароль'

на sql это выглядит как

SELECT * FROM users WHERE login='testoviy login' AND psswd='пароль'

Вернее, поскольку пароли зашифрованы, то php зашифрует ваш пароль, он превратится в некие 7436a45e3b818216c98ba73577850d3c
и запрос будет выглядеть как

SELECT * FROM users WHERE login='testoviy login' AND psswd='7436a45e3b818216c98ba73577850d3c'

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

Табличка с желаниями выглядит так:

CREATE TABLE wishbook (
id bigint(20) NOT NULL,
userid bigint(20) NOT NULL,
inserted timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
itemtext longtext CHARACTER SET utf8mb4,
result varchar(20) NOT NULL DEFAULT 'new',
)

Здесь все понятно?

userid - это id пользователя из таблицы users. По нему мы сможем понять, какие желания выводить пользователю. Чтобы именно его были, а не чьи-то)
itemtext - собственно, само желание.
CHARACTER SET utf8mb4 - эта опция необязательна, я ее добавила не так давно, чтобы можно было добавлять смайлики, и база их не резала.
result - лучше, конечно, цифровые коды тут зашить, быстрее будет работать, но написано давно, поэтому так. Тут статусы - новое желание, исполнилось, не исполнилось.

А дальше - все тоже самое. Пользователь добавляет желание, оно записывается в базу, когда он переходит на страницу "Все мои желания" (или как она там), то php дергает базу с запросом:

SELECT * FROM wishbook WHERE userid=1;

Вопросы?
Продолжаем, или это уже слишком?))))

#урокиphp #sql #базаданных
👍11
Для мотивации.

Девушка-программист – какие плюсы?

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

Об остальных девушках только слышала, как бы они есть, но где? На десятки коллег-мужчин за 20 лет – одна девушка, кроме меня.

Но почему? Мужчины часто меня спрашивают: “А что, ты реально программистом работаешь?”
И я всегда недоумеваю. Ну да, а что в этом такого? Это не аццкий физический труд, который женщине не под силу.

И в силу дефицита у девушек-программистов есть свои бонусы.

Лично я особенно ценю следующие:

1. Если вы девушка, то став программистом, получите невероятное количество внимания. В этой профессии 99% программистов – мужчины. Они будут относиться к вам настороженно, скептически, но как только убедятся, что вы чего-то в самом деле понимаете и можете, будут вам бесконечно помогать, подтягивать, подсказывать, даже настраивать вам компьютер)
2. На собраниях, скорее всего, вы тоже будете единственной девушкой, зато никаких женских интриг и сплетен не встретите. А технари бывают очень веселыми ребятами.
3. Вас будут уважать не только коллеги, но и другие люди. Потому что “программист” во многих вызывает подсознательное равенство со словом “умный”. Эта профессия кажется сложной, а значит, вы сразу получите +100 очков.
4. Если вам актуальны изменения в личной жизни, то именно в этой работе вы встретите много умных, перспективных, неплохо зарабатывающих ребят. И минимум конкуренции.
5. Да хотя бы придите на форум по программированию и задайте вопрос по какой-то проблеме. Сразу увидите, что желающих помочь много. Мой бывший начальник женился на девушке, которая что-то спросила на таком форуме)

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

#мотивация
11👍1👏1😁1
Что только для вас не сделаешь. Даже на hh.ru сходила, чтобы заставить вас читать 😁
🔥7👍1👏1
300тыс до вычета налогов подойдет, или нафиг их, пусть сами налоги платят? 😃
🔥8🤣5❤‍🔥1
Вопрос. Что будет, если логины у нас в базе не уникальные? А если емейлы? А если имя?
👍5
Программист должен заранее предусмотреть, как будет использоваться приложение.
На вишбуке пользователи входят, используя логин. Значит, он должен быть уникальным. Иначе, как вы верно заметили, он может получить чужие данные.
Для этого еще на этапе регистрации нужна проверка, что такого логина еще не было. Ну и для подстраховки на уровне базы мы повесим unique уникальный ключ на поле login, чтобы база сама нас развернула, если мы ей одинаковый логин предложим.
Что касается емейла, на вишбуке и почти везде он уникальный тоже, чтобы упростить задачу по восстановлению пароля и просто идентифицировать пользователя. У нас сейчас марафоны автоматом по емейлу активируются.
А имя. В нашем случае мы по нему не ищем пользователя, никакой особой нагрузки у поля нет, чисто для юзабилити используем, чтобы написать приветствие или типа того ⤵️

Но! Уникальность полей определяется приложением. По-разному бывает.
👍10
Такой проект, как Книга Желаний 2010го года, с двумя разделами, регистрацией пользователей, при наличии верстки можно запрограммировать за несколько дней.
Собственно, я сейчас и более сложные (но типовые, админка, вывод новостей по категориям с тегами) проекты делаю за несколько дней. А вот с крупными проектами приходится возиться годами) вернее, это уже не столько разработка, сколько поддержка и новые разделы.

Как разрабатываются проекты?

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

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

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

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

Значит, список задач и подзадач выглядит приблизительно так:
1. Пользователь
1.1 Страница регистрации пользователя.
1.2 Авторизация пользователя.
1.3 Восстановление пароля.
1.4 Страница личного кабинета, где можно поменять свои данные.

2. Раздел "Он-лайн дневник"
2.1 Страница добавления записи (на ней же можно удалить запись)
2.2 Страница со списком всех записей (с постраничной навигацией) и фильтрами (например, показать записи с 2.06.2022 по 4.09.2023)
2.3 Страница редактирования записи

3. Раздел Книга Желаний
3.1 Страница добавления записи (на ней же можно удалить запись)
3.2 Страница со списком всех записей (с постраничной навигацией) и фильтрами (например, показать только неисполненное)
3.3 Страница редактирования записи

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

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

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

#архитектурапроекта #проектирование
👍6🔥41
Что касается php, то у любого php-программиста есть верный друг, русскоговорящий, что немаловажно.

Это https://www.php.net

А точнее, https://www.php.net/manual/ru/

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

Документация начинается с основ синтаксиса, и я частично ее использую, частично от себя вам наболтаю.

Весь основной код мы пишем в файлах .php.

Когда PHP обрабатывает файл, он ищет открывающие и закрывающие теги, такие как <?php и ?>, которые указывают PHP, когда начинать и заканчивать обработку кода между ними.

Классический пример:

<?php

echo "Hello world";

?>
На экране выведется строка Hello world

Пока понятно?

#урокиphp #синтаксис
👍13🔥4
Ну что, продолжим знакомиться с синтаксисом php.

Как сравнили в комментариях, изучение языка программирования в чем-то схоже с изучением иностранного языка. Но на мой вкус проще.

PHP-скрипт - это перечень инструкций. Кстати, отделяются инструкции точкой запятой. Напомню, как это выглядит:

<?php echo "Какой-то текст"; ?>

Эта инструкция означает: выведи текст "Какой-то текст"

При разработке часто приходится комментировать код. Что такое комментарии?
Это текст, который не будет обрабатываться и выводиться.

Комментарии помечаются двойным слешом // или #
Многострочные отделяются так:
/* здесь комментарий */

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

<?php
echo "Это тест"; // Это однострочный комментарий в стиле C++
/* Это многострочный комментарий
ещё одна строка комментария */
echo "Это ещё один тест";
echo "Последний тест"; # Это комментарий в стиле оболочки Unix
?>

Здесь все понятно? Я каждый раз спрашиваю, чтобы самой понимать, насколько подробно расписывать, ну и чтобы еще раз объяснить, если непонятно, чем потом латать дыры)

Напишите в комментариях, что выведется на экран пользователю?

#урокиphp #синтаксисphp
5
Поскольку суть php - работа с данными, то основа языка - это типы данных.

Про типы данных чуть позже, а пока поговорим про переменные.

Что это такое и зачем нужно?

Помните, на математике в школе решали примеры вроде:

x+2=5
x=3

Вот х - переменная.

В программировании переменная – это величина, имеющая переменное (отсюда и название) значение.

Переменные в PHP представлены знаком доллара, за которым идёт имя переменной. Имя переменной чувствительно к регистру.

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

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


<?php

$var = 'Боб';
$Var = 'Джо';
echo "$var, $Var";

$4site = 555;
$_4site = 7;

$var = 'Катя';

echo $var;

?>

Напишите, какие переменные верно записаны с точки зрения синтаксиса, а какие неверно, кто понял?
И что выведется в строке echo "$var, $Var"; ?
А что выведется в последней строке echo $var; ?

Я обещала, что думать будет не надо, только читать)
Могу сразу ответы писать.
Или все же задачки оставлять?

#урокиphp #синтаксисphp
4🔥1
Я вам все еще буду делать вбросы обычных постов, помимо обучающих. Изначально многие ради них подписывались, а не голову ломать 😃

Стоит ли учиться по книгам?

Вы часто спрашиваете, какие курсы лучше пройти. Здорово, что сейчас такой выбор обучающих курсов, уроков, материалов, платных и бесплатных.

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

У меня нет ответа, какой курс лучше. Никогда ни один не проходила, но я начинала так давно, что их особо и не было.

Базовые знания (фотошоп, верстка, php) я получала по книгам.

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

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

Мне достался очень плачевный перевод
с англоязычной книги (переводчик явно не обладал техническими знаниями), хуже
того, книгу уже на этом этапе уже было бы лучше не читать, чтобы не забивать голову устаревшими конструкциями. Например, автор предлагал использовать тег font, который w3.org объявил deprecated.

Я вычитывала этот перевод несколько
месяцев, приходилось скорее переводить заново. Все поля были исчерканы пометками
вроде “сейчас лучше это заменить на классы или стили”.

Потом отдала книгу на вычитку обычному редактору, и по плану, после ее правок,
мне должны были прислать эту книгу на окончательную вычитку. Мало ли, что
редактор напутает)

Прошел год!!

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

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

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

Но я больше не хотела видеть свое имя напечатанным в этой книге 🙄

Встречали такие безнадежно устаревшие книги?
Учитесь по книгам?

Вообще, если что, я за книги. Но важно следить, чтобы автор был практикующим то, о чем пишет, ну и все равно учитывать, что что-то может устареть, год выпуска тут не вполне показателен.
5
А теперь пост-урок.
Честно скажу, вчера я сперва озадачилась, нужно ли продолжать такие посты, комментариев не было поначалу, но потом девчонки порадовали и ответами правильными, и вопросами интересными.

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

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

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

Ладно, перейдем к делу.

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

Вчера был отличный вопрос: почему в первом echo переменные записаны в кавычках, а во втором без?

Все дело в том, что мы оперируем разными типами данных.

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

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

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

<?php

echo 'Это — простая строка';

?>

У php очень много функций для работы со строками, он нам очень помогает в этом. Я их сама все не знаю, но знаю, что всегда могу подсмотреть в документации.

Пример (первый от балды в доке взяла):

str_repeat($string, $times) - Функция возвращает строку string, повторенную times раз.


<?php

echo str_repeat("-=", 10);

?>

Результат выполнения приведённого примера:

-=-=-=-=-=-=-=-=-=-=

Зачем это надо?
Понятия не имею 😂 Мне кажется, именно эту функцию я никогда не использовала. А может, не помню просто.

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

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

Числовые типы - это int и float
int - целое число, float - плавающее

<?php

$a = 1234; // десятичное число
$b = 1.234; // плавающее число

?>

Для них у php тоже много функций, что хотите с ними делайте, ваша математичка льет слезы, если сможете протащить комп за парту. Хоть округлить, хоть арккосинус посчитать (Господи, что это, сто лет не встречала) - и все это одной из функций, в одно движение.

Например,

ceil — Округляет дробное число в бо́льшую сторону


<?php

echo ceil(4.3); // 5
echo ceil(9.999); // 10
echo ceil(-3.14); // -3
?>

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

Из огромного списка математических функций я используую максимум round (округлить), поэтому нет смысла все их держать в голове. Но если бы я писала математическое приложение или финансовое, тогда стоило бы поподробнее изучить их.

С этими двумя типами все понятно? У нас их впереди еще много.

#урокиphp #синтаксисphp
👍14
Давайте еще немного про типы данных поговорим. Все приводить пока не буду, избыток информации, которая пока не используется, не будет полезным, но про важные, самые используемые типы надо договорить.

Тип bool - логический. У него может быть только два значения и они выражают истинность значения. Он может быть либо true, либо false.
Логический тип данных используется для таких вещей, которые предполагают два варианта ответа - да (true) или нет(false).

К примеру, на вопрос "вам уже есть 18 лет?" в можете ответить да, то есть true, или нет, то есть false.

Давайте посмотрим на примере:

<?php
$isAdult = true; // уже взрослый
?>

Поменяем значение на другое:

<?php
$isAdult = false; // еще не взрослый
?>
Выведем значение нашей переменной на экран. Используем для этого специальную функцию var_dump:


<?php
$isAdult = true;
var_dump($isAdult); // выведет true
?>

А вот через echo выводить логические значения не удобно:

<?php echo true; // выведет 1
echo false; // выведет пустоту?>
?>


Тип данных null

В PHP существует еще одно специальное значение null, которое обозначает "ничего". К примеру, мы можем присвоить переменной это значение в знак того, что там ничего не лежит.

Давайте посмотрим на примере:
<?php
$test = null;
?>

Выведем значение нашей переменной с помощью var_dump:
<?php
$test = null;
var_dump($test); // выведет null
?>

А вот через echo мы ничего не увидим:
<?php
$test = null;
echo $test; // выведет пустоту
?>

Вопрос на засыпку, можете привести пример, как может использоваться этот тип?
Для чего может быть нужна пустая переменная?

#урокиphp #синтаксисphp
👍6