PHP — TechCave

PHP

Стена группы

Загрузка...
9 дней назад
#

[PHP] Пишем инвестиционный сайт (HYIP). Структура. Валидация данных пользователей. Часть #1


Загрузка...
12 дней назад
#

Выбираем Yii2 или laravel



Введение

Я уже писал подобную статью, но она была очень не полной и не снабженной примерами, поэтому я решил взять вторую попытку и попытаться раскрыть данный вопрос наиболее полно!

В данной статье, не будут рассматриваться все тонкости разработки на фреймворках, поскольку это не возможно уложить в рамках одной статьи. Однако, можно достаточно подробно разъяснить те нюансы, которые помогут в выборе для изучения или реализации конкретного проекта. Сравнивать будет Yii2 и Laravel. Я понимаю, что это достаточно холиварная тема, результат которой обычно гласит, что каждый хорош по своему. Я, как человек работавший с обеими, попробую разъяснить свой подход к выбору фреймворка, и постараюсь наиболее объективно показать их минусы и плюсы.

Источник
Загрузка...
12 дней назад
#

И снова о переводе документации PHP





Предыстория

Когда года два назад мне понадобилось прочитать описание одной из функций, я открыл гугл, вбил имя этой функции и по ссылке перешел на русское описание на сайте php.net. В глаза сразу же бросилось, что описание некорректное — банально отсутствовал третий параметр, добавленный в далеко не последних релизах PHP. Пожав плечами я переключился на английскую версию, где все было правильно и соответствовало текущему положению вещей.

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

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

Источник
Загрузка...
Den
12 дней назад
#

Внедрение предметно-ориентированного проектирования в PHP



И снова здравствуйте!

Что ж очередной «новый» курс, который стартовал в конце декабря, подходит к концу —
«Backend разработчик на PHP». Учли разные мелкие шероховатости и запускаем новый. Осталось только посмотреть на выпуск и всё, поставим очередную галочку.

А счас пока давайте посмотрим на одну интересную статью.

Поехали.

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

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

DDD научит вас эффективно моделировать реальный мир в вашем приложении и использовать ООП для инкапсуляции бизнес-логики организации.



Источник
Загрузка...
12 дней назад
#

Собственные валидации полей для Rules в одном классе



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

image

Я не думаю, что многие разработчики любят проверять входные данные и делают это достаточно тщательно, поэтому в современных фреймворках, таких как
Yii 2, предусмотрены функции
rules() для моделей и классы-Валидаторы, которые хоть и не избавляют от этой рутины, но, как минимум, делают этот процесс менее нудным.

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

Источник
Загрузка...
14 дней назад
#

Приглашаем на первую международную веб-конференцию Kolesa/Web 2018



image

Привет, Хабр! Весна пришла на планету, а вместе с ней и многочисленные митапы и конференции.

Мы продолжаем формировать IT-community в Казахстане и делиться опытом веб-разработки и использования передовых технологий.
21 апреля в г. Алматы проведем первую международную веб-конференцию Kolesa/Web 2018!

В программе
7 докладов от Колёса Крыша Маркет, Avito, Badoo, дискуссии в перерывах и море вкусных угощений.

Источник
Загрузка...
15 дней назад
#

Докеризируем Socket.io, redis и php



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



  1. Сервер php публикует данные в канал redis.

  2. Сервер node подписывается на события в соответствующем канале redis и при
    наступлении события поступления данных публикует эти данные уже в
    socket.io

  3. Клиент подписывается на сообщения socket.io и обрабатывает их при поступлении



Исходный код проекта можно найти на github



Источник
Загрузка...
16 дней назад
#

PHP-Дайджест № 128 (25 марта – 8 апреля 2018)





Свежая подборка со ссылками на новости и материалы. В выпуске: PhpStorm 2018.1 и другие релизы, критическая уязвимость в Drupal, видеозаписи докладов, порция полезных инструментов, и многое другое. Приятного чтения!



Источник
Загрузка...
Den
20 дней назад
#

Code Conventions: как мы сохраняем быстрый темп разработки PHP-проекта



Привет, Хабр. Меня зовут Евгений Удодов, я сооснователь и технический директор компании Roistat. Хочу поделиться нашим опытом разработки большого и сложного продукта — системы аналитики.

TL;DR: Мы выложили на github
наш Code Conventions и рассказали в статье о том, как его применять на практике.

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

За 4 года существования нашего проекта мы сделали больше 20 000 Pull Request’ов (далее PR) и под катом я расскажу, как же мы решили эти проблемы.



Источник
Загрузка...
20 дней назад
#

Backend United #1. Винегрет. Анонс



Привет. Хочу пригласить бэкендеров на Backend United #1. Винегрет — митап, посвященный кросс-языковым решениям для разработки серверной части. Обсудим общие подходы и инструменты для разных языков. Вы услышите доклады от представителей Gett RnD и Avito. Встреча пройдет в среду, 18 апреля, в московском офисе Avito.



Приходите на митап и приглашайте коллег. Под катом — тезисы выступлений, ссылки на регистрацию и видеотрансляцию встречи.





Источник
Загрузка...
22 дня назад
#

Matthias Noback Об Идеальной Архитектуре — Слои, Порты и Адаптеры (Часть 3 — Порты и Адаптеры)



Matthias Noback (автор A year with Symfony) опубликовал цикл из трех статей, в котором описал свои взгляды на идеальную архитектру корпоративных приложений, сформировавшуюся за долгие годы практики.Первая часть является вводной и не представляет особого интереса(можно ознакомиться в оригинале). Перевод второй — по ссылке. И так как он вызвал БЕШЕННЫЙ ажиотаж(целых ДВА человека подискутировали со мной в комментах), то не перевести третью было бы преступлением.



В предыдущей статье мы обсудили разумную систему расслоения проекта, состоящую из трех слоёв:



  • Домен

  • Прикладной слой

  • Инфраструктура



Сейчас, подробно рассмотрим инфраструктурный слой.



Источник
Загрузка...
24 дня назад
#

PHP ACL. Попытка сделать код безопаснее



Приветствую хабрасообщество.

Представьте? что вы разрабатываете какой-то продукт в котором есть система модулей. Модули могут писать сторонние разработчики. Далее вы загружаете модули в систему и запускаете код.

В такой ситуации часто возникает вопрос — как можно ограничить возможности запускаемого кода?

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

Как защитить свой продукт от модуля который банально сделает запрос в базу и закачает архив на какой-нибудь фтп сервер.

Если вы не Apple, Google и т.д. и у вас нет штата своих модераторов которые будут модерировать загружаемые модули возможно решение под катом облегчит Вам жизнь.

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

Источник
Загрузка...
24 дня назад
#

DoctrineSolrBundle — поиск по Doctrine entity на базе Solr в Symfony2



DoctrineSolrBundle

Добрый день, хочу представить свой symfony 2 бандл для автоматической синхронизации Doctrine entity в Solr и последующим поиском. Бандл предназначен для работы с Solr на уровне Doctrine entity и позволяет избежать написания низкоуровневых запросов в solr. Процесс установки и подробную документацию можно посмотреть на
github.

Возможности

Реализованы основные (не все) возможности поиска
стандартного парсера запросов Solr:



Также реализована поддержка
SuggestComponent

Источник
Загрузка...
24 дня назад
#

Сегодня стать ZCPE может каждый



Пользуясь случаем, хотелось бы лишний раз напомнить о существовании сертификации PHP инженеров. На дворе уже 2018й и мир увидела PHP 7.2, сертификация постоянно обновляется. Текущая версия: ZCPE-2017. Получить сертификат сейчас, или все же дождаться выхода обновленной версии — решать вам.

Источник
Загрузка...
25 дней назад
#

Как отследить загрузку файлов со своего сайта на WordPress





Возникла задача отслеживания загрузок файлов с сайта (изображений, документов, видео, дистрибутивов, …), т.к. обычные сервисы статистики не могут это делать без изменения URL файлов. И статистика должна быть видна в привычном месте (например, Google Analytics или FireBase).

Перебрав несколько плагинов (большинство имеют в названии слова Download и Manager), я обнаружил, что все они организованы по принципу ручного составления списка файлов для мониторинга. И во многих из них реализованы защиты от неавторизированного скачивания, что в данной задаче избыточно. Можно было бы воспользоваться ими, но если файлов много, то в итоге:

  • слишком неудобно и долго заводить элемент под каждый файл;

  • файлы могут менять свое расположение – опять придется исправлять элемент.



В итоге сделана своя реализация в виде плагина к WordPress, в котором просто указывается каталог (относительный путь сайта) и далее происходит мониторинг загрузок его содержимого.

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

Источник
Загрузка...
2 3

Авторизация

Пользователи

Dmitry Loginov
Dimas Potapov
Ваня Берёзкин
Володя Рудомаха
adanick
Марина Викторовна
Георгiй Москвитинъ
Andpyxa Tutunnik
Andrey_fox