Ви напевно думаєте, що писати на php — це просто. Та «hello, world» виглядає приблизно так:

<?php
echo 'Hello, world!';

Звичайно, чого ще очікувати від мови з низьким порогом входу. Ну так, саме так і було раніше. Багато років тому. Але тепер, у 2017 році ніхто вже так не робить. Давайте розглянемо, чому і спробуємо побудувати наше більш реалістичне hello-world програму по кроках, а їх, скажу відразу, вийшло не мало.


Читати далі →

Laravel 5. Ієрархічний RBAC для самих маленьких

Як вам мабуть відомо, RBAC — це управління доступом на основі ролей. Всі, хто створювали системи трохи більші ніж домашня сторінка і трохи менші ніж Держпослуги, замислювалися про те, як розмежувати права користувачів.
У цій статті я не буду розповідати про те, що таке RBAC і чому це добре (хоча небагато, звичайно, розповім), а познайомлю вас зі своєї скромної розробкою (h-rbac) і спробую пояснити, чому вона з деяким аспектам краще, ніж відомі "монстри".
Читати далі →

PrestaShop. Про глюке в багаторівневій навігації

PrestaShop Blocklayered

Привіт Хабр! Я розумію, що історія, про яку я хочу розповісти зовсім звичайна. У кожного програміста, який працює з Open Source, таких випадків до десяти на день. Але я все одно вирішив про неї написати. Комусь вона реально допоможе, а кому-то може просто поліпшить настрій, що теж непогано.

Буде трохи реверс-інжинірингу, трохи філософських роздумів, і звичайно щасливий кінець. Кому важливо тільки виправлення глюку – можете не читати весь цей бред і відразу скопіювати хак з кінця статті. У будь-якому випадку, ласкаво просимо під кат.


Читати далі →

Відповідь на введення в проектування сутностей, проблеми створення об'єктів

Після прочитання статті Введення в проектування сутностей, проблеми створення об'єктів на хабре, я вирішив написати розгорнутий коментар про приклади використання Domain-driven design (DDD), але, як водиться, коментар виявився занадто великим і я вважав правильним написати повноцінну статтю, тим більш що питання DDD, на хабре і не тільки, видаляється мало уваги.
DDD
Рекомендую прочитати статтю про яку я буду тут говорити.
Якщо коротко, то автор пропонує використовувати білдери для контролю за консистентностью даних в сутності при використанні DDD підходу. Я ж хочу запропонувати використання Data Transfer Object (DTO) для цих цілей.

Читати далі →

Де живуть ваші оголошення?

image

Ми відкриваємо техно-блозі компанії Avito. Багато знають бренд, але не так багато тих, хто знає, як сервіс влаштовано з технічної сторони. У своєму блозі ми відкриємо завісу невідомого і розповімо про технічну кухні сервісу.

Почнемо з невеликої історії про те, що проект представляє з себе сьогодні, чим займається команда інженерів і, що ми плануємо робити в найближчому майбутньому. Ще ми зібрали в цьому пості безліч посилань на вже опубліковані матеріали, доповіді і презентації нашої команди, якими давно хотіли поділитися. Хочете знати, де живуть ваші оголошення? Ласкаво просимо під кат!

Читати далі →

PHP-Дайджест № 102 – цікаві новини, матеріали і інструменти (1 – 12 лютого 2017)


Пропонуємо вашій увазі чергову підбірку з посиланнями на новини та матеріали.
Приємного читання!

Читати далі →