Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Рыбачь в мире после катастрофы. Лови мутантов, находи артефакты, участвуй в рейдах и соревнованиях. Создавай предметы, прокачивай навыки, помогай соратникам и раскрывай тайны этого мира.

Аномальная рыбалка

Симуляторы, Мидкорные, Ролевые

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
96
WhatDoYouDo
1 год назад
IT-юмор

Айтишное, понравился комментарий⁠⁠

Айтишное, понравился комментарий IT юмор, Отдел кадров, PHP, Программист, IT

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

Показать полностью 1
IT юмор Отдел кадров PHP Программист IT
50
newtom1406
1 год назад
Программирование на PHP

Создание сайта с базой данных⁠⁠

Здравствуйте, пикабушники! Если среди Вас есть программисты, то хотел бы попросить совета. Хочу создать сайт для своей работы, где будут таблицы с данными, куда зарегистрированные аккаунты смогут вносить изменения. И такой, что я сам смогу вносить изменения, но у меня будет больше прав и возможностей. На каком языке лучше написать? Я посмотрел, что именно для работы с базой данных подходит phpmyadmin. Пробовал немного написать на html, css, js, но судя по постам в интернете и по личному опыту эта группа не сильно подойдет для базы данных, так сказать вызовет больше трудностей кажется.
Какими будут Ваши советы?

Программа Программирование Web-программирование Сайт HTML PHP Mysql Текст
31
3
AChelentano
AChelentano
1 год назад
Лига программистов

Работа с UART в LINUX + PHP⁠⁠

требуется помощь лиги IT

Делаю небольшую поделку - проект умного дома.

В основе ардуино + одноплатник orangepi zero

на одноплатнике стоит armbian и поднят httl сервер.

на сервере страничка с кодом ajax по таймеру делает запрос через php и соответственно получает ответ. все работает до тех пор, пока есть ответ.

если ответа нет, то на третьем-четвертом запросе сервер наглухо виснет.

запрос делаю так (пробовал все три варианта):

$bufft = fgets($fp,7);

//$bufft = fread($fp,7);

//$bufft = stream_get_line($fp,7); + //stream_set_timeout($fp, 0, 15000);

(где: $filename = "/dev/ttyS1"; //порт $fp = fopen($filename, "w+"); )

Насколько я понимаю, проблема в том, что при отсутствии ответа в буфере /dev/ttyS1 нет вообще ничего, те нет в файле даже символа конца строки (файла). и считывание идет по бесконечному циклу, пока не повесит процесс.

Экспериментально установлено, что при запросе $bufft = fgets($fp,1); , те при попытке считать только первый символ строки ничего не виснет, но возвращается строка из 0 символов. те полностью пустая.

Посоветуйте, как перед считыванием буфера определить, что он пуст (при попытке считывания он стирается) или как считывать пустой буфер/dev/ttyS1 без последующего зависания?

[моё] IT Помощь Linux PHP Devel PHP Текст
14
755
tproger.official
tproger.official
1 год назад
Типичный программист

Так вот откуда появляются PHP-разработчики!⁠⁠

Так вот откуда появляются PHP-разработчики!
IT юмор IT Программирование Картинка с текстом Программист Удар током Электричество PHP
72
user8399592
user8399592
1 год назад
Серия Работа с ChatGPT (личный опыт)

Как ChatGPT 3.5 помог мне написать шорткод для Вордпресс?⁠⁠

Немного истории... Короче говоря есть страница к примеру: "котята". И есть несколько дочерних: белые серые и т.д. У меня на 1 из сайтов таких, дочерних страниц 201. Параллельно есть таксономии привязанные к типу поста "котята" который не индексируется. Он нужен только для распределения котят по категориям с последующим выводом на страницах в собственном шаблоне и не больше.

Так вот, после публикации и распределения условных "котят" по категориям, нужно было выводить их на соответствующих страницах.

Маленькое уточнение! Я не супер в PHP но базовое понятие функций движка Wordpress есть, так что как поставить задачу чату проблем не возникло. Почему решил написать эту статью спросите вы? Отвечаю: по началу трудно всем и может именно эта статья даст толчок некоторым новичкам, так как сам процесс, очень интересен и познавателен, и ChatGPT объясняет что, где и за что отвечает и куда это все совать. Гуру вам этого не скажут бесплатно;)

Как ChatGPT 3.5 помог мне написать шорткод для Вордпресс? IT, Python, ChatGPT, Wordpress, PHP, Длиннопост

Вывод количества на фронтенд: кодинг с помощью ChatGPT 3.5

Для мотивации конечный результат на фронтенде... https://vse-mikrozaymy.ru/summy/

Мне нужно было вывести количество из каждой категории (циферки что в кружке). Это пример. Так можно сделать для любого типа поста к примеру (товаров), чтобы не нагружать движок плагином WOOCOMERCE и т.д.

Итак моя переписка с ChatGPT и примерами кода (может кому пригодится)

Я. Привет! Сможешь написать шорткод для вордпресс?

ChatGPT. Привет! Конечно, я могу помочь с написанием шорткода для WordPress. Что именно вы хотели бы добавить с помощью шорткода?

Я. У меня есть taxonomy=summ, в ней есть есть tag_ID=253, tag_ID=242 и т.д. Нужно написать шорткод для подсчета количества постов, привязанных к определенным id или slug в таксономии.

ChatGPT. Конечно, вот пример шорткода для подсчета количества постов по заданным tag_ID или slug в таксономии summ:

function count_posts_in_taxonomy_shortcode($atts) { // Парсим атрибуты шорткода $atts = shortcode_atts(array( 'tag_id' => '', 'slug' => '', ), $atts, 'count_posts_in_taxonomy'); // Параметры запроса $args = array( 'post_type' => 'post', // Укажите нужный тип записи, если это не статьи 'post_status' => 'publish', 'tax_query' => array( array( 'taxonomy' => 'summ', 'field' => is_numeric($atts['tag_id']) ? 'id' : 'slug', 'terms' => $atts['tag_id'] ? $atts['tag_id'] : $atts['slug'], ), ), ); // Получаем количество постов $post_count = count(get_posts($args)); // Возвращаем результат return $post_count; } // Регистрируем шорткод add_shortcode('count_posts_in_taxonomy', 'count_posts_in_taxonomy_shortcode');

Как использовать шорткод:

  • Если вы хотите подсчитать количество постов для tag_ID=253, используйте [count_posts_in_taxonomy tag_id="253"].

  • Если вы хотите подсчитать количество постов для slug='example', используйте [count_posts_in_taxonomy slug="example"].

Убедитесь, что код добавлен в файл functions.php вашей темы или в плагин для пользовательского кода.

Я. Спасибо! Ты гений!

ChatGPT. Пожалуйста! Рад был помочь! Если у вас есть ещё вопросы или нужна дополнительная помощь, не стесняйтесь спрашивать. Удачи с вашим проектом WordPress!

Я. А можно как-то укоротить код

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

function count_posts_in_taxonomy_shortcode($atts) { $atts = shortcode_atts(['tag_id' => '', 'slug' => ''], $atts, 'count_posts_in_taxonomy'); $args = [ 'post_type' => 'post', 'post_status' => 'publish', 'tax_query' => [[ 'taxonomy' => 'summ', 'field' => is_numeric($atts['tag_id']) ? 'id' : 'slug', 'terms' => $atts['tag_id'] ?: $atts['slug'], ]], ]; return count(get_posts($args)); } add_shortcode('count_posts_in_taxonomy', 'count_posts_in_taxonomy_shortcode');

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

Я. Не работает! Выводит правильно только первые 2 категории а в остальных выводит цифру 5

ChatGPT. Приношу извинения за это недоразумение. Проблема, вероятно, связана с тем, что в запросе используется параметр terms, который ожидает одно значение. Если вам нужно передать несколько значений, вы можете использовать IN вместо конкретного значения. Вот обновленный код, который должен решить проблему:

function count_posts_in_taxonomy_shortcode($atts) { $atts = shortcode_atts(['tag_id' => '', 'slug' => ''], $atts, 'count_posts_in_taxonomy'); $terms = $atts['tag_id'] ? (array) $atts['tag_id'] : [$atts['slug']]; $args = [ 'post_type' => 'post', 'post_status' => 'publish', 'tax_query' => [[ 'taxonomy' => 'summ', 'field' => is_numeric($atts['tag_id']) ? 'id' : 'slug', 'terms' => $terms, ]], ]; return count(get_posts($args)); } add_shortcode('count_posts_in_taxonomy', 'count_posts_in_taxonomy_shortcode');

Теперь код преобразует переданные значения в массив и использует их в параметре terms запроса. Надеюсь, это решит проблему. Если у вас есть ещё вопросы или проблемы, дайте знать!

Я. Проблема та же. Я использую несколько шорткодов на 1 странице.

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

function count_posts_in_taxonomy_shortcode($atts) { $atts = shortcode_atts(['tag_id' => '', 'slug' => ''], $atts, 'count_posts_in_taxonomy'); $tax $field = is_numeric($atts['tag_id']) ? 'id' : 'slug'; $terms = $atts['tag_id'] ? [(int) $atts['tag_id']] : [$atts['slug']]; $args = [ 'post_type' => 'post', 'post_status' => 'publish', 'tax_query' => [ [ 'taxonomy' => $taxonomy, 'field' => $field, 'terms' => $terms, ], ], ]; $query = new WP_Query($args); return $query->found_posts; } add_shortcode('count_posts_in_taxonomy', 'count_posts_in_taxonomy_shortcode');

В этой версии я заменил get_posts на WP_Query, чтобы иметь больше контроля над запросом. Также добавлены некоторые дополнительные параметры, чтобы убедиться, что каждый вызов шорткода работает независимо. Пожалуйста, протестируйте этот вариант и дайте знать, работает ли он в вашем случае.

Я. Вот теперь точно красавчик!!! Все заработало! Спасибо большущее!

ChatGPT. Отлично! Рад был помочь! Если у вас возникнут ещё вопросы или вам потребуется дополнительная помощь, не стесняйтесь обращаться. Удачи в вашем проекте!

Вот такой результат! Что хочется сказать в завершение: результат каждого зависит только от его фантазий так что однозначно не нужно боятся экспериментировать. Я бы и сам написал этот код, но пришлось бы потерять в 5 раз больше времени и каждый раз перечитывать кодекс WP или WP КАМУ. Спасибо за внимание! Деление опытом и идеи приветствуются!

Показать полностью 1
[моё] IT Python ChatGPT Wordpress PHP Длиннопост
1
astass
astass
1 год назад

Minibb кто использует этот скрипт?⁠⁠

Отзовитесь, нужна консультация и не только...

Есть довольно старый скрипт форума, с модулем. Нужен модуль, но трудность в том что скрипт на допотопном php 5.3 и современные локальные серверы довольно непросто установить на win 10 чтобы все правильно работало.

[моё] PHP Web-программирование Текст Нужен совет
3
1
user7929749
user7929749
1 год назад

Обратное статическое связывание (Reverse Static Binding) в PHP⁠⁠

Обратное статическое связывание (Reverse Static Binding) в PHP - это концепция, которая позволяет вызывать статические методы класса на основе контекста, в котором они были вызваны, а не на основе класса, в котором они были определены.

До введения обратного статического связывания в PHP 5.3, статические методы всегда вызывались в контексте класса, в котором они были определены. Это означало, что при наследовании классов вызов статического метода из дочернего класса приводил к вызову метода из родительского класса.

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

Для использования обратного статического связывания в PHP используется ключевое слово static. Рассмотрим пример:

class ParentClass {

public static function whoAmI() {

echo "ParentClass";

echo static::class;

}

}

class ChildClass extends ParentClass {

public static function whoAmI() {

echo "ChildClass";

echo static::class;

}

}

ChildClass::whoAmI(); // Выведет "ChildClass ChildClass"

В этом примере у нас есть два класса - ParentClass и ChildClass. Оба класса имеют статический метод whoAmI(). В родительском классе ParentClass метод выводит строку "ParentClass" и имя класса, полученное с помощью static::class. В дочернем классе ChildClass метод выводит строку "ChildClass" и имя класса, также полученное с помощью static::class.

При вызове статического метода whoAmI() из класса ChildClass мы получаем вывод "ChildClass ChildClass". Это происходит потому, что обратное статическое связывание позволяет вызвать метод из дочернего класса в контексте этого дочернего класса, а не родительского класса.

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

Показать полностью
PHP Программирование Текст
3
user7929749
user7929749
1 год назад

Функция в PHP⁠⁠

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

Основные особенности функций в PHP:

1. Объявление функции: Функция объявляется с помощью ключевого слова function, за которым следует имя функции и список параметров в круглых скобках. Например:

function sayHello() {

echo "Hello, world!";

}

2. Вызов функции: Функцию можно вызывать в любом месте программы, указав ее имя и передав необходимые аргументы (если они есть). Например:

sayHello(); // Выведет "Hello, world!"

3. Параметры функции: Функции могут принимать параметры, которые используются внутри функции. Параметры указываются в круглых скобках при объявлении функции. Например:

function sayHelloTo($name) {

echo "Hello, " . $name . "!";

}

sayHelloTo("John"); // Выведет "Hello, John!"

4. Возвращаемое значение: Функции могут возвращать значение с помощью ключевого слова return. Например:

function add($a, $b) {

return $a + $b;

}

$result = add(5, 3); // Результат будет равен 8

5. Локальные и глобальные переменные: Внутри функции можно объявлять локальные переменные, которые видны только внутри функции. Если вы хотите использовать глобальную переменную внутри функции, нужно использовать ключевое слово global.

$name = "John"; // Глобальная переменная

function sayHello() {

global $name; // Использование глобальной переменной

echo "Hello, " . $name . "!";

}

sayHello(); // Выведет "Hello, John!"

6. Возможность передачи параметров по ссылке: В PHP параметры функции могут передаваться по значению (по умолчанию) или по ссылке. При передаче параметра по ссылке изменения внутри функции будут отражаться на переданной переменной.

function increment(&$number) {

$number++;

}

$value = 5;

increment($value);

echo $value; // Выведет "6"

7. Рекурсия: Функция в PHP может вызывать сама себя. Это называется рекурсией и позволяет решать задачи, которые могут быть разбиты на более простые подзадачи.

function factorial($n) {

if ($n <= 1) {

return 1;

} else {

return $n * factorial($n - 1);

}

}

$result = factorial(5); // Результат будет равен 120

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

Показать полностью
[моё] PHP Программирование Текст
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии