@prophp7

Страница 1215 из 1387
Гена
30.07.2018
21:41:45
В общем да, короткий синтаксис не по стандарту пср, но он применим в простых ситуациях и очень хорошо читается теми кто хотя бы знает что это такое.

Но если ты хочешь совсем коротко, то: $flag && print(123);
Echo тоже можно как функцию использовать echo(123)

Sergey
30.07.2018
21:43:06
Echo тоже можно как функцию использовать echo(123)
это не как функцию, это просто скобки

ну мол как 2+(1+3)

Google
Гена
30.07.2018
21:43:29
Нет

Роман
30.07.2018
21:43:40
Точнее еррор будет.

Гена
30.07.2018
21:43:54
Хм, лично читал лет пять назад

Роман
30.07.2018
21:44:00
Нет
Я только что попробовал.

Гена
30.07.2018
21:44:41
Сейчас проверю на своих версиях

Sergey
30.07.2018
21:44:41
echo !$post ? "" : $post->title
там скорее нул будет

$post ? $post->title : null

Роман
30.07.2018
21:45:00
PHP Parse error: syntax error, unexpected 'echo' (T_ECHO) in

Sergey
30.07.2018
21:45:13
PHP Parse error: syntax error, unexpected 'echo' (T_ECHO) in
любопытно посмотреть на то как ты тестил)

php -r 'echo (123);'

но опять же

это не "вызов функции" и не "как функция" - это просто выражение в скобках в качестве аргумента для оператора

Google
Роман
30.07.2018
21:46:01
Sergey
30.07.2018
21:46:21
Я про такой вариант.
а такой да - будет ошибка

Гена
30.07.2018
21:46:47
void echo ( string $arg1 [, string $... ] ) Выводит все аргументы. Символ конца строки не добавляется. На самом деле, echo - это не функция (это языковая конструкция), поэтому заключать аргументы в скобки необязательно. echo (в отличие от других языковых конструкций) не ведет себя как функция, поэтому не всегда может быть использована в контексте функции. Вдобавок, если вы хотите передать более одного аргумента в echo, эти аргументы нельзя заключать в скобки.

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

Maksim
30.07.2018
21:47:12
фига у вас тут ночь открытий

Sergey
30.07.2018
21:47:41
тип того, скоро люди откроют для себя php.net и узнают как много веселых вещей можно делать в php)

Maksim
30.07.2018
21:47:44
дух граспа витает в воздухе)

Combot
30.07.2018
21:47:51
Роман (0) увеличил репутацию Sergey Protko (1)

Sergey
30.07.2018
21:47:56
(а если они еще и выучат нормальный язык то узнают сколько всего нельзя делать в php)

Evgeniy
30.07.2018
21:47:57
например таблицу не строгих сравнений

[Anonymous]
30.07.2018
21:48:10
$post ? $post->title : null
посколько пхп шаблонизатор а не язык программирования, можно было бы обойтись без нул для шаблонов ) И так ясно что так текст должен быть

Maksim
30.07.2018
21:48:16
(а если они еще и выучат нормальный язык то узнают сколько всего нельзя делать в php)
пошли в го чатик) там рест и микросервисы) всё как ты любишь)

Sergey
30.07.2018
21:48:23
например таблицу не строгих сравнений
тебе не нужно изучать таблицу нестрогий сравнений если ты всегда будешь юзать строгие)

Evgeniy
30.07.2018
21:48:41
Maksim
30.07.2018
21:48:42
уж забыл когда в последний раз нестрогое сравнение юзал...

Evgeniy
30.07.2018
21:49:37
кстате кто хочет посмотреть мою либу по di и халявный code review устроить ?)

Google
Sergey
30.07.2018
21:49:37
касты типов называется, никакого отношения не имеет к "шаблонам"

[Anonymous]
30.07.2018
21:49:53
(string) null
ну и зачем тогда его писать если по дефолту можно было бы нул получать

я всегда просто пишу и задумываюсь об этом

Evgeniy
30.07.2018
21:50:12
завтра)
хорошо я даже видео сделал, правда произношение гавно лень было )

Sergey
30.07.2018
21:50:42
ну и зачем тогда его писать если по дефолту можно было бы нул получать
php язык с кастами типов в рантайме. ты ничего нигде не пишешь. просто если у тебя нул и тебе норм заюзать в качестве значения пустую строку, то почему бы и нет

Егор
30.07.2018
21:50:55
[Anonymous]
30.07.2018
21:51:38
а что кстати 2 знака вопрос означают?

Evgeniy
30.07.2018
21:51:58
зачем свою либу? psr11 хоть соблюдает?
да, я начинал первую версию либы делать еще в 2014 году

до того как появился psr, container-interop и прочее

но с появлением container-interop я его заимлементил, а потом появился psr11 который по сути предложен(копирует) container-interop и его я тоже заимлементил как стал accepted

Роман
30.07.2018
21:54:25
а что кстати 2 знака вопрос означают?
http://php.net/manual/ru/migration70.new-features.php#migration70.new-features.null-coalesce-op

Evgeniy
30.07.2018
22:04:18
скинешь в чат, посмотреть интересно
https://github.com/smpl/mydi есть текстовая инструкция и видео с примерами, с кружкой чая посмотреть

Bohdan
30.07.2018
22:05:07
(а если они еще и выучат нормальный язык то узнают сколько всего нельзя делать в php)
тайпскрипт (относительно нормальный) неплохо ломает голову конструкциями вроде <K extends keyof T>

Evgeniy
30.07.2018
22:05:23
спс и тебе рад фитбеку буду

Google
Bohdan
30.07.2018
22:07:02
уже слегка понимаю, что тут происходит, но днем мозг чуть кипел

Sergey
30.07.2018
22:07:30
спс и тебе рад фитбеку буду
https://github.com/smpl/mydi/blob/master/src/Loader/Service.php

какой смысл тут экстендиться?)

Evgeniy
30.07.2018
22:08:02
какой смысл тут экстендиться?)
не хотел конструктор писать, хотя можно и без extend

но это либо писать конструктор (3 строки) или сделать например трейт и юзать его в Factory и Service, я думаю лучше лень преодолеть и консктрутор написать, но тогда дублирование кода и code climate его замечает вроде

Evgeniy
30.07.2018
22:13:12
какой смысл тут экстендиться?)
https://github.com/smpl/mydi/commit/296917adca80bde99368548b52809a91da601a8b

Sergey
30.07.2018
22:14:08
то есть у тебя сервис и фабрика это аналоги симфоневых прототип и шаред?

Evgeniy
30.07.2018
22:16:44
да, примерно но не совсем

и можно расширяться реализуя разные LoaderInterface

это один из первых способов расширения либы

Maksim
30.07.2018
22:21:56
https://github.com/smpl/mydi/blob/master/src/ContainerAwareTrait.php#L8 за что...)

Evgeniy
30.07.2018
22:23:33
https://github.com/smpl/mydi/blob/master/src/ContainerAwareTrait.php#L8 за что...)
ну это сервис locator для желлающих по олдскуле

Maksim
30.07.2018
22:23:54
да ну

зачем давать инструмент самоубийства)

Evgeniy
30.07.2018
22:24:46
у меня есть вот такой кейс https://github.com/smpl/mydi#%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D1%81-%D1%84%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA%D0%BE%D0%BC-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-slimframework

когда вкорячиваю свой di вместо тех что во фреймворке

Maksim
30.07.2018
22:25:45
конструктор чем не подходит?

Google
Evgeniy
30.07.2018
22:26:21
и чтобы неписать что то типо такова https://pastebin.com/2aX5RhGE

в конфигах, мне нужен ContainerAwareInterface в провайдерах, ну и заодно вдруг кто хочет инструмент самоубийства

Maksim
30.07.2018
22:27:29
ну хз) мне сие кажется ввесьма странной затеей

Evgeniy
30.07.2018
22:27:58
конструктор чем не подходит?
на момент создания провайдера не существует container, потому что container как бы имутабельный (на самом деле нет) но он не изменяет стейт после создания

и тут или было делать возможность добавлять провайдеры прямо в контейнер по одному

или вот такую штуку

Maksim
30.07.2018
22:28:49
а в рантайме мне в твой слим что-то помешает контейнер любой подкинуть?

Evgeniy
30.07.2018
22:29:10
в той же симфони ContaienrAwareInterface есть, но все знают что его лучше не юзать )

Maksim
30.07.2018
22:29:37
знать и не юзать - разные вещи)

Evgeniy
30.07.2018
22:30:30
а в рантайме мне в твой слим что-то помешает контейнер любой подкинуть?
допустим оригинальный контейнер слима(pimple) возвращает что объект который создает на основе параметров

мы хотим его обернуть и чтобы при изменение параметра у нас в конфиге использовался он

но если мы оригинальные методы get не проксируем на мой container то pimple создаст объект с теми параметрами что указаны в pimple

Maksim
30.07.2018
22:31:50
мне ещё глаз режет отсутствие return declaration в некоторых местах. своих бы убил за такое :(

Maksim
30.07.2018
22:32:47
например
https://github.com/smpl/mydi/blob/master/src/Provider/DynamicFile.php#L18 ну прям сходу. mixed - это круто, но там явно будет объект

если версия пхп не позволяет, хоть аннотацией опиши

Evgeniy
30.07.2018
22:33:38
если версия пхп не позволяет, хоть аннотацией опиши
https://github.com/smpl/mydi/blob/master/src/ProviderInterface.php#L10

не вижу смысла дублировать то что описано в интерфейсе

Maksim
30.07.2018
22:34:08
и толку от микшеда?)

чё я, как пользователь апи, должен с него понять?)

Evgeniy
30.07.2018
22:34:20
потому что там может быть что угодно

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