
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 + возврат из серии

Roman
20.06.2017
16:59:12

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
не прокатило
это был самый первый вариант
пусть и смешно, забавно, но без сюрпризов

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
хм, есть три отсортированных массива разной длины, нужно получить итоговый массив, где элементы этих трех будут чередоваться... что-то в голову только тупая интерация по самому длинному с ручным заталкиванием в итоговый....

dypa
20.06.2017
17:44:48

Слон Студио
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');
}
}

Серёга
21.06.2017
07:09:31

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);
?
сейчас я думаю над другим. У меня есть класс Ticket, и там структура одной заявки. То есть её данные и так далее, но одной.
А мне ещё часто надо будет работать с множеством заявок (списко всех заявок например выводить). Это уже должен быть массив заявок. И для него отдельный класс Tickets делать. Но вот можно ли будет использовать в качестве свойства объект. То есть свойством "ticket" объекта класса Tickets я хочу сделать объект класса Ticket

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

Roman
21.06.2017
09:02:35
protected $ticket = Aibel_Class_Ticket(); Это же валидная запись?
Лучшая помощь - это помощь, позволяющая разобраться самому
Подсказал термин и уже есть куда гуглить

Серёга
21.06.2017
09:05:02

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

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