Есть ли разница между одинарными и двойными кавычками?
Различаются они тем, что в строку с двойными кавычками можно вставлять переменные и управляющие символы (\n , \r, \t и т.д.):
$name = 'Vasya';
// выведет "My name is $name"
echo 'My name is $name';
// выведет "My name is Vasya"
echo "My name is $name";
Хотя лучше сделать через sprintf:
echo sprintf('My name is %s', $name);
#вопросы_с_собеседований
Различаются они тем, что в строку с двойными кавычками можно вставлять переменные и управляющие символы (\n , \r, \t и т.д.):
$name = 'Vasya';
// выведет "My name is $name"
echo 'My name is $name';
// выведет "My name is Vasya"
echo "My name is $name";
Хотя лучше сделать через sprintf:
echo sprintf('My name is %s', $name);
#вопросы_с_собеседований
❤13🌚8🌭2
Подробные интерфейсы
Статья рассказывает о преимуществах использования подробных интерфейсов в PHP.
Автор объясняет, что подробные интерфейсы - это интерфейсы, которые описывают только одну специфическую функциональность или конкретный аспект класса. Они помогают разделить ответственности и улучшить читаемость и поддерживаемость кода. Он начинается с объяснения, что такое подробные интерфейсы и как они отличаются от более общих интерфейсов. Автор разъясняет, что подробные интерфейсы должны быть компактными, содержать только необходимые методы и быть независимыми от имплементирующих классов.
Статья рассказывает о преимуществах использования подробных интерфейсов в PHP.
Автор объясняет, что подробные интерфейсы - это интерфейсы, которые описывают только одну специфическую функциональность или конкретный аспект класса. Они помогают разделить ответственности и улучшить читаемость и поддерживаемость кода. Он начинается с объяснения, что такое подробные интерфейсы и как они отличаются от более общих интерфейсов. Автор разъясняет, что подробные интерфейсы должны быть компактными, содержать только необходимые методы и быть независимыми от имплементирующих классов.
Sebastiandedeyne
Granular interfaces
A few weeks ago a spec change for an application we're working on forced us to refactor part of the codebase. It was food for thought about the flexibility granular interfaces provide, and choosing the right abstraction at the right time. This is a short…
❤11👍1
Поиск минимальной стоимости корректировки массива
Имея массив целых положительных чисел, нужно заменить каждый элемент так, чтобы разница между соседними элементами массива была меньше или равна заданному целевому значению (target).
Имея массив целых положительных чисел, нужно заменить каждый элемент так, чтобы разница между соседними элементами массива была меньше или равна заданному целевому значению (target).
Хабр
Поиск минимальной стоимости корректировки массива
Имея массив целых положительных чисел, нужно заменить каждый элемент так, чтобы разница между соседними элементами массива была меньше или равна заданному целевому значению (target). Нам необходимо...
❤10👍3
Видео: Конференция PHP UK 2023: Rust для PHP-разработчиков
В этом видео вы увидите, что такое Rust с точки зрения разработчика на PHP. Здесь также будет сеанс лайв-кодинга, на котором воссоздается существующее PHP-приложение в Rust с нуля и раскрыть всю его "удивительность".
В этом видео вы увидите, что такое Rust с точки зрения разработчика на PHP. Здесь также будет сеанс лайв-кодинга, на котором воссоздается существующее PHP-приложение в Rust с нуля и раскрыть всю его "удивительность".
YouTube
Rust For PHP Developers
You’ve probably heard stories about the Rust programming language, and you’re probably wondering why it’s becoming so popular. In this talk, you’ll see what Rust is from a PHP developer’s perspective. Get ready for a live-coding session, where we are going…
❤13🤯4👍3
Пост-дайджест свежих полезных статей по теме PHP. Сохраняй себе:
☀️ Развенчание заблуждения о пригодности Laravel для крупномасштабных приложений.
☀️Как протестировать ваши шаблоны и фронтенд Twig (на PHP)
️☀️Брокер обмена сообщениями NATS на PHP
☀️Улучшение производительности PHP: подробное руководство
️☀️ReactPHP исполняется 11 лет: объявляем о выпуске Promise v3.0.0 — больше возможностей для асинхронного PHP!
Внимание! Открывается только с впн.
#дайджест
☀️ Развенчание заблуждения о пригодности Laravel для крупномасштабных приложений.
☀️Как протестировать ваши шаблоны и фронтенд Twig (на PHP)
️☀️Брокер обмена сообщениями NATS на PHP
☀️Улучшение производительности PHP: подробное руководство
️☀️ReactPHP исполняется 11 лет: объявляем о выпуске Promise v3.0.0 — больше возможностей для асинхронного PHP!
Внимание! Открывается только с впн.
#дайджест
❤12🌭4🍌1
Прощание с сообщениями коммита WIP
Автор статьи объясняет, что WIP (Work In Progress) сообщения в коммитах могут создать путаницу и усложнить ведение истории изменений в проекте. Он предлагает использовать более информативные и конкретные сообщения, которые полностью описывают и объясняют сделанные изменения.
Автор статьи объясняет, что WIP (Work In Progress) сообщения в коммитах могут создать путаницу и усложнить ведение истории изменений в проекте. Он предлагает использовать более информативные и конкретные сообщения, которые полностью описывают и объясняют сделанные изменения.
❤10🌭1🍌1
Как увеличить потребление памяти в 3 и более раз при работе с массивами
Известно, что PHP активно использует механизм copy-on-write. Это означает, что при попытке внутри функции что-то записать в переданные ей параметры, вначале будет сделана копия этой переменной, а уж затем в неё что-то запишется. Такая же ситуация наблюдается с итерацией массива с помощью foreach. Отсюда следует, что вам потребуется увеличить количество памяти для создания копии переменной и времени (ресурсов ЦП), чтобы всё это проделать. Т.е. возникнет пауза, прежде чем PHP перейдёт к следующей строчке вашей программы.
Известно, что PHP активно использует механизм copy-on-write. Это означает, что при попытке внутри функции что-то записать в переданные ей параметры, вначале будет сделана копия этой переменной, а уж затем в неё что-то запишется. Такая же ситуация наблюдается с итерацией массива с помощью foreach. Отсюда следует, что вам потребуется увеличить количество памяти для создания копии переменной и времени (ресурсов ЦП), чтобы всё это проделать. Т.е. возникнет пауза, прежде чем PHP перейдёт к следующей строчке вашей программы.
Хабр
PHP. Как увеличить потребление памяти в 3 и более раз при работе с массивами
Содержание Общие сведения. Увеличиваем потребление памяти вдвое. Увеличиваем потребление памяти втрое. Ещё раз увеличиваем потребление памяти на ровном месте. Заключение. Общие сведения Известно, что...
👍21❤10🍌3❤🔥1🤔1
👔Full-stack разработчик (PHP)
⛳️ Americor Funding Inc
💼🥁 Удаленка
💵 от 3 500 до 5 000 $ до вычета налогов
Подробная информация о вакансии
#вакансии
⛳️ Americor Funding Inc
💼🥁 Удаленка
💵 от 3 500 до 5 000 $ до вычета налогов
Подробная информация о вакансии
#вакансии
👍3
Что такое LAMP / WAMP?
LAMP и WAMP - это два часто используемых стека технологий для разработки веб-приложений. Они состоят из различных компонентов, которые объединяются в единое решение для обработки HTTP-запросов.
LAMP стоит за Linux, Apache, MySQL (или MariaDB) и PHP. Это одна из наиболее популярных комбинаций для создания веб-приложений. Linux является операционной системой, Apache - веб-сервером, MySQL или MariaDB - системой управления базами данных, а PHP - языком программирования для разработки динамических веб-страниц и приложений.
WAMP - это аналогичная стек LAMP, но вместо Linux в нем используется операционная система Windows. То есть WAMP стоит за Windows, Apache, MySQL (или MariaDB) и PHP.
LAMP и WAMP - это два часто используемых стека технологий для разработки веб-приложений. Они состоят из различных компонентов, которые объединяются в единое решение для обработки HTTP-запросов.
LAMP стоит за Linux, Apache, MySQL (или MariaDB) и PHP. Это одна из наиболее популярных комбинаций для создания веб-приложений. Linux является операционной системой, Apache - веб-сервером, MySQL или MariaDB - системой управления базами данных, а PHP - языком программирования для разработки динамических веб-страниц и приложений.
WAMP - это аналогичная стек LAMP, но вместо Linux в нем используется операционная система Windows. То есть WAMP стоит за Windows, Apache, MySQL (или MariaDB) и PHP.
🌚9👍7😁4❤2🍌2
Статья рассказывает о том, как выполнять отладку тестов в фреймворке Laravel Zero.
Laravel Zero - это минималистичный фреймворк, основанный на Laravel, который предназначен для создания командной строки или консольных приложений. Он предоставляет базовую структуру и функциональность Laravel, но существуют некоторые особенности, связанные с отладкой тестов.
Laravel Zero - это минималистичный фреймворк, основанный на Laravel, который предназначен для создания командной строки или консольных приложений. Он предоставляет базовую структуру и функциональность Laravel, но существуют некоторые особенности, связанные с отладкой тестов.
Fly
Debugging Tests: A look into assertCommandCalled
We create a test, debug the test, and make sense of how to make Laravel Zero's assertCommandCalled() pass.
❤4🍌1
Статья обсуждает два популярных подхода в объектно-ориентированном программировании: наследование и композицию. Автор рассматривает различия и сходства между этими подходами и исследует, когда использование каждого из них может быть наиболее предпочтительным в различных ситуациях. Он также подробно объясняет, какие проблемы могут возникнуть при неправильном использовании этих подходов и как выбрать наиболее подходящий вариант для конкретной задачи.
stitcher.io
"Is A" or "Acts As" - stitcher.io
A blog about modern PHP, the web, and programming in general. Follow my newsletter and YouTube channel as well.
👍5🍌2❤1🌚1
🤖Собрали для вас нейросети для разработки (помимо Chat GPT) — сохраняйте и тестируйте⬇️
🔍Code Mentor оптимизирует и рефакторит код
🔍Copilot by GitHub помогает писать код и дополняет его своими предложениями
🔍ExplainDev обучает в процессе и помогает разобраться в коде
🔍GPT Engineer может всю работу сделать за вас — нужно только сказать, что хотите написать
🔍CodeT5 преобразовывает запрос в код и дописывает начатые функции
🔍Polycoder бесплатный помощник, который способен генерировать код на 12 языках программирования
🔍Tabnine дописывает код за вами — даже полноценные строчки (но только в платной версии)
🔍Mintlify пишет документацию и комментарии
🔍Cogram переводит запрос на язык баз данных и интегрируется со средой разработки Jupyter
Бонус:
👨🏫Agent GPT устанавливает в вашем браузере ИИ-агента, который помогает в выполнении поставленной задачи (можно использовать не только при разработке, но и при планировании путешествия и для других личных задач)
Оригинал
🔍Code Mentor оптимизирует и рефакторит код
🔍Copilot by GitHub помогает писать код и дополняет его своими предложениями
🔍ExplainDev обучает в процессе и помогает разобраться в коде
🔍GPT Engineer может всю работу сделать за вас — нужно только сказать, что хотите написать
🔍CodeT5 преобразовывает запрос в код и дописывает начатые функции
🔍Polycoder бесплатный помощник, который способен генерировать код на 12 языках программирования
🔍Tabnine дописывает код за вами — даже полноценные строчки (но только в платной версии)
🔍Mintlify пишет документацию и комментарии
🔍Cogram переводит запрос на язык баз данных и интегрируется со средой разработки Jupyter
Бонус:
👨🏫Agent GPT устанавливает в вашем браузере ИИ-агента, который помогает в выполнении поставленной задачи (можно использовать не только при разработке, но и при планировании путешествия и для других личных задач)
Оригинал
❤4👍3🍌1
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
❤1
Недавно OpenAI выпустила обновление для ChatGPT, в котором представлены новые функции, позволяющие разработчикам описывать функции языковой модели — gpt-4-0613 и gpt-3.5-turbo-0613. Эти функции позволяют создавать объекты JSON, содержащие аргументы для запуска этих функций на основе пользовательского ввода.
Сегодня мы рассмотрим пример этой новой функции. Вы можете использовать его для получения информации об IP-адресе, предыдущих заказах, информации из часто задаваемых вопросов, прогнозе погоды или любой другой необходимой информации.
Сегодня мы рассмотрим пример этой новой функции. Вы можете использовать его для получения информации об IP-адресе, предыдущих заказах, информации из часто задаваемых вопросов, прогнозе погоды или любой другой необходимой информации.
DEV Community
Usage Laravel and ChatGPT "Function calling"
Recently, OpenAI released an update for ChatGPT, introducing new features that allow developers to...
❤7👍1
Зачем нужно ключевое слово final?
Ключевое слово "final" в PHP используется для обозначения, что класс, метод или свойство не может быть изменен или унаследован в дочерних классах.
Если класс объявлен как final, то он не может быть унаследован, и не может быть основой для других классов.
Если метод объявлен как final, то он не может быть переопределен (перезаписан) в дочерних классах.
Если свойство объявлено как final, то его значение уже не может быть изменено, и оно становится константой.
#вопросы_с_собеседований
Ключевое слово "final" в PHP используется для обозначения, что класс, метод или свойство не может быть изменен или унаследован в дочерних классах.
Если класс объявлен как final, то он не может быть унаследован, и не может быть основой для других классов.
Если метод объявлен как final, то он не может быть переопределен (перезаписан) в дочерних классах.
Если свойство объявлено как final, то его значение уже не может быть изменено, и оно становится константой.
#вопросы_с_собеседований
❤7💯5👍2
FilamentPHP: первый взгляд
Статья обсуждает новый пакет под названием FilamentPHP, который создан для разработки веб-приложений на базе Laravel. По сути, это фреймворк внутри фреймворка, состоящий из нескольких частей: построителя форм, построителя таблиц и пакета уведомлений, а также админ-панели, которая их объединяет. Здесь рассматриваются основные возможности и особенности фреймворка, а также предлагается пошаговое руководство по созданию простого проекта с использованием FilamentPHP.
Статья обсуждает новый пакет под названием FilamentPHP, который создан для разработки веб-приложений на базе Laravel. По сути, это фреймворк внутри фреймворка, состоящий из нескольких частей: построителя форм, построителя таблиц и пакета уведомлений, а также админ-панели, которая их объединяет. Здесь рассматриваются основные возможности и особенности фреймворка, а также предлагается пошаговое руководство по созданию простого проекта с использованием FilamentPHP.
Fly
FilamentPHP: a first look
A first look at Filament, a framework-within-a-framework!
❤14
Постановка задач в очередь Laravel сторонними сервисами
При работе над проектом довольно часто возникает ситуация, когда необходимо, чтобы один сервис поставил задачу для другого сервиса. Задача довольно тривиальная, если на обеих сторонах используется один и тот же фреймворк. Но все становится намного интересней, когда на стороне подписчика допустим Laravel со своим дефолтным форматом, а на стороне издателя что‑то модное на Go.
При работе над проектом довольно часто возникает ситуация, когда необходимо, чтобы один сервис поставил задачу для другого сервиса. Задача довольно тривиальная, если на обеих сторонах используется один и тот же фреймворк. Но все становится намного интересней, когда на стороне подписчика допустим Laravel со своим дефолтным форматом, а на стороне издателя что‑то модное на Go.
Хабр
Постановка задач в очередь Laravel сторонними сервисами
При работе над проектом ( будь то хайповые микросервисы или монолит ) довольно часто возникает ситуация, когда необходимо, чтобы один сервис поставил задачу для другого сервиса. Задача...
❤10👍4🍌2🤔1