These are chat archives for PHPixie/Hotline

23rd
Nov 2015
AntonovIgor
@AntonovIgor
Nov 23 2015 00:53
@dracony Здравствуйте! Никак не могу найти ваш email. Скажите, а можно с вами поговорить о создании PHPixie и оформить все в виде интервью? =) Пример интервью - http://iantonov.me/page/matreshkoj-po-vebu-intervju-s-razrabotchikom-frejmvorka-matreshkajs
Kostya
@KokaUA
Nov 23 2015 07:55
@AntonovIgor Думаю появится в сети, напишет почту. Кстати по теме http://5minphp.ru/episode13/ вот можете послушать.
Ivan
@Punk-UnDeaD
Nov 23 2015 08:02
Друпалисты захватили феячат
Kostya
@KokaUA
Nov 23 2015 08:20
@Punk-UnDeaD Это что плохо, главное что люди есть.
Ivan
@Punk-UnDeaD
Nov 23 2015 08:21
Разве я говорю, что плохо? Я сам друпалист.
Kostya
@KokaUA
Nov 23 2015 08:21
Это звучит как диагноз))
Ivan
@Punk-UnDeaD
Nov 23 2015 08:22
Как зависимость, я сижу на этой дряни более шести лет.
Kostya
@KokaUA
Nov 23 2015 08:23
Ну если столько сидишь, значить поставленные задачи выполняет.
Igor Cheledinov
@chilic
Nov 23 2015 09:54
@Punk-UnDeaD потому что в чате про друпал, нет разговоров связанных с друпал, да и с php тоже
Vadim Meling
@Linfuby
Nov 23 2015 09:59

@dracony Задача: При условии совпадения даты рождения в диапазон указанной даты +- количество дней (из поля count) добавить еще одно условие. Проблема в том, что при указании between значения не могут быть Expression так как strpos() принимает только строковые значения.
Ошибка: strpos() expects parameter 1 to be string, object given in \vendor\phpixie\orm\src\PHPixie\ORM\Conditions\Builder\Container.php:24

$this->query->andWhere(
                new Expression("DATE_FORMAT('" . $birthdayDate->format('Y-m-d') . "', '2000-%m-%d')")
                , 'between',
                new Expression(
                    "DATE_SUB(DATE_FORMAT('" . $actualDate->format(
                        'Y-m-d'
                    ) . "', '2000-%m-%d'), INTERVAL `count` DAY)"
                ),
                new Expression(
                    "DATE_ADD(DATE_FORMAT('" . $actualDate->format(
                        'Y-m-d'
                    ) . "', '2000-%m-%d'), INTERVAL `count` DAY)"
                )
            );

Решил пока добавлением магической функции в PHPixie\Database\Type\SQL\Expression

public function __toString(){
        return $this->sql;
    }
AntonovIgor
@AntonovIgor
Nov 23 2015 10:12
@KokaUA Спасибо! Сейчас послушаю.
Roman Tsiupa
@dracony
Nov 23 2015 10:33
@AntonovIgor конечно =) можем прям в чате, могу и почту скинуть =)
@Punk-UnDeaD Милости просим =)
@Linfuby понял. хм тут конечно трабла
можно туабез проблем поставить проверку на експрешн
но
проблема в том что таблички то в вложенных селектах и тд
Roman Tsiupa
@dracony
Nov 23 2015 10:39
так что можно легко накосячить используя там експрешны
с именами полей
хммммм
может сделать вот так:
->where('id', 'in', $database->selectQuery()->field('id')->where(....tvoj between...));
toest cherez IN i database query sdelatj?
Vadim Meling
@Linfuby
Nov 23 2015 10:50
Спасибо, сейчас попробую
Vadim Meling
@Linfuby
Nov 23 2015 10:55
Все получилось.
Roman Tsiupa
@dracony
Nov 23 2015 11:07
=)
Vadim Meling
@Linfuby
Nov 23 2015 12:01
@dracony А NestedSet еще долго ждать?
Roman Tsiupa
@dracony
Nov 23 2015 14:48
на работе пока работы много
я в пол пути где-то
тут просто у всех выходные к рождеству скоро
и все пилят по быстрому =\
Kostya
@KokaUA
Nov 23 2015 14:50
По после выходных разгребать что напилили))
Roman Tsiupa
@dracony
Nov 23 2015 14:55
)))
тут еще кароч истории с рекрутингом
они людей нанимают
и мы время от времени смотрим на код кандидатов
кароч мне их реально жалко
тут 90% девов меряются письками кто сильнее обосрет код который они прислали
вот я с утра холиворю что не надо доставать людей на тему что:
$a  = array(1, 2, 3, 4);
быстрее чем $a = array();
$a[0] = 1;
$a[1] = 2;
$a[2] = 3;
$a[3] = 4;
уж просто писец за такое цеплятся
Igor Cheledinov
@chilic
Nov 23 2015 14:59
$a = [1,2,3,4] не?
Vadim Meling
@Linfuby
Nov 23 2015 15:03

Можно и так написать...

$a = array();
for($i=1; $i<= 4; $i++){
    $a[] = $i;
}

Писать можно как угодно, результат будет один и тот же. Тут наверное просто "старички" решили поглумиться над молодняком.

Igor Cheledinov
@chilic
Nov 23 2015 15:04
дедовщина..
Roman Tsiupa
@dracony
Nov 23 2015 15:10
на самомделе там код
    $params = Array();
    $params['name'] = 'A name';
    $params['email'] = $email;
    $params['password'] = "A password";
    $params['country'] = 'A country';
    $params['timezone'] = 'A timezone';
Ivan
@Punk-UnDeaD
Nov 23 2015 15:13
ну можно поймать автора и спросить, что в этом коде не очень хорошо, и внимательно выслушать
а глумиться не стоит
Kostya
@KokaUA
Nov 23 2015 15:18
Ну учитывая что ты вторым написал, тут уже очень спорный вопрос. Строковые ключи присваивать в одну строку при инициализации массива, не самое удобное.
Конечно можно разбить на строки, с переносами по каждому ключу, но это уже на любителя. Это тоже что спорить на тему, поместить все это в объект, или передавать каждое поле как отдельный параметр.
Ivan
@Punk-UnDeaD
Nov 23 2015 15:19
6 присваиваний, 6 выделений памяти
Kostya
@KokaUA
Nov 23 2015 15:20
Одна длинная строка, больше шанс допустить ошибку...
Ivan
@Punk-UnDeaD
Nov 23 2015 15:20
а зачем в одну?
с переносами всё
Kostya
@KokaUA
Nov 23 2015 15:22
Удобней, но зачем тогда вообще переменная? Не проще сразу передать в функцию массив, не создавая переменную, которая просто сразу передасца в функцию без изминений.
Жаль на щет выделения памяти сказать нечего, особо этим не интересовался...
Ivan
@Punk-UnDeaD
Nov 23 2015 15:23
хороший вопрос, но тут контекста нет совсем
может это статик переменная инициализируется
Kostya
@KokaUA
Nov 23 2015 15:23
Ну судя по полям, это какая-то или форма что юзер отправляет, или что-то с бд о последнем...
Ладно я пока офф на часик, а вообще пезполезный спор)
Roman Tsiupa
@dracony
Nov 23 2015 16:54
Kstati po benchmarkam raznica 25% vsego to
No ideja v tom chto na takije veschi tochno pofig. Eto predpochtenija vsego to
Glavnaja problema chto kto to staralsja
A chitaja takije prydirki lichno ja b poshel v drugoje mesto rabotatj
AntonovIgor
@AntonovIgor
Nov 23 2015 23:15
@dracony Давайте лучше по почте :-)