Содержание
PHP — Скриптовый язык общего назначения / Хабр
Скриптовый язык общего назначения
Статьи
Авторы
Компании
Сначала показывать
Порог рейтинга
pmswga
PHP *C++ *Системное программирование *Компиляторы *
Всем доброго дня, уважаемые читатели. В данной статье вы узнаете как добавить новые функции в runtime KPHP, чтобы ими можно было пользоваться как ни в чём не бывало.
Рассмотрим этапы сборки KPHP, реализациий функций, написание тестов.
В качестве задачи — добавления функций для парсинга файлов и строк в формате env.
Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры
243
Комментарии
1
SamDark
PHP *Yii *
Всем привет!
С вами снова Александр. Прошлый выпуск был второго мая и после этого наступила тишина. В очередной раз не потому, что ничего не происходило, а совсем наоборот. Происходило всё и сразу. В конце сентября я поехал на конференцию и, вместо возвращения домой к семье, оказался в Ереване, столице Армении. Оттуда и пишу этот выпуск.
Что касается разработки, прогресс отличный несмотря на то, что происходит в мире в общем и в странах членов команды в частности.
А теперь перейдём к интересным событиям, произошедшим с прошлого выпуска новостей.
Читать далее
Всего голосов 27: ↑26 и ↓1 +25
Просмотры
2.9K
Комментарии
0
lexspeedkb
PHP *MySQL *
Из песочницы
Приветствую! У каждого разработчика рано или поздно наступает момент, когда появляется необходимость работать с большими базами данных. В мире таблиц весом более 5 гигабайт действуют немного иные законы «физики», нежели в маленьких табличках: приходится заботиться о тех вещах, о которых раньше даже и не задумывался. Сегодня я поделюсь трюком, который поможет быстро удалить много данных с таблицы MySQL с движком InnoDB.
Просветиться
Всего голосов 17: ↑7 и ↓10 -3
Просмотры
5.9K
Комментарии
51
m5xim
000Z» title=»2022-11-17, 09:00″>17 ноября в 09:00
CMS *WordPress *Разработка веб-сайтов *PHP *Программирование *
Перевод
Tutorial
В данной статье вы узнаете как запрашивать и отображать посты, как отображать ACF поля (узнаете новый способ), также ближе познакомитесь с устройством мета полей и разберетесь с пользовательскими типами постов (Custom Post Types) в WordPress, эти знания помогут понять структуру WordPress изнутри.
Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры
388
Комментарии
0
m5xim
CMS *WordPress *Разработка веб-сайтов *PHP *Программирование *
Перевод
Плагин Advanced Custom Fields используется в WordPress повсеместно, за свою карьеру я встретил лишь несколько сайтов которые обходились без него (весьма специфические). Большой набор типов полей, хороший интерфейс для админов, обширная документация для разработчиков. Казалось бы, чего проще, вывести поля на фронт сайта. Но на практике это делается довольно некрасиво, и занимает гораздо больше времени, чем можно было бы ожидать. Я расскажу как вывести любые ACF поля на фронт без кодинга (и без visual page builders), очень быстро и не превращая код темы в черную дыру спагетти код.
Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры
961
Комментарии
3
radionov_me
Разработка веб-сайтов *PHP *Laravel *Конференции IT-компании
Из песочницы
Привет, за клавиатурой Миша Радионов, и я снова расскажу вам про Laravel. Нет, не про тонкости этого фреймворка, а про Laravel-митап, который мы провели в Студии Флаг уже во второй раз.
Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры
2.1K
Комментарии
2
Generation_S
Блог компании GenerationS PHP *Программирование *API *Интервью
В сентябре российские СМИ и соцсети облетела новость о том, как разработчик из Чечни Рамзан Шахбиев создал телеграм-бота для управления Tesla. Через него можно управлять климат-контролем, медиасистемой и зарядкой, обновлять ПО, открывать багажник, сигналить, моргать фарами, проверять уровень заряда, запас хода и местоположение машины. Разработка хайпанула и вызвала спрос других владельцев электромобиля Маска — Рамзан удивился шумихе и запустил бота для всех. Под катом — наше интервью с программистом-самоучкой о деталях бота и других его проектах.
Читать далее
Всего голосов 13: ↑9 и ↓4 +5
Просмотры
4. 8K
Комментарии
12
mozg3000tm
PHP *Программирование *Yii *ООП *
Когда работаешь в проекте со сторонними апи предоставляющими какой-либо сервис, то необходимо делать к ним запросы с бэкенда и как по мне, делать это с бекэнда бывает не так удобно как с фронтенда. Тем более если нужное апи авторизует запросы по временному токену, который действует только какое-то время (обычно 24 ч.) и потом становится не действительным. В данной статье будет рассмотрен способ автоматического обновления такого токена непосредственно в процессе запроса ресурса удалённого сервиса.
Interceptor->next()
Всего голосов 8: ↑2 и ↓6 -4
Просмотры
841
Комментарии
7
dimas846
000Z» title=»2022-11-11, 16:09″>11 ноября в 16:09
PHP *Drupal *DevOps *
Из песочницы
Tutorial
Я PHP разработчик, решил поделиться с Хабром своим опытом в части того, как подготовить на своем компьютере окружение, чтобы можно было создавать сайты PHP. Будет пример для Drupal. Но Drupal или нет, даже не важно, подойдет для любого другого PHP проекта. Грамотная настройка компьютера для разработки поможет в дальнейшем не тратить время и нервы. Этим придется пользоваться каждый день, поэтому стоит уделить время и сделать все так, чтобы было удобно пользоваться.
А что вообще надо чтобы запустился PHP сайт?
Читать далее
Всего голосов 15: ↑8 и ↓7 +1
Просмотры
2.7K
Комментарии
4
unserialize
Блог компании VK Open source *PHP *C++ *Компиляторы *
Ровно два года назад — в ту же самую дату и в то же самое время — я опубликовал статью «ВКонтакте снова выкладывает KPHP».
Сегодня рассказываю, куда мы продвинулись за эти два года: про язык, рантайм, использование KPHP вне ВКонтакте, другие open-source проекты и февраль 2022-го.
Читать далее
Всего голосов 71: ↑66 и ↓5 +61
Просмотры
11K
Комментарии
24
fourfingers
PHP *Проектирование и рефакторинг *API *
В этой статье я — Станислав Решетнев, Teamlead команды разработки Link Building в компании Sape — хочу рассказать об опыте нашей компании по избавлению от legacy. Многие компании сталкиваются с проблемой legacy-монолита, когда технический долг накапливается на протяжении долгих лет и разрыв по технологическому стеку становится всё больше похожим на пропасть. Нам удалось найти решение, позволившее провести полное обновление, и заодно выполнить другие бизнес-задачи.
Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры
2.6K
Комментарии
4
xEpozZ
PHP *Yii *GitHub *
Самое ужасное, что может предоставить рабочий код – внезапную проблему. Будь то отложенная бага или неудачное обновление. Для того чтобы избежать такую ситуацию, мы в команде договорились покрывать тестами как можно больше написанного кода, проверять все допустимые варианты, делать статический анализ и проверять обратную совместимость будущих версий библиотек.
Как вы уже могли догадаться, в этой статье разговор пойдет о вспомогательных инструментах при разработке. Все эти инструменты вы можете использовать в личных проектах. Надеюсь, что хоть один из инструментов вам покажется интересным и вы захотите его попробовать в деле.
Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Просмотры
2. 1K
Комментарии
0
Krivodanov
PHP *Yii *
Хочу подлиться с читателями Хабр очередным своим открытием, что все сложное просто. Задачу создания динамического sitemap на Yii2 мне поставил СЕО специалист. Мне нужно было создать sitemap на основе результата запроса из базы данных.
Поиск решений сводился к расширению пула зависимостей и установкой новых библиотек. Однако нашлось решение в рамках Yii2 без сторонних зависимостей. При этом решение довольно гибкое и применимо в разных интерпретациях.
И так приступим:
Сначала создадим экшэн метод в контроллере SiteController
который будет брать данные из модели и отдавать рендеру. При этом приложению задаем формат ответа и добавляем заголовок для клиента.
И так приступим:
Всего голосов 11: ↑4 и ↓7 -3
Просмотры
1. 2K
Комментарии
11
Prog-Time
PHP *API *
Tutorial
В новом уроке мы с вами научимся отправлять файлы и изображения в Telegram сообщениях. Мы с вами изучим 2 новых метода: sendPhoto() и sendDocument().
Для отправки файлов в Телеграм, нам необходимо воспользоваться функцией curl_file_create(), которая формирует специальный объект файла, для того чтобы его можно было передавать через HTTP запросы.
Читать далее
Всего голосов 11: ↑6 и ↓5 +1
Просмотры
3.4K
Комментарии
2
Prog-Time
PHP *API *
Tutorial
В новом уроке мы с вами рассмотрим отправку базовый запросов в Telegram. Я покажу вам как отправлять простые текстовые сообщения в Telegram, как отправлять кнопки и дополнительные клавиатуры.
Всю информацию по параметрам запросов мы будем брать из официальной документации Telegram.
Все ответы от Telegram приходят в виде JSON строки. Для удобного отображения массива ответа в браузере, советую вам установить специальное расширение для браузера, которое называется JSON Viewer
Читать далее
Всего голосов 8: ↑4 и ↓4 0
Просмотры
2.9K
Комментарии
5
Prog-Time
PHP *API *
Tutorial
Во втором уроке я вам покажу как создать бота для Telegram и мы с вами попробуем отправить сообщения в чат в Telegram.
Читать далее
Всего голосов 8: ↑4 и ↓4 0
Просмотры
1. 1K
Комментарии
3
electrobayan
CMS *Разработка веб-сайтов *PHP *Разработка под e-commerce *Magento *
Tutorial
В этой статье поговорим об инъекции (внедрении) зависимостей в Magento 2. Как ее использовать и для чего она нужна.
Итак, внедрение зависимостей — это паттерн проектирования предназначенный для того, чтобы предоставлять какому-либо объекту зависимости, необходимые для его работы. Это более совершенная альтернатива наследованию, позволяющая уменьшить связанность классов и компонентов между собой.
В основе этого подхода лежит принцип Dependency Inversion (инверсия зависимостей) из принципов SOLID, который предполагает использование абстракций вместо конкретных классов, где детали реализации должны зависеть от абстракций, а абстракции не должны зависеть от деталей реализации.
Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры
814
Комментарии
0
Prog-Time
PHP *API *
Recovery mode
Tutorial
Всем привет, это первый урок из курса по разработке ботов для Telegram. В данном курсе, мы с вами разберём как создавать ботов для Telegram на PHP. Я расскажу вам как отправлять текстовые сообщения, как отправлять файлы, как получать и обрабатывать сообщения от пользователей и по итогу мы с вами напишем скрипт для быстрого создания бота для Telegram на PHP.
В первом уроке мы с вами рассмотрим основные понятия связанные с API. Я вам расскажу что такое API методы, хуки, покажу на примере Telegram построение URL для создания запросов и расскажу о том как создаются простые API запросы на PHP.
Для отправки и получения запросов через API, вам лучше использовать виртуальный хостинг, так как локальный хостинг не сможет получать данные через хуки.
Читать далее
Всего голосов 13: ↑7 и ↓6 +1
Просмотры
3.8K
Комментарии
8
sbase
Высокая производительность *Разработка веб-сайтов *PHP *Программирование *
История о том, как мы мигрировали нашу систему управления проектами на KPHP. Если у вас есть PHP-проект с длинной историей и вы хотите запуститься на KPHP для получения выгод, то приготовьтесь! Будет сложно, больно, сборка будет падать много раз. И если у вас останутся силы подняться вместе со сборкой, вы победите.
Узнать продробности
Всего голосов 45: ↑44 и ↓1 +43
Просмотры
3.8K
Комментарии
11
sergeytolkachyov
000Z» title=»2022-10-29, 20:36″>29 октября в 20:36
CMS *Open source *PHP *Серверное администрирование *Joomla *
Перевод
Tutorial
В Joomla 4 из коробки поставляется новый, улучшенный CLI (интерфейс командной строки), который входит в состав в ядра. Теперь вы можете выполнять задачи тех.обслуживания, даже не заходя на свой веб-сайт. Также в статье затрагивается вопрос постановки задач Планировщика задач Joomla 4.1 на серверный CRON. Есть список-шпаргалка CLI команд Joomla 4 и Akeeba Backup.
Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры
1.3K
Комментарии
4
Паттерны проектирования на PHP
Порождающие паттерны
Абстрактная фабрика
Abstract Factory
Позволяет создавать семейства связанных объектов, не привязываясь к конкретным классам создаваемых объектов.
Строитель
Builder
Позволяет создавать сложные объекты пошагово. Строитель даёт возможность использовать один и тот же код строительства для получения разных представлений объектов.
Фабричный метод
Factory Method
Определяет общий интерфейс для создания объектов в суперклассе, позволяя подклассам изменять тип создаваемых объектов.
Прототип
Prototype
Позволяет копировать объекты, не вдаваясь в подробности их реализации.
Одиночка
Singleton
Гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа.
Структурные паттерны
Адаптер
Adapter
Позволяет объектам с несовместимыми интерфейсами работать вместе.
Мост
Bridge
Разделяет один или несколько классов на две отдельные иерархии — абстракцию и реализацию, позволяя изменять их независимо друг от друга.
Компоновщик
Composite
Позволяет сгруппировать объекты в древовидную структуру, а затем работать с ними так, как будто это единичный объект.
Декоратор
Decorator
Позволяет динамически добавлять объектам новую функциональность, оборачивая их в полезные «обёртки».
Фасад
Facade
Предоставляет простой интерфейс к сложной системе классов, библиотеке или фреймворку.
Легковес
Flyweight
Позволяет вместить бóльшее количество объектов в отведённую оперативную память. Легковес экономит память, разделяя общее состояние объектов между собой, вместо хранения одинаковых данных в каждом объекте.
Заместитель
Proxy
Позволяет подставлять вместо реальных объектов специальные объекты-заменители. Эти объекты перехватывают вызовы к оригинальному объекту, позволяя сделать что-то до или после передачи вызова оригиналу.
Поведенческие паттерны
Цепочка обязанностей
Chain of Responsibility
Позволяет передавать запросы последовательно по цепочке обработчиков. Каждый последующий обработчик решает, может ли он обработать запрос сам и стоит ли передавать запрос дальше по цепи.
Команда
Command
Превращает запросы в объекты, позволяя передавать их как аргументы при вызове методов, ставить запросы в очередь, логировать их, а также поддерживать отмену операций.
Итератор
Iterator
Даёт возможность последовательно обходить элементы составных объектов, не раскрывая их внутреннего представления.
Посредник
Mediator
Позволяет уменьшить связанность множества классов между собой, благодаря перемещению этих связей в один класс-посредник.
Снимок
Memento
Позволяет делать снимки состояния объектов, не раскрывая подробностей их реализации. Затем снимки можно использовать, чтобы восстановить прошлое состояние объектов.
Наблюдатель
Observer
Создаёт механизм подписки, позволяющий одним объектам следить и реагировать на события, происходящие в других объектах.
Состояние
State
Позволяет объектам менять поведение в зависимости от своего состояния. Извне создаётся впечатление, что изменился класс объекта.
Стратегия
Strategy
Определяет семейство схожих алгоритмов и помещает каждый из них в собственный класс, после чего алгоритмы можно взаимозаменять прямо во время исполнения программы.
Шаблонный метод
Template Method
Определяет скелет алгоритма, перекладывая ответственность за некоторые его шаги на подклассы. Паттерн позволяет подклассам переопределять шаги алгоритма, не меняя его общей структуры.
Посетитель
Visitor
Позволяет создавать новые операции, не меняя классы объектов, над которыми эти операции могут выполняться.
РХР
В новостях
Разработчик LI Скотт Рехлер из RXR избран в правление Федерального резервного банка Нью-Йорка
В новостях
RXR Realty начинает строительство на Третьей авеню, 2413; Динамичная аренда 200 квартир, разработанная CetraRuddy Architecture
В новостях
Переработанные комплекты компьютеров RXR Realty помогают пострадавшим от наводнения урагана Ида
В новостях
550 Madison Avenue официально открывает новое лобби в Восточном Мидтауне, Манхэттен
В новостях
RXR соглашается построить часть проекта
White Plains из 860 единиц.
В новостях
Leasing запускает в The Willoughby новый 476-квартирный дом для аренды в центре Бруклина
В новостях
RXR нанимает Эрика Клемента для руководства инвестициями в устойчивое развитие
Мысли от руководства
Сборник сценариев после событий 11 сентября может помочь нам сегодня
В новостях
Разработчик LI Скотт Рехлер из RXR избран в правление Федерального резервного банка Нью-Йорка
В новостях
RXR Realty начинает строительство на Третьей авеню, 2413; Динамичная аренда 200 квартир, разработанная CetraRuddy Architecture
В новостях
Переработанные комплекты компьютеров RXR Realty помогают пострадавшим от наводнения урагана Ида
В новостях
550 Madison Avenue официально открывает новое лобби в Восточном Мидтауне, Манхэттен
В новостях
RXR соглашается построить часть проекта
White Plains из 860 единиц.
В новостях
Leasing запускает в The Willoughby новый объект аренды на 476 квартир в центре Бруклина
В новостях
RXR нанимает Эрика Клемента для руководства инвестициями в устойчивое развитие
Мысли от руководства
Сборник сценариев после 11 сентября может помочь нам сегодня
Часы
Перекалибровать реальность
An Acceleration of Mega-Trends
RXR предлагает динамический набор инновационных инвестиционных продуктов по всему спектру рисков для своих инвесторов. В сочетании с богатой историей офисного и промышленного развития наши средства извлекают выгоду из нашего стратегического увеличения строительства жилых, складских, телемедицинских и транспортных объектов по всей США.
Узнать больше
В авангарде эволюции
Недвижимости
В RXR мы считаем, что недвижимость больше не сводится к возведению четырех стен для арендатора. Вместо этого речь идет о предоставлении, активации и мерчендайзинге программ в этих четырех стенах, чтобы наши клиенты получали более продуктивный, более персонализированный и более полезный опыт.
Узнайте больше о RXR
На Рокфеллер-Плаза, 75 в Нью-Йорке мы создаем модель активируемого вертикального многофункционального здания, создавая чувство общности, подходящее для 21 века.
МЫСЛИ РУКОВОДСТВА
Сборник пьес после событий 11 сентября может помочь нам сегодня
Тем утром, во время обычной телефонной конференции в офисном здании в Нижнем Манхэттене, я увидел, как два самолета врезались в башни-близнецы. Ошеломленный, я присоединился к тысячам потрясенных жителей Нью-Йорка, эвакуирующихся под какофонию визжащих пожарных машин и неистовых криков.
Тем утром, во время обычной телефонной конференции в офисном здании в Нижнем Манхэттене, я увидел, как два самолета врезались в башни-близнецы. Ошеломленный, я присоединился к тысячам потрясенных жителей Нью-Йорка, эвакуирующихся под какофонию визжащих пожарных машин и неистовых криков.
Продолжить чтение
Нажмите для звука
Наша инвестиционная стратегия
Новое изобретение недвижимости для 21
ст Век
RXR 1.0. После продажи Reckson Associates Realty Corp. компании SL Green компания RXR была создана специально для того, чтобы гибко следовать потребностям наших клиентов и оставаться на шаг впереди рынка. RXR стала пионером в реконструкции культовых офисных зданий для 21 века и строительстве недорогого жилья вокруг транспортных узлов.
RXR 2.0 – RXR стремится заново изобрести недвижимость для 21 st века, предоставляя беспрецедентный уровень обслуживания и опыта, оптимизируя использование наших зданий. Мы можем сделать это, используя как наши физические, так и цифровые активы… или то, что мы любим называть нашими «физическими» активами.
Investing with RXR
29.5
Million Square Feet Under Management
$21.0B
Gross Asset Value
8.900
Multi-Family Units
73
Properties
Investing with RXR
Рекомендованный новый продукт