Ребят, будем иногда постить сюда мини-трюки и полезности по PHP. Пишите в комментариях ваши идеи и мнения по поводу кода. Книги конечно это топ, но по-итогу надо писать код.
PHP Трюк. Тернатный оператор. a ? b : c
Посмотрим детский (обычный) вариант:
Смотрим на верхнюю и нижнюю строку, находим общее. Если всё ещё сложно - разжевываем:
$ok = // результат тернарного оператора попадёт сюда. После знака "=" находится сам оператор.
Теперь, до знака "?" у нас находится условие. Если оно выполняется, то записываются данные слева от знака ":", если нет - справа.
То есть из примера: если переменная существует и не пустая, то результат : $ok = trim($_POST['ok']), в противном случае: $ok = false;
#трюк
PHP Трюк. Тернатный оператор. a ? b : c
Посмотрим детский (обычный) вариант:
<?phpКрасиво, но слишком длинно! А теперь реализуем тоже самое, только через тернарный оператор:
if(!empty($_POST['ok'])) {
$ok = trim($_POST['ok']);
} else {
$ok = false;
}
<?phpСократили проверку в одну строку, а читать стало так же удобно, как было и ранее, порой даже удобнее.
$ok = (!empty($_POST['ok']) ? trim($_POST['ok']) : false);
Смотрим на верхнюю и нижнюю строку, находим общее. Если всё ещё сложно - разжевываем:
$ok = // результат тернарного оператора попадёт сюда. После знака "=" находится сам оператор.
Теперь, до знака "?" у нас находится условие. Если оно выполняется, то записываются данные слева от знака ":", если нет - справа.
То есть из примера: если переменная существует и не пустая, то результат : $ok = trim($_POST['ok']), в противном случае: $ok = false;
#трюк
👍14👎4
А сколько языков программирования вы знаете? (На более высоком уровне, чем написание Hello world)?
Anonymous Poll
17%
1
37%
2
22%
3
24%
4 и больше
😁6
Кусок полезного кода. Простой PHP скрипт отправки сообщения на E-mail
Решение, как отправить сообщение на электронный почтовый ящик, используя простой скрипт, с помощью php mail
<? mail("myemail@mail.com", "тестовый заголовок письма", "тестовый текст сообщения", "Content-type: text/html; charset=utf-8"); ?>
Пример кода с проверкой, если отправка не произошла, выдаст ошибку:
<?
$to = "myemail@mail.com";
$subject = "тестовый заголовок письма";
$message = "тестовый текст сообщения";
$from = "noreply@mail.com";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= "From: <".$from.">\r\n";
if (mail($to,$subject,$message,$headers)) {
echo "OK";
}
else {
echo "ERROR";
}?>
Пишите ваши комментарии по коду.
Решение, как отправить сообщение на электронный почтовый ящик, используя простой скрипт, с помощью php mail
<? mail("myemail@mail.com", "тестовый заголовок письма", "тестовый текст сообщения", "Content-type: text/html; charset=utf-8"); ?>
Пример кода с проверкой, если отправка не произошла, выдаст ошибку:
<?
$to = "myemail@mail.com";
$subject = "тестовый заголовок письма";
$message = "тестовый текст сообщения";
$from = "noreply@mail.com";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= "From: <".$from.">\r\n";
if (mail($to,$subject,$message,$headers)) {
echo "OK";
}
else {
echo "ERROR";
}?>
Пишите ваши комментарии по коду.
👍3
Трюк PHP. Обновляем запись в MySQL без выборки данных
В каких случаях надо? Ведение денежных средств пользователя, прибавление или отнимание денежных знаков, денег, баксов и т.д. Второй случай - количество кликов, посещений страницы, хостов или другая простая операция с данными:
В каких случаях надо? Ведение денежных средств пользователя, прибавление или отнимание денежных знаков, денег, баксов и т.д. Второй случай - количество кликов, посещений страницы, хостов или другая простая операция с данными:
<?php
mysql_query("
UPDATE `table` SET
`count` = `count`+1
WHERE `id`= ".(int)$id
);
💩17👍2
Как по вашему, кто должен первым называть сумму зарплаты на собеседовании: кандидат или рекрутер/интервьюер? Обосновать можно в комментариях)
Anonymous Poll
26%
Кандидат
74%
Интервьювер
Полезный код. Проверка доступности видео на YouTube
Решение, как проверить на PHP, что видео YouTube доступно, не удалено и не закрыто
Решение, как проверить на PHP, что видео YouTube доступно, не удалено и не закрыто
function isAvailableVideo($videoId) {
$headers = get_headers('https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v='.$videoId.'&format=json');
return (substr($headers[0], 9, 3) !== '404');
}
Если видео доступно и открывается, то функция возвратит true, если с видео что-то не так, возвратит false👍5💩3
Каким учебным ресурсам вы отдаете предпочтение при изучении языка программирования? (Можно отмечать больше одного).
Anonymous Poll
59%
книги
40%
статьи
35%
отдельные видео
43%
целые видеокурсы
42%
работаю над проектом и ищу нужное для проекта в разных источниках
9%
посмотреть ответы
Сколько мониторов, по вашему мнению, нужно для комфортной работы над программами?
Anonymous Poll
21%
одного хватит
55%
два
16%
три лучше, чем два)
8%
мониторов не может быть слишком много
Полезный код. Удаляем лишние символы из номера телефона
Решение, как удалить лишние символы из номера телефона и оставить только цифры в PHP
$phone = preg_replace('![^0-9]+!', '', $phone)
Свежие вакансии по PHP тут : @rabotaphp
Решение, как удалить лишние символы из номера телефона и оставить только цифры в PHP
$phone = preg_replace('![^0-9]+!', '', $phone)
Свежие вакансии по PHP тут : @rabotaphp
👍4💩2
Привет, друзья! А как вы научились программировать (по большей части)? Уроки информатики в школе не считаем.
Anonymous Poll
13%
университет
22%
курсы
48%
книги, видео, статьи
4%
лбительский кружок какой-нибудь в детстве
3%
друг / родственник научил
11%
другое
👍1
Best practices. Как правильно делать. Имена
Переменные мы пишем в нижнем регистре:
$specialname = 10;
Константы в верхнем регистре:
echo SPECIALNAME;
Имена функций и классов пишем с маленькой буквы, но при этом имена, состоящие из двух или более слов пишем в верблюжьем стиле, то есть каждое новое слово начинается с большой буквы:
function myJob(){}
function specialAction(){}
function myBossVeryStupid(){}
Свежие вакансии по PHP тут : @rabotaphp
Переменные мы пишем в нижнем регистре:
$specialname = 10;
Константы в верхнем регистре:
echo SPECIALNAME;
Имена функций и классов пишем с маленькой буквы, но при этом имена, состоящие из двух или более слов пишем в верблюжьем стиле, то есть каждое новое слово начинается с большой буквы:
function myJob(){}
function specialAction(){}
function myBossVeryStupid(){}
Свежие вакансии по PHP тут : @rabotaphp
💩6👍4👎1
Часто ли вам случается работать сверхурочно?
Anonymous Poll
39%
Как по мне - часто.
43%
Да вроде бы нет, такое редко бывает.
18%
Не было такого, мы чётко придерживаемся графика рабочего времени.
Best practices. Как правильно делать. Синтаксис-Массивы
Достаточно простой синтаксис, если мы имеем сложные массивы и много данных в массиве, то каждый элемент массива с новой строчки и отступом в +4 пробела от общей линии. При этом простые можно писать в одну строчку:
$array = array(10,5,2,'Стас');
$array = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3',
);
$array = array(
'key1' => array(
'key1' => 'value1',
'key2' => 'value2',
),
'key2' => 'value',
);
Свежие вакансии по PHP тут : @rabotaphp
Достаточно простой синтаксис, если мы имеем сложные массивы и много данных в массиве, то каждый элемент массива с новой строчки и отступом в +4 пробела от общей линии. При этом простые можно писать в одну строчку:
$array = array(10,5,2,'Стас');
$array = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3',
);
$array = array(
'key1' => array(
'key1' => 'value1',
'key2' => 'value2',
),
'key2' => 'value',
);
Свежие вакансии по PHP тут : @rabotaphp
💩6👍3
Best practices. Что не надо делать?
Никогда ни при каких обстоятельствах не пользуйтесь сокращенной записью открытия блока PHP:
Свежие вакансии по PHP тут : @rabotaphp
Никогда ни при каких обстоятельствах не пользуйтесь сокращенной записью открытия блока PHP:
<? или <?=$var;?>всегда пишите полностью:
<?php echo $var; ?>В именах файлов и директорий никогда не используйте русский текст, пробел, точку, запятую и другие символы, можно использовать ТОЛЬКО латинские символы (английские символы) и нижнее подчёркивание.
Свежие вакансии по PHP тут : @rabotaphp
🤡11👍4💩4👎3
Тип parent
Недавно осознал, что
Недавно осознал, что
parent
можно использовать как тип в любых местах. Вроде и логично, но как-то странно... Согласитесь, вы бы поёжились, если бы увидели что-то подобное на ревью.final class ParentOverdose extends ArrayObjecthttps://3v4l.org/TDXEa
{
public function __construct(
public parent $iAmParent,
) {
parent::__construct();
}
public function iReturnParent(): parent
{
return new parent();
}
public function iAcceptParent(parent $parent): void
{
}
}
3v4l.org
Online PHP editor | output for TDXEa
Run your php code online; get statistics, vld output and compare output from all versions.
Как работаете?
Anonymous Poll
12%
Фриланс
25%
В офисе
38%
На удаленке
12%
В гибридном формате
3%
За рубежом
9%
Другое (напишу в комментариях)
Как изощрённо очистить свойство после чтения
Пишите в комментариях, пропустили ли бы вы такой код на ревью и почему. 🤓
Пишите в комментариях, пропустили ли бы вы такой код на ревью и почему. 🤓
/**
* @return list<object>
*/
public function releaseEvents(): array
{
try {
return $this->events;
} finally {
$this->events = [];
}
}
Вакансия дня. Middle Backend|Full stack Developer
Полная занятость, удаленка
Зарплата: 150 - 200 т.р.
https://telegra.ph/Middle-BackendFull-stack-Developer-11-29
#remote #laravel #fullstack #php #fulltime
Полная занятость, удаленка
Зарплата: 150 - 200 т.р.
https://telegra.ph/Middle-BackendFull-stack-Developer-11-29
#remote #laravel #fullstack #php #fulltime
Telegraph
Middle Backend|Full stack Developer
Вакансия: Middle Full stack Developer; Компания: Rush Analytics; Уровень зп: 150 000 - 200 000 ₽; Занятость: 5/2, полная занятость; Формат: удаленная работа; ✌️Мы один из крупнейших в РФ сервисов в сфере аналитики рекламы и SEO. Rush Analytics — это облачное…
Какой вариант оптимальнее по памяти? (Какая переменная меньше?)
Anonymous Quiz
22%
Первый ($toStringAsKeyMemory)
78%
Второй ($toHexAsKeyMemory)
🤔11👎4👏2❤1
uniqid()
Функция uniqid — простой и быстрый способ получить ±уникальную криптографически небезопасную строку.
Как она работает? Функция берёт секунды и микросекунды, прошедшие с начала эпохи Unix, и конкатенирует их в шестнадцатиричном представлении:
Первый необязательный параметр
Второй необязательный параметр
Не стоит относиться к этой функции слишком серьёзно, но в простейших случаях, например, при именовании каких-нибудь временных штук, она избавит вас от 🚲.
Функция uniqid — простой и быстрый способ получить ±уникальную криптографически небезопасную строку.
Как она работает? Функция берёт секунды и микросекунды, прошедшие с начала эпохи Unix, и конкатенирует их в шестнадцатиричном представлении:
function uniqid(): stringТаким образом, выдаваемая строка имеет длину 13 символов (как посчитать длину самому). Если требуется меньше, то отрезать нужно с конца, так как наибольшей энтропией обладают последние знаки. Например, чтобы получить 8 символов, используем выражение
{
$time = gettimeofday();
return sprintf('%x%x', $time['sec'], $time['usec']);
}
substr(uniqid(), -8)
.Первый необязательный параметр
$prefix
эквивалентен конкатенации $prefix.uniqid()
.Второй необязательный параметр
$more_entropy
добавляет к результату псевдослучайное число, что снижает риск получить одинаковые значения в параллельных процессах. Такая строка содержит 23 символа и имеет вид 61e0e81a580527.28156047
.Не стоит относиться к этой функции слишком серьёзно, но в простейших случаях, например, при именовании каких-нибудь временных штук, она избавит вас от 🚲.