@phpclubru

Страница 251 из 956
Roman
20.06.2017
16:53:06
$insert = $this->cram();

Dmitry
20.06.2017
16:53:12
на самом деле (array)$obj возвращает протектед и приватные свойства... но...

через жопу

посмотри вот этот пример http://php.net/manual/ru/function.get-object-vars.php#47075

Google
Roman
20.06.2017
16:53:45
через жопу
а у меня всё равно механизм сверки полей потом идёт. Он не пропустит то, чего нет в белом списке

Dmitry
20.06.2017
16:54:15
Public members: member_name Protected memebers: \0*\0member_name Private members: \0Class_name\0member_name

Roman
20.06.2017
16:54:32
от массива ничего не осталось))

Вот такого вида массив становится: Array ( [*table] => tickets [*id_ticket] => [*user_ap] => 1 [*user_ex] => [*id_type_ticket] => 3 [*title] => [*room] => 442 [*text] => ывпывпыв [*build_id] => 1 [*division_id] => 1 [*status] => 1 [*date_post] => 2017-06-20 19:55:09 [*error] => )

Dmitry
20.06.2017
16:56:00
Protected memebers: \0*\0member_name - просто \0 у тебя не печатаются

Зато сколько фана получаешь, пытаясь что-то подобное сохранить в тип text базы данныз postgresql....

Pavel
20.06.2017
16:56:35
http://php.net/manual/ru/reflectionclass.getproperties.php

Roman
20.06.2017
16:56:35
а почему звёздочки?

вот из-за них проблема

Dmitry
20.06.2017
16:56:47
а почему звёздочки?
так придумали авторы

$arr = array_map(function ($item) { return ltrim($item, "\0*"); }, (array)$object);

Google
sergey
20.06.2017
16:58:49
сериализация в строку + str_replace + возврат из серии

Dmitry
20.06.2017
16:59:49
не посадят, не волнуйся

Roman
20.06.2017
17:00:02
не посадят, не волнуйся
спасибо за помощь)

Dmitry
20.06.2017
17:00:16
но в общем это изврат ;)

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

Roman
20.06.2017
17:00:41
но в общем это изврат ;)
да, поэтому я просто впихну обычное сохранение свойств в массив

в методе cram()

Dmitry
20.06.2017
17:00:49
угу

или просто перечислением или return get_object_vars($this);

Roman
20.06.2017
17:12:44
не прокатило

это был самый первый вариант

или просто перечислением или return get_object_vars($this);
в качестве todo пока что так сделал



пусть и смешно, забавно, но без сюрпризов

Dmitry
20.06.2017
17:14:06
внутри объекта должно прокатить get_object_vars по идее

Pavel
20.06.2017
17:21:26
ну камон, алло

$reflect = new ReflectionClass($this); $props = $reflect->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED); return array_map('getName', $props);

Dmitry
20.06.2017
17:22:40
ну я бы не стал пользоваться рефлексией когда есть альтернатива

Pavel
20.06.2017
17:23:41
Задача решена абсолютли, чего еще хотеть?

Google
Dmitry
20.06.2017
17:24:36
ну ты проде имена полей дал только, без значений ;0

Pavel
20.06.2017
17:25:54
ааа

$reflect = new ReflectionClass($this); $props = $reflect->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED); $return = []; foreach ($props as $prop) { $return[$prop->getName()] = $prop->getValue(); } return $return;

Dmitry
20.06.2017
17:32:50
хм, есть три отсортированных массива разной длины, нужно получить итоговый массив, где элементы этих трех будут чередоваться... что-то в голову только тупая интерация по самому длинному с ручным заталкиванием в итоговый....

Слон Студио
20.06.2017
18:12:55
Подскажите как избавиться от скобок SUM(dZ0) , а то смарти ругаеться фатал еррор при попытке вывести через {foreach from=$list key=i item=c} {$c.SUM(dZ0)} {/foreach}

Dmitry
20.06.2017
18:14:21
в sql запросе SUM(dZ0) as mysum

sergey
20.06.2017
18:14:29
SUM(dZ0) as summa

Слон Студио
20.06.2017
18:22:30
Дошло как до жирафа) спасибо

Константин
20.06.2017
18:46:03
Всем привет! Кто может подсказать где можно взять готовую реализацию линейного раскроя? Язык особого значения не имеет, мне бы хоть подсмотреть, что бы не пилить свой велосипед.

Vadim
20.06.2017
19:56:36
Всем привет. А есть записи с devconf 2017 ? ?

Dmitry
20.06.2017
19:58:36
платные

Vadim
20.06.2017
20:00:19
На официиальном сайте?

Dmitry
20.06.2017
20:01:04
ну да, там был вроде билет на доступ к видео отдельный

Vadim
20.06.2017
20:01:34
ок, спс

Roman
21.06.2017
06:03:59
Доброе утро, ребята

Вопросик есть. Вот я например просто создал класс B, который расширяет класс A. У класса A объекты создаются с указанием токена $bot = new \TelegramBot\Api\Client($token); Можно ли как-то в классе B (который расширяет класс A) При создании объекта сразу указать токен уже в методе? class B extends \TelegramBot\Api\Client { } Это нужно что-то в конструкторе указать?

Серёга
21.06.2017
06:17:53
доброе, да

Roman
21.06.2017
06:20:00
доброе, да
это ответ на вопрос про конструктор?

Серёга
21.06.2017
06:20:15
да

Google
Roman
21.06.2017
06:56:13
class Aibel_Class_Bot extends \TelegramBot\Api\Client { function __construct() { parent::__construct(); $this = New \TelegramBot\Api\Client('f8asfu8asfu'); } }

да
что-то вот такое?

Roman
21.06.2017
07:09:47
неужели у тебя это работает?
не думаю, что будет

Серёга
21.06.2017
07:16:32
так, ты сам хочешь разобраться или медвежью услугу сразу?)

Roman
21.06.2017
07:22:15
я всегда сначала сам

это же приятнее

Admin
ERROR: S client not available

Roman
21.06.2017
07:22:36
Просто я понимаю, как можно изменить свойство.

Но... в момент создания объекта выполняется какой метод? Main. Я правильно полагаю?

main()

И вроде бы... в расширенном классе A я должен описать ещё раз метод main(), чтобы уже впихнуть готовый токен.

Серёга
21.06.2017
07:25:10
ты, что на си недавно писал?)))))

ну, как разобрался?

Roman
21.06.2017
08:51:24
ну, как разобрался?
да, я использовал старый способ.

У меня всё равно в системе есть константы, данные в которые загружаются из бд

Серёга
21.06.2017
08:52:04
Roman
21.06.2017
08:52:14
так что по сути везде просто указываю New A(CONSTANT_TOKEN)

дай посмотреть
скринами кину?

Google
Roman
21.06.2017
08:52:34
Мне так проще будет

Серёга
21.06.2017
08:52:40
ок

Roman
21.06.2017
08:53:32
Ничего не дописывал в класс. Просто тупо расширил (сделал копию по сути)

Серёга
21.06.2017
08:54:27
и в классе ты делаешь $this=new A(const); ?

Roman
21.06.2017
08:54:39
Нееее

вот же он

я решил так не делать

я стараюсь не применять то, в чём нет 100% уверенности.

Я поэтому и консультируюсь тут с вами, чтобы где-то уверенности добавить.

и в классе ты делаешь $this=new A(const); ?
это вроде выглядит нормально, но всё равно дико. Записывать в экземпляр новый объект

это я кинул уже код в контроллере, не в классе

и в классе ты делаешь $this=new A(const); ?
сейчас я думаю над другим. У меня есть класс Ticket, и там структура одной заявки. То есть её данные и так далее, но одной. А мне ещё часто надо будет работать с множеством заявок (списко всех заявок например выводить). Это уже должен быть массив заявок. И для него отдельный класс Tickets делать. Но вот можно ли будет использовать в качестве свойства объект. То есть свойством "ticket" объекта класса Tickets я хочу сделать объект класса Ticket

Серёга
21.06.2017
09:02:01
можно, это композиция

Roman
21.06.2017
09:02:35
protected $ticket = Aibel_Class_Ticket(); Это же валидная запись?

Лучшая помощь - это помощь, позволяющая разобраться самому

Подсказал термин и уже есть куда гуглить

Roman
21.06.2017
09:05:21
$this->db->executeOne($sql); По сути здесь же вызов свойства db объекта $this где db в свою очередь является объектом и имеет свой метод executeOne?

Серёга
21.06.2017
09:05:29
мало того, что ошибку выдаст, так еще и функцию кидаешь, а не класс

Страница 251 из 956