@prophp7

Страница 640 из 1387
Fayozjon [CybernatiC]
25.09.2017
11:25:32
+1 member = 1111

Awesome

Konstantin
25.09.2017
15:21:07
Ребзя, как можно скопировать обьект класса (синглтон), если __clone public?

Немного чот затупил))

Google
Kirill
25.09.2017
15:25:25
да

поэтому синглтон имеет приватный клон

синглтон с открытым клоном - не синглтон ?

Konstantin
25.09.2017
15:26:10
нене, мне нужно понять как его скопировать)

тут дело не в патерне, а в понимании больше всего

Kirill
25.09.2017
15:26:30
тогда такой вопрос - зачем тебе его копировать?

тут конфликт понятий

не, на пхп можно с легкостью выстрелить себе в ногу и сожрать её, но лучше все же хотя бы пытаться писать хороший код хд

Konstantin
25.09.2017
15:35:16
http://php.net/manual/en/language.oop5.cloning.php
конструктор же приватный

Dmitry
25.09.2017
15:36:02
Копирование - это не создание, конструктор не исполняется

Kirill
25.09.2017
15:37:26
Копирование - это не создание, конструктор не исполняется
Используется __clone(), который тоже приватный у синглтона.

Ну а вообще: public function clone__force() { return clone self::$obj; }

Google
Kirill
25.09.2017
15:37:44
Но все же, задумайтесь, так ли оно нужно.

Dmitry
25.09.2017
15:37:51
Ну ты наверное читал вопрос, да? ;)

Konstantin
25.09.2017
15:39:25
нет, я это понимаю) мне просто нужно понять, как склонировать его, если у меня __clone публичный а конструктор приватный, это мне нужно только для себя, для понимая

не более

Sergey
25.09.2017
15:40:17
public function __clone() { $copy = new self(); }

даже если приватный конструктор - ты его из контекста того же класса вызываешь

Konstantin
25.09.2017
15:41:00
в не класса, я не смогу его склонировать?

Kirill
25.09.2017
15:41:09
нет

Konstantin
25.09.2017
15:41:26
все, теперь понятно, спасибо)

Kirill
25.09.2017
15:42:38
Могу ошибаться, но вот такая конструкция может сработать: trait ezcReflectionReturnInfo { public function __clone() { return clone self::$obj; } } abstract class SingletoneWrapper extends SingletoneEx { use ezcReflectionReturnInfo; }

Если а) $obj - protected б) тебе потребуется вызвать его один раз

Dmitry
25.09.2017
15:47:37
пффф.... $a = Foo::getInstance(); $b = clone $a;

Kirill
25.09.2017
15:48:03
Собственно, абсолютно верно: <?php class SingletoneEx { static $obj = null; protected $data; private function __construct() {} private function __clone() {} public static function get() { if (is_null(self::$obj)) self::$obj = new self(); return self::$obj; } public function setData($d) { $this->data = $d; } public function getData() { return $this->data; } } trait ezcReflectionReturnInfo { public function __clone() { return clone self::$obj; } } abstract class SingletoneWrapper extends SingletoneEx { use ezcReflectionReturnInfo; } # ------------------------------# $obj = SingletoneEx::get(); $obj->setData(333); $el = SingletoneWrapper::get(); echo $el->getData(); #=333

пффф.... $a = Foo::getInstance(); $b = clone $a;
Неа, если приватный клон - не даст скопировать.

Dmitry
25.09.2017
15:49:06
Ребзя, как можно скопировать обьект класса (синглтон), если __clone public?

Kirill
25.09.2017
15:49:51
Синглтон не может иметь такого метода /_-

Dmitry
25.09.2017
15:50:16
какого такого?

Kirill
25.09.2017
15:50:25
public __clone

Dmitry
25.09.2017
15:50:50
php сломается и перестанет работать? ;)

Google
Kirill
25.09.2017
15:50:51
Синглтон - это когда все аллоцирующие методы приватные.

Нет, сломается логика человека, который будет читать код :)

Dmitry
25.09.2017
15:52:04
а это уже другой вопрос, у кого-то сломается от публичного клона, а у кого-то - просто от Синглтона

Kirill
25.09.2017
15:52:37
Не, бесспорно, писать можно как угодно. Вопрос лишь в том, для кого этот код пишется. Увидел бы такое на кодревью - задал бы вопрос, а понимает ли товарисч, что вообще такое синглтон.

Dmitry
25.09.2017
15:53:39
синглтон - совсем не обязательно getInstance :)

Dmitry
25.09.2017
15:54:24
в DI контейнере тоже может сингтон быть как бы

Kirill
25.09.2017
15:54:44
В тч.

Denis
26.09.2017
05:21:18
Ребят, подскажите пожалуйста. Заказчик хочет инфрэопортал, при этом чтоб была интеграция с его как он говорит супер защищённой crm

Но самое главное, у него нет никакого при и он не даст дописать туда кода. Его профессионал разработчик из штата говорит чтоб я передавал данные через фреймы и никак иначе. Может я чего то не понимаю? Фреймы это же обычный хтмл

Апи*

Антон
26.09.2017
05:28:25
В супер защищённых только через флоппи дискеты можно данные передавать. Скажи ему

Denis
26.09.2017
05:31:40
О, точно

Антон
26.09.2017
05:33:55
Ну спроси у их разраба точный формат данных, пусть тебе разложит по полочкам если не хочет следовать популярным практикам

Скажи что ты не телепат, и хорошо бы получить примеры

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

ainu
26.09.2017
05:41:27
Возможно имеется в виду авторизация по явакскрипту (как ВКонтакте свои апи авторизует) - довольно защищенно, при этом у разработчиков доступа к ключам нет, к паролям нет, к ВКонтакту тоже нет.

Хотя если бы не разаботчик из Штатов, у меня тоже бы заиграл не то что звоночек, звонище: битрикс24 через фреймы делает модули для црм своей.

Dave
26.09.2017
06:00:18
я бы пеканул бы их обоих в анус.

и чувака и заказчика

Google
Dave
26.09.2017
06:00:34
за фреймы.

Sergo
26.09.2017
06:04:31
???

Fayozjon [CybernatiC]
26.09.2017
06:05:18
Привет ребят! В Yii2 есть $_FILES ?

кто нибудь знает Yii2 ?

При выводе говорит Array()

то есть пустой массив

хотя файл приходит

Sergo
26.09.2017
06:05:51
может слишком большой файл?

Fayozjon [CybernatiC]
26.09.2017
06:06:06
Sergo
26.09.2017
06:06:10
Я знаю, если в POST передать слишком много данных, то будет пустой массив

Fayozjon [CybernatiC]
26.09.2017
06:06:10
Благодарю

ainu
26.09.2017
06:12:49
Привет ребят! В Yii2 есть $_FILES ?
Попробую угадать. У формы не стоит аттрибут multipart/form-data?

Saško
26.09.2017
06:13:04
Ещё такое может быть, если enctype в форме не указать

Ыыыы

Saško
26.09.2017
06:30:01
Тогда попробовать мелкий файл отправить, пару килобайт

Sergo
26.09.2017
06:31:29
кстати, да )

Ещё такое может быть, если enctype в форме не указать

Fayozjon [CybernatiC]
26.09.2017
06:31:37
Спасибо

Google
Fayozjon [CybernatiC]
26.09.2017
06:31:49
Через форму норм

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