@prophp7

Страница 551 из 1387
Sergey
20.08.2017
14:00:04
ну... как ..... скорее сочетание uow + data mapper + lazy load

можно очень интересные вещи делать

особенно с версии 2.5

и появления embeddables

Google
Roman
20.08.2017
14:57:32
и появления embeddables
А можно реальный пример в кратце, как вы его использовали?)

Dmitry
20.08.2017
15:21:33
вилка и нож тоже опасные - но лично я не собираюсь отказываться от них в повседневной жизни просто потому, что кто то когда то может ими убить самого себя
На самом деле он прав. У меня, например, в одном проекте есть проблема из-за такого фильтра. Получаешь сущность у которой обязательно должна быть связь, а там null. И пошли поехали костыли. Хотя с другой стороны, иначе пришлось бы значительно усложнить репозитории...

Ivan
20.08.2017
15:44:29
User::register наверное
почему не new User(...) ?

в каком случае именованные конструкторы для сущности лучше?

Aleh
20.08.2017
15:50:15
в каком случае именованные конструкторы для сущности лучше?
например у тебя несколько способов создать сущность и ты не можешь выделить из их имен какой-то, который также плох, как new

Ivan
20.08.2017
15:52:47
ну а насчёт User::register?

ведь юзер registered, когда попадает в репозиторий

Alexey
20.08.2017
16:19:43
Есть ли какая нибудь статистика сравнения насколько будет снижаться скорость выборки при использовании в качестве id Uuid. Больше интересует если в выборке будет много join'ов.

Евгений
20.08.2017
16:42:21
Ребят кто может рассказать в двух словах, как проходит разработка используя git? есть сервер с проэктом где инициализирован гит, каждый из разработчиков клонирует себе на локальный комп, и ведет разработку у себя, запуская проэкт на локальном сервере, а потом комитит внесенные изменения, я правильно понимаю?

Kirill
20.08.2017
16:43:49
все так

Абдулмалик
20.08.2017
16:44:50
в принципе все верно

Google
Евгений
20.08.2017
17:06:25
а если проэкт огромный? все равно нужно качать весь проэкт на лкоалку себе чтоб можно было его запустить?

Vadim
20.08.2017
17:08:22
Что за локальный сервер?

Евгений
20.08.2017
17:09:28
а как по-другому ты хочешь?)
Та не знаю, просто уточнил)

Roman
20.08.2017
17:09:59
ты в любом случае клонируешь весь проект, и потом уже работаешь в ветке, какая тебе надо.

Андрей
20.08.2017
17:18:19
ммм, у кого есть опыт с ReactPHP/amphp (и прочие async io) - там есть асинхронная монга (запросы)?

Dmitry
20.08.2017
17:37:49
доброго вечера, подскажите, насколько psr позволяет autoload.php описывать в таком виде require_once DIR.'/core/Loader.php'; spl_autoload_register('mmvc\\core\\Loader::load'); ну а там уже соответственно вся загрузка происходит.

Виктор
20.08.2017
17:43:53
ммм, у кого есть опыт с ReactPHP/amphp (и прочие async io) - там есть асинхронная монга (запросы)?
По умолчанию сам драйвер под монгу не поддерживает асинхронность. Но есть готовая либа под это дело как раз под reactPHP https://github.com/jmikola/react-mongodb

Андрей
20.08.2017
17:47:42
Roman
20.08.2017
17:48:22
Ребята, интересует работа с Command и Command Bus. У кого есть опыт, скажите, пожалуйста, на сколько удобнее и расширяема становится система при использовании этого паттерна, возможно проблемы, с которыми сталкивались на проектах. Буду благодарен.

Dmitry
20.08.2017
17:49:40
psr не знаю тут причем, а composer так и устроен
меня смутила вот эта вот ссылка https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader-examples.md там прямо в скрипте идет загрузка

Dmitry
20.08.2017
17:52:05
Юзай composer и не парься.
я вот его и собираюсь юзать, свой код хочу в виде пакета оформить

dypa
20.08.2017
17:52:28
Юзай composer и не парься.
в legacy не всегда выходит

Dmitry
20.08.2017
17:52:59
в legacy не всегда выходит
не, тут не легаси, опыта ради практикуюсь во всяком

dypa
20.08.2017
17:53:18
я вот его и собираюсь юзать, свой код хочу в виде пакета оформить
так создай composer.json, пропиши в нем секцию autoload

Dmitry
20.08.2017
17:53:31
dypa
20.08.2017
17:54:16
это уже следующий этап))
этот этап позволит не писать свой загрузчик

Google
Dmitry
20.08.2017
17:56:10
этот этап позволит не писать свой загрузчик
как тогда без него обойтись в случае если у нас есть классы пакета и классы-наследники от них в другой директории (ну вот например когда пишешь с использованием любого фреймворка)

dypa
20.08.2017
17:56:10
чатик может покритикуете тогда https://github.com/dypa/declare-strict-types

f4rt~
20.08.2017
18:00:37
чатик может покритикуете тогда https://github.com/dypa/declare-strict-types
могу начать, в чем смысл? если я это могу сделать в ide ?

?
20.08.2017
18:01:11
Егор
20.08.2017
18:02:06
Проблема, ИМХО, в регулярках. Есть же nikic/php-parser, гораздо надёжнее.

?
20.08.2017
18:02:36
в шторме можно сделать, чтоб при создании любого php файла автоматом добавлялся declare(strict_types = 1);

f4rt~
20.08.2017
18:03:23
мало того там можно и настроить его отображение, мне например нравится что бы было на одной строчке с <?php

а тут нельзя

Егор
20.08.2017
18:03:27
@anonymous_class к сожалению, не все проекты на PHP 7

f4rt~
20.08.2017
18:04:34
крч вердикт, писалось абы что, лишь бы туда можно было применить стратегию, кода минимум, все на симфониевских компонентах, что ты просишь оценить?

там твоего кода от силы 80 строк

dypa
20.08.2017
18:05:09
могу начать, в чем смысл? если я это могу сделать в ide ?
fun, ide не у всех, простой поиск с заменой ломает вариант с несколькими пхп тегами в файле

f4rt~
20.08.2017
18:06:02
обрати внимание на говорящие названия тестов

https://github.com/dypa/declare-strict-types/blob/master/tests/AddTest.php#L39

ну короче хз

dypa
20.08.2017
18:07:07
Проблема, ИМХО, в регулярках. Есть же nikic/php-parser, гораздо надёжнее.
я пробовал сделать реализацию на tokenizer и его варианте от phpunit, к сожалению T_WHITESPACE захватывает более 1 симвооп

Егор
20.08.2017
18:07:46
Так nikic/php-parser уже готовая ООП обёртка

dypa
20.08.2017
18:08:17
Так nikic/php-parser уже готовая ООП обёртка
да я тебя уже понял, посмотрю

Андрей
20.08.2017
18:08:44
Допилить Add/Remove, в остальном пойдет :)

Google
Егор
20.08.2017
18:09:16
Ещё есть готовый фиксер в php-cs-fixer для этих целей.

dypa
20.08.2017
18:09:20
Так nikic/php-parser уже готовая ООП обёртка
https://packagist.org/packages/phpunit/php-token-stream тоже ооп обертка

f4rt~
20.08.2017
18:09:25
предложи лучшие названия ;)
сложно понять что ты в принципе делаешь в тестах

ну допустим что то вроде Test Should Retrieve PHPDoc Block

я бы эти тесты не показывал к документации

Admin
ERROR: S client not available

dypa
20.08.2017
18:10:25
странно что ни кто наследование в "стратегиях" ее увидел

f4rt~
20.08.2017
18:11:03
думаю никто серьезно это и не смотрел

dypa
20.08.2017
18:11:09
сложно понять что ты в принципе делаешь в тестах
для этого есть code review, глаз замыливается

f4rt~
20.08.2017
18:11:54
дело в том, что твоя штука делает выхлоп не совсем по PSR

ну и код написан так же

dypa
20.08.2017
18:18:41
ну и код написан так же
поясни что ты имеешь ввиду, code style проекта от symfony

f4rt~
20.08.2017
18:18:59
и на твой неймспейс

dypa
20.08.2017
18:21:14
и на твой неймспейс
давай закончи мысль

f4rt~
20.08.2017
18:21:22
это конец)

dypa
20.08.2017
18:21:47
я рад что ты понял сам себя, но я тебя не понимаю

f4rt~
20.08.2017
18:23:08
https://github.com/dypa/declare-strict-types/blob/master/src/Strategy/BaseStrategy.php#L5-L8

There MUST be one blank line after the namespace declaration, and there MUST be one blank line after the block of use declarations.

?
20.08.2017
18:25:00
странно что ни кто наследование в "стратегиях" ее увидел
Да, наследование зло. Я стараюсь его вообще избегать. В любых ситуациях. Еще вот тут: https://github.com/dypa/declare-strict-types/blob/master/src/FileSystemReplacer.php#L25-L32 можно писать так: $finder = (new Finder()) ->in($this->includeDirectories) ->exclude($this->excludeDirectories) ->files() ->followLinks() ->name('*.php') ->getIterator(); return $finder; Ну да ладно...

Google
f4rt~
20.08.2017
18:31:08
о это уже конструктивно
еще All PHP files MUST end with a single blank line.

ненавижу это требование

dypa
20.08.2017
18:32:09
@oneerror я cs fixer запустил уже

f4rt~
20.08.2017
18:32:14
умница

Виктор
20.08.2017
18:32:18
ненавижу это требование
Это не требование,а рекомендация

f4rt~
20.08.2017
18:32:28
Это не требование,а рекомендация
ой, спасибо что поправил

dypa
20.08.2017
18:38:09
Да, наследование зло. Я стараюсь его вообще избегать. В любых ситуациях. Еще вот тут: https://github.com/dypa/declare-strict-types/blob/master/src/FileSystemReplacer.php#L25-L32 можно писать так: $finder = (new Finder()) ->in($this->includeDirectories) ->exclude($this->excludeDirectories) ->files() ->followLinks() ->name('*.php') ->getIterator(); return $finder; Ну да ладно...
по мне - оба варианта равноценные, мой вариант позволяет проще комментировать или удалять (в истории vcs выглядит как удаление 1 строки кода). но в в любом случае это вкусовщина

Taras
20.08.2017
18:43:14
Всем привет! Кто подскажет по Telegram API: после нажатия пользователем на кнопку типа InlineKeyboardButton, в ответ пользователю можно сообщение отправить? Или такое действие (нажатие) можно обработать только методом answerCallbackQuery и максимум - вывести оповещение?

Taras
20.08.2017
19:08:47
можно конечно
Ок, в чем может быть здесь ошибка: https://pastebin.com/SGiR9XAn Оповещение по аналогичной схеме, но методом answerCallbackQuery отправляется без проблем

dypa
20.08.2017
19:09:10
Проблема, ИМХО, в регулярках. Есть же nikic/php-parser, гораздо надёжнее.
посмотрел nikic/php-parser - с им всё круто конечно, но... с ходу не нашел как его PrettyPrinter заставить не изменять форматирование исходного файла, в противном случае для некоторых вариантов кодовой базы я получаю умопомрачительный diff из-за смены code style я подумаю еще над tokenizer + регулярки только над T_OPEN_FILE, но с ним уж очень не приятно работать из-за наличия 2х видов token'ов (строки и массивы)

f4rt~
20.08.2017
19:09:23
тебе в sendmessage нужно в айдишник подставить $callback_query['message']['chat']['id'];

а не обычный ид

Taras
20.08.2017
19:22:32
@oneerror спасибо!

Страница 551 из 1387