@prophp7

Страница 299 из 1387
Roman
22.03.2017
14:33:51
$user = $prophet->prophesize('User');

у класса User есть два метода

$user->getRating()->willReturn(2);

первый мокаю так

Google
Roman
22.03.2017
14:33:51
все ок

но как замокать второй метод класса User

getStatus(\JsonResponce $responce)

один метод допустим обращается к сервису какому нить

Vadim
22.03.2017
14:47:54
зазубренная дока помогает пулреквесты по-диагонали смотреть например :)

/
22.03.2017
14:47:59
использую use ABC; class Test extends Entity{ } напомните как наследовать еще ABC не используя use

Vadim
22.03.2017
14:48:01
да еще и багули в них находить

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

Ivan
22.03.2017
14:51:47
наследовать? никак

Vadim
22.03.2017
14:52:54
ну, можешь навертеть цепочку из промежуточных классов и наследовать все по очереди, только зачем

/
22.03.2017
14:54:36
Vadim
22.03.2017
14:55:01
в пшп нет множественного наследования, если ты про это

Ivan
22.03.2017
14:55:03
что как

Google
/
22.03.2017
14:56:48
что как
наследовать

Oleksii
22.03.2017
14:56:51
можно трейты наклепать

/
22.03.2017
14:57:03
Vadim
22.03.2017
14:57:43
ну опять же, только зачем клепать трейты, только чтобы подохнуть потом?

/
22.03.2017
15:06:41
Vadim
22.03.2017
15:07:42
расскажи вообще что хочешь сделать

и что значит call вызвать и погнать

/
22.03.2017
15:11:18
расскажи вообще что хочешь сделать
использую use ABC; class Test extends Entity{ public function __construct(array $data =[]) { ABC::request(); parent::__construct($data); } } но без use

и что значит call вызвать и погнать
ну для методов, если нет в классе, ищет в родительском

Vadim
22.03.2017
15:13:15
\ABC::request();? смотря какой неймспейс

но красивше с use ведь

/
22.03.2017
15:14:02
\ABC::request();? смотря какой неймспейс
так я в курсе, мне так не нравится, вот хочу ухнать как по другому

Vadim
22.03.2017
15:15:03
либо я не понимаю, либо ты хочешь либо плохого, либо того, чего не понимаешь, напиши подобие кода, как ты хочешь чтобы работало

/
22.03.2017
15:17:11
использую use ABC; class Test extends Entity{ public function __construct(array $data =[]) { ABC::request(); parent::__construct($data); } } но без use
в трейтах так trait ABC { use ABC; } class Test extends Entity { use ABC; public function __construct(array $data =[]) { ABC::request(); //пишет метод не найден parent::__construct($data); } }

использую use ABC; class Test extends Entity{ } напомните как наследовать еще ABC не используя use
использую пока с use. потом будет править если вспомним

Alexander
22.03.2017
16:39:18
в трейтах так trait ABC { use ABC; } class Test extends Entity { use ABC; public function __construct(array $data =[]) { ABC::request(); //пишет метод не найден parent::__construct($data); } }
Use внутри класса - это подгрузка трейта, на область видимости оно вроде же не влияет, если в трейте есть статический метод request, то его вызываем так self::request() или static::request Если я правильно понял, о чем речь:)

Google
Alexander
22.03.2017
16:50:13
а как сделать чтоб подключаемый класс в трейте не наслеовал найм спецс трейта?
Не понял , "подключаемый класс в трейте", что имеется в виду?

/
22.03.2017
16:51:35
Не понял , "подключаемый класс в трейте", что имеется в виду?
Fatal error: Trait 'и тут два неймспейса\ABC' not found

Alexander
22.03.2017
16:52:21
В файле трейта namespace указан?

/
22.03.2017
16:53:22
В файле трейта namespace указан?
да, и через use В трейте подключаю класс, и получается неймспейс и неймспецс от класса

Alexander
22.03.2017
16:54:04
Классы через use подключать нельзя, только трейта

Трейты

/
22.03.2017
16:56:07
namespace Entities; trait ABC { use Api\Entities\MyClass; } class Test extends Entity { use ABC; }

Alexander
22.03.2017
16:57:30
Use в трейте , думаю, нужно сразу после namespace указывать

namespace Entities; use Api\Entities\MyClass; trait ABC { } class Test extends Entity { use ABC; }

Dmitriy
22.03.2017
16:59:21
Какие-то костыли, не что бы побороть себя и юзать \ABC::request(); или use без трейта

Alexander
22.03.2017
16:59:27
use Api\Entities\MyClass; - если это класс, то его нельзя подключать как трейт

/
22.03.2017
16:59:31
namespace Entities; use Api\Entities\MyClass; trait ABC { } class Test extends Entity { use ABC; }
а зачем мне тогда трейт, если я через use подключу свой класс

/
22.03.2017
17:00:07
все я пошел гялть с собакой,

Артур
22.03.2017
17:00:22
Трейты подключаются через use, а в трейтах самих подключать вряд ли что-то можно таким образом

Alexander
22.03.2017
17:00:25
а зачем мне тогда трейт, если я через use подключу свой класс
Это не подключение класса, а , грубо говоря, указание его расположения

Артур
22.03.2017
17:00:34
хотя логично было бы, если б можно было бы, но я не проверял и доки не читал оп этому поводу

Alexander
22.03.2017
17:01:28
А трейты нужны, для "имитации" множественного наследования и повторного использования кода

Oleksii
22.03.2017
17:01:40
трейты не для подключения класса реализованы. Они для использования кода. Это как бы костыльное решение множественного наследования.

Google
/
22.03.2017
17:02:10
но я могу use и все, тот же ко

Артур
22.03.2017
17:02:20
вопрос в организации кода просто

/
22.03.2017
17:02:26
да

Артур
22.03.2017
17:02:34
вообще можно и без ООП обойтись, раз на то пошло)

и без неймспейсов

и кодить на уровне 5.2

просто ООП и неймспейсы - реально удобная и важная вещь, а трейты нужны раз в год

Alexander
22.03.2017
17:03:11
но я могу use и все, тот же ко
Нет, use и use для трейтов - разные вещи

Admin
ERROR: S client not available

Alexander
22.03.2017
17:03:45
Они вообще лишние эти трейты

Артур
22.03.2017
17:03:49
Ну трейт просто так и не заюзается

Они вообще лишние эти трейты
один раз пригодилось мне, могу кейс рассказать)

Alexander
22.03.2017
17:12:01
трейты очень удобны для того, чтобы использовать в функциях, которые не изменяются, но могут потребоваться при работе с классом. Так например я создавал трейт Translatable, чтобы подтягивать нужные связи из бд, в котором было 2 метода getTranslationModel и getTranslation Либо трейты используются для работы с парсерами, где удобно логику разбора отдельных частей выносить в отдельные методы, которые могут быть использованы в различных местах

А по поводу use - их просто 2, видимо поэтому они и вызывают затруднения, какой и где использовать :)

Альберт
22.03.2017
17:16:35
namespace Entities; trait ABC { use Api\Entities\MyClass; } class Test extends Entity { use ABC; }
Ты хочешь один трейт расширить другим трейтом? Зачем use в трейте пишешь? Сам трейт можно расширять через extends, а не use

Stanislav
22.03.2017
17:40:36
Кто делал экспорт из экселя, делал выборку и подходящие записи выводил в форме таблицы? Может есть какие нибудь лайфхаки или советы?

Артур
22.03.2017
17:43:30
как-то раз была статья на хабре, в которой ребята заморочились, и у них PHP открывал на виндовом компе прям инстанс excel и там работал с данными

Stanislav
22.03.2017
17:45:15
Даа, как нибудь файл закешировать бы

Артур
22.03.2017
17:59:43
ну либой распарсить, там наверняка в каком-нибудь поле будут данные, его серализовать и положить куда-нибудь

Google
Yuri
22.03.2017
22:15:09
Кто делал экспорт из экселя, делал выборку и подходящие записи выводил в форме таблицы? Может есть какие нибудь лайфхаки или советы?
лайфхак №1 - не используй пхп, лайфхак №2 - если уже взял phpexcel то правило №1 не читать весь файл, а начинать с нужной тебе строки https://habrahabr.ru/post/148203/ ибо по памяти п*здец может быстро нагрянуть ?

(;¬_¬)
22.03.2017
22:18:32
ну для себя-то я уже решил это дело. я просто с помощью другого пакета распарсил...

Vladimir
22.03.2017
22:19:00
/link@yetanotherstatsbot

Yet Another Stats
22.03.2017
22:19:01
https://yasb.exileed.com/telegram/chat/1001042383571

Yuri
22.03.2017
22:22:12
средставами пхп я решал это с помощью фонового воркера

Sergey
23.03.2017
05:16:57
если только чтение из excel то box/spout

использует генераторы, память не кушает, работает быстро

Nurik
23.03.2017
07:10:24
как-то раз была статья на хабре, в которой ребята заморочились, и у них PHP открывал на виндовом компе прям инстанс excel и там работал с данными
Это лучший способ работать с большыми файлами. Через COM. + еще с xlsb вроде ни одна либа работать не умеет, а это решает, когда у тебя таблицы по 600 метров каждая.

Ребят посоветуйте литературу по паралелльному программированию и распределенным системам.

Oleksii
23.03.2017
07:29:19
ты явно чатиком ошибся)) Веб бояре не интересуются такии вопросами)

Dmitriy
23.03.2017
07:51:31
Джумала еще!

$iD
23.03.2017
07:52:19
и друпал 5 версии

Dmitriy
23.03.2017
07:54:59
это уже сеньоры

Ivan
23.03.2017
07:58:04
а еще опенКарт

и 1С

и Битрикс

Denis
23.03.2017
07:58:43
и Битрикс
битрикс-сеньоры)

Ivan
23.03.2017
07:58:45
что там еще из страшного есть?

магнето

или как он там

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