These are chat archives for LaravelRUS/chat

26th
May 2014
Twent
@twent
May 26 2014 00:28
Что за пароль требует git при клонировании репозитория с pagodabox?
Twent
@twent
May 26 2014 00:43
Туплю. Ошибся в адресе репозитория
Alexander Zhuravlev
@SCIF
May 26 2014 03:24
Никто не морочился с работой с существительными в пыхе? Нужна либа делающая единственное число слова
Ну и именительный падеж чтобы делала. Вот такие вот простые задачи :D
Maxim
@Big-Shark
May 26 2014 03:26
Тебе нужно чтобы она сама это делала, или ты забивал за ранние все варианты склонений?
Ессно первое.
Но это блин только по ФИО :(
Maxim
@Big-Shark
May 26 2014 03:37
Я только ФИО видел, остальное еще не разу не встречалось, и я вообще не уверен что это возможно
Alexander Zhuravlev
@SCIF
May 26 2014 03:40
Ммм. Интересно
Thomas Anderson
@elvendor
May 26 2014 03:41
Всем привет!
Что-то с кеширование не разберусь без вас (
Alexander Zhuravlev
@SCIF
May 26 2014 03:46
@Big-Shark , я уже натыкался, но он «This webpage is not available»
Maxim
@Big-Shark
May 26 2014 03:46
там много ссылок
@bayram4ik спрашивай
Alexander Zhuravlev
@SCIF
May 26 2014 03:47
Угу, увидел снизу ещё варианты
Thomas Anderson
@elvendor
May 26 2014 03:47
Достаю к примеру я Eloquent'ом одну запись. Я не могу ее кешировать в виде объекта?
Maxim
@Big-Shark
May 26 2014 03:47
можешь
Alexander Zhuravlev
@SCIF
May 26 2014 03:47
@bayram4ik , тебе для последующих запросов?
Thomas Anderson
@elvendor
May 26 2014 03:47
только мемкеш и редис, верно?
да, дальше мне как бы все поля нужно просто вывести, а с датой некоторые манипуляции нужно произвести
Maxim
@Big-Shark
May 26 2014 03:48
нет, все что поддерживается ларавелем
Thomas Anderson
@elvendor
May 26 2014 03:49
а, там про теги написано, что файлы и база не поддерживают
Maxim
@Big-Shark
May 26 2014 03:50
ну это теги
Thomas Anderson
@elvendor
May 26 2014 03:50
так, сейчас я повторю то, что вчера дома делал, и отпишусь по ошибке
Andrey
@Quiss
May 26 2014 05:47
Всем привет, у меня вопрос, может есть какой-нибудь плагин или ещё что. Есть <table> в нем есть повторяющиеся данные, может, есть ли какой-то плагин для поиска дублей?
если есть то можно ссылку пожалуйста, если нет, то сам буду писать :)
Alexander Zhuravlev
@SCIF
May 26 2014 05:48
@Quiss , задай вопрос нормально :) А то как обычно бывает — телепаты в самый неподходящий момент упылили в отпуск :(
Речь про js? Jquery? Или php?
Andrey
@Quiss
May 26 2014 05:49
хм) я думал понятно написал)
да просто обычная табличка)
в html. А искать не важно на чем)
Orel
@2byte
May 26 2014 05:49
@Quiss а таблица заполняется из массива ?
Andrey
@Quiss
May 26 2014 05:50
<table>
    <tr>
        <td>1</td>
    </tr>
    <tr>
        <td>2</td>
    </tr>
    <tr>
        <td>1</td>
    </tr>
</table>
и не важно на чем) нужно найти дубли)
есть ли что-то похожее, может кто-то встречал?
Alexander Zhuravlev
@SCIF
May 26 2014 05:50
Ахренеть.
— На клиенте, на сервере?
— А мне без разницы
Orel
@2byte
May 26 2014 05:51
Ну тогда js, самому написать
Andrey
@Quiss
May 26 2014 05:51
@SCIF Правда не важно) просто варианты узнаю реализации)
@SCIF ТЫ гений))) смотрю на твой ник и вспоминаю уроки регулярных выражений) Спасибо. Решение найдено :)
Alexander Zhuravlev
@SCIF
May 26 2014 05:52
Нуу. Попробуй. Если данные всегда скалярные, то вполне.
Orel
@2byte
May 26 2014 11:33
Что я не так делаю, нужно обнаружить запрещенные символы
preg_match('|[^\<\>\%\\,{}()*]*|i', $value);` строка wikk<><> не видит не один из символов
Maxim
@Big-Shark
May 26 2014 11:34
Народ, кому каких пакетов не хватает для счастья?
Alexander Egorov
@Amegatron
May 26 2014 11:34
Да мне пока всего хватает, а ты решил найти идеи для своих новых пакетов? )
@2byte я вообще регулярки только опытным путем всегда подбираю, но мне кажется у тебя во-первых, лишние слэши, во-вторых по-моему должно быть наоборот, то есть лишний ^ в классе
Maxim
@Big-Shark
May 26 2014 11:37
@Amegatron типа того)
Orel
@2byte
May 26 2014 11:38
Означает что угодно кроме всех символов которые в квадратных скобках
Alexander Egorov
@Amegatron
May 26 2014 11:38
@Big-Shark я вот вообще планировал написать пакет для биллинга в робокассе, есть пока просто простые классы для работы с ней
но пока руки не доходят
Orel
@2byte
May 26 2014 11:42
if (preg_match('|['. preg_quote('<>%`,{}()*\'"') .']*|', 'QW')) {
            echo 'YES';
        }
пишет YES, как такое может быть
Alexander Egorov
@Amegatron
May 26 2014 11:43
А вообще я уже с @Butochnikov обсуждал, начинаю следить по-маленьку за пакалистом, то бишь за появляющимися новыми пакетами - буду отлавливать стоящие внимания и делать что-то вроде дайджестов. Вот такая идейка пришла мне :)
Maxim
@Big-Shark
May 26 2014 11:43
@Amegatron с робокасой не работал, но насколько я помню там вообще нет нормальной либы от них
Alexander Egorov
@Amegatron
May 26 2014 11:44
В том и дело, что нету - просто куски сырого кода на PHP, но я написал пока простенький вариант для себя, его вполне реально расширить и вывести в пакет
slider23
@slider23
May 26 2014 11:44
Да там и либа не нужна, разве что хелпер для сборки аутентификационной строки
Maxim
@Big-Shark
May 26 2014 11:44
@Amegatron я на гитхабе слежу за тем кто то лайкает, и если это новый интересный пакет, кидаю ссылку сюда)
Alexander Egorov
@Amegatron
May 26 2014 11:45
Ну прикольно, я буду собирать интересные пакеты
slider23
@slider23
May 26 2014 11:46
а что у нас, кстати, с комментированием ? Есть пакет под это дело ?
Alexander Egorov
@Amegatron
May 26 2014 11:46
Пока вот например нашел любопытный пакет для реализации покупательской корзины на сайте.
https://github.com/haskadavid/laravel-cart
Базируется на простом пакете для обычного PHP: https://github.com/moltin/cart
Из минусов - тяжко переопредялять Storage корзины под себя, в частности пока не понял, как научить его сторить корзину в базе
@slider23 я пока не задумывался над пакетом для комментариев, пока у меня это просто модели в приложении со связью
Maxim
@Big-Shark
May 26 2014 11:47
This message was deleted
Alexander Egorov
@Amegatron
May 26 2014 11:47
но надо подумать будт, реально ли такой функционал как-то обобщить и сделать гибгим, для произвольного сайта
Maxim
@Big-Shark
May 26 2014 11:48
@slider23 не встречал
Alexander Egorov
@Amegatron
May 26 2014 11:49
щас у меня голова плохо работает после напряженных выходных =) начал статейку писать, и то прервался
slider23
@slider23
May 26 2014 11:50
чтобы rest- и с клиентской частью на ангуляре или еще чем-то :)
Чтобы как с дискуссом, вставил <?= Comments::show() > и у тебя там древовидные комменты, с возможностью ответить, залайкать и прочими вещами
и все без перезагрузки страницы
норм такая задача, думаю, будет востребовано :)
Alexander Egorov
@Amegatron
May 26 2014 11:54
так а не проще просто дискусс вставить на сайте у себя?
или написать пакет под него, если еще таковых нет
или как вариант ВК-ншые комменты, я часто видел такую штуку
Для российских сайтов даже больше юзабельными будут
slider23
@slider23
May 26 2014 11:55
проще, но у дискуса и т.п. есть много минусов
во-первых, оно на js, а любой js тормозит
во-вторых конкретно у дискуса можно пойти и посмотреть, что этот пользователь писал на других сайтах. если нужна прайвиси пользователей, то это фейл
ну и индексация поисковиками
Alexander Egorov
@Amegatron
May 26 2014 11:57
ну а как насчет ВК=шных комментов? приходилось ковырять их?
slider23
@slider23
May 26 2014 11:58
не ковырял, но зарубежом, например, vk не распространен
ну и опять же js со всеми вытекающими
Alexander Egorov
@Amegatron
May 26 2014 11:58
ну это да, но я думал задача на русском сайте реализовать
а как без js-а ты собираешься эту интерактивность реализовывать?
slider23
@slider23
May 26 2014 11:59
вывод без js. а ввод уже на js. субьективно все будет летать
у js огромная проблема - субьективность восприятия человеком. Когда страница загрузилась, а что-то на ней - нет, то мозг это воспринимает как фейл.
"сайт тормозит"
а если он без js, то даже если страницы будут генериться по 2-3 секунды - "все ок"
Alexander Egorov
@Amegatron
May 26 2014 12:00
ну если сравнивать дискусс и ВК, то ВКшные комменты гораздо быстрее работают
slider23
@slider23
May 26 2014 12:00
да, потому что сервера в разных местах
зарубежом, подозреваю, дискус так же быстр как у нас вк
Шарк просто спросил, какой пакет может быть востребован - я предложил комменты. Тем более, что на laravel.su нам такое понадобится, например. :)
Alexander Egorov
@Amegatron
May 26 2014 12:02
мне просто пока ни разу не приходилось реализовывать такие задачи, как вывод древовидных структур и связи с разными сущностями, то есть как например коммент к статье, коммент еще к чему-нибудь другому
навскидку даже не знаю, как это сделать
slider23
@slider23
May 26 2014 12:05
Какие все-таки http://learninglaravel.net/ ммм.. нехорошие люди. Сначала зачем-то уперлись и не хотели менять юзерпик на твиттеровском акке - взяли ларавеловский официальный. Потом выдрали кусок из книги Макса Сургая и выдавали за свой в обучающем курсе своем. Теперь вот открывают чужие ссылки во фрейме: http://learninglaravel.net/creating-a-polling-application-using-angularjs-and-laravel-part-1
Все к одному
фу такими быть
Orel
@2byte
May 26 2014 12:08
Route :: controller('name', 'Controller');
по умолчанию будет вызван getIndex() ?
Alexander Egorov
@Amegatron
May 26 2014 12:09
да
Andrey
@Quiss
May 26 2014 12:15
Тут кто-нибудь битрикс хорошо знает? =)
Orel
@2byte
May 26 2014 12:21
А есть в модели что-то типа Model :: existsOrCreate() ?
Vadim Polh
@VadimPolh
May 26 2014 12:21
@Quiss я)
Alexander Egorov
@Amegatron
May 26 2014 12:21
$user = User::firstOrCreate(array('name' => 'John'));
Orel
@2byte
May 26 2014 12:22
@Amegatron спасибо
Если есть возвратит модель?
Хотя и после создания возвратит тоже
Alexander Egorov
@Amegatron
May 26 2014 12:23
в любом случае будет модель в $user
Orel
@2byte
May 26 2014 12:25
А по какому полю он будет брать first ?
По все чтоль
Alexander Egorov
@Amegatron
May 26 2014 12:26
по name
то, что укажешь в массиве

есть еще

$user = User::firstOrNew(array('name' => 'John'));

это тоже самое, только без записи в базу, если такой модели еще нет там

Orel
@2byte
May 26 2014 12:39
@Amegatron так у меня не один же name будет, значит по всем полям?
Alexander Egorov
@Amegatron
May 26 2014 12:40
у меня встречный вопрос, что ты имел ввиду под функцией existsOrCreate ?
как она должна проверять на существование объект? ведь по каким-то критериям? вот
Orel
@2byte
May 26 2014 12:40
Если существуетИЛИсоздать
Alexander Egorov
@Amegatron
May 26 2014 12:40
эти критерии ты и передаешь в массиве в firstOrNew
Orel
@2byte
May 26 2014 12:41
firstOrNew если нет вернут null ?
Alexander Egorov
@Amegatron
May 26 2014 12:41
нет
New, новый объект с заполненными полями, переданными в массиве
соотв-но остальные поля можешь дозаполнить и сделать save()
Corvus
@BlahBlag
May 26 2014 13:13
привет уебки
Vadim Polh
@VadimPolh
May 26 2014 13:18
@BlahBlag ОХОХОХО
Orel
@2byte
May 26 2014 14:35
А вместе с моими исключениями Exception подхватывает все ошибки кроме синтаксиса?
Alexander Zhuravlev
@SCIF
May 26 2014 14:39
Люди, кто какой oauth-модуль юзает для авторизации юзверей?
Alexander Zhuravlev
@SCIF
May 26 2014 14:44
@slider23 , ну это generic-реализация outh2, а есть всякие там штуки вроде https://github.com/Vinelab/social-auth . Никто это не юзал?
Orel
@2byte
May 26 2014 14:52
А как в дебаг свои исключения вставлять?
Alexander Egorov
@Amegatron
May 26 2014 15:35
@slider23 пока ехал домой все думал над пакетом для комментов, есть кое-какие мысли :) не знаю правда, как фронт-энд под англяром будет выглядеть, но обычный, например бутстраповский, можно сделать. Как небольшой хак: делать привязку коммента не к сущности какой-то конкретной, а к урлу, на котором эти комменты отображаются
slider23
@slider23
May 26 2014 15:38
вообще я не думал, что надо автоопределять сущность, сущность можно задавать - `<?=Comments::show('article.783');?>
Alexander Egorov
@Amegatron
May 26 2014 15:41
ну да, я просто как вариант говорю, ключ будет произвольный
я еще подумаю как древовидность лучше реализовать, навскидку у меня две мысли:
1) выгрести из базы все комменты по ключу, и уже в пхп "распихать" все комменты во вложенности к другим комментам, и вернуть соотв-но уже готовую коллекцию. Мне кажется это наиболее оптимальны вариант
2) либо при первом запросе выбрать комменты с нулевой вложенностью, и уже рекурсивно их обходить и вызывать у каждого коммента выборку его вложенных комментов. Это наверное торможной подход.
slider23
@slider23
May 26 2014 15:47
ну для древовидности уже есть велосипеды - nested sets, materialized path, adjacency list
Alexander Egorov
@Amegatron
May 26 2014 15:47
ну я просто никогда этого не делал, поэтому вот и придумываю велосипед :D
slider23
@slider23
May 26 2014 15:47
materialized path вроде для комментов был ок
Orel
@2byte
May 26 2014 15:49
А я left join делал и в кэш
Alexander Egorov
@Amegatron
May 26 2014 15:55
ну Nested set точно не подходит, а materialized path мне чета не нравится
slider23
@slider23
May 26 2014 15:57
на forge теперь можно деплоить не только к себе, но и на vps клиентов. и вести клиентскую базу: http://d.pr/i/CHqt/VlCeZKEi
Alexander Egorov
@Amegatron
May 26 2014 16:18
@slider23 ну я все к своему варианту склоняюсь больше, как тебе? (п.1 в деталях)
1) Сохраняя в базу коммент, запоминаем уровень вложенности (level)
2) Выгребаем из базы все комменты по ключу в том порядке, в каком они идут в базе. Соотв-но к моменту чтения очередного коммента, его родитель уже будет считан
3) Далее обходим полученную коллекцию по порядку, заполняя новый массив ($newArray), где каждый ключ - это id коммента:
а) каждый коммент просто добавляем в этот новый массив с ключом == его id ($newArray[$comment->id] = $comment)
б) если у этого коммента указан parent, то вызываем $newArray[$comment->parent]->addComment($comment)
4) Соотв-но получаем почти готовую древовидную структуру, за тем исключением, что перечисляя ее при отображении, игнорим элементы с level > 0, но при этом выводя каждый элемент, выводим его getComments() (при этом внутри getComments выполняется вызов getComments вложенных комментов)
slider23
@slider23
May 26 2014 16:23
т.е. created_at, то есть здесь - id, и parent_id.. ну вроде норм.
Alexander Egorov
@Amegatron
May 26 2014 16:26
думаю в течение недели как будет время, могу написать, с базовым бутстраповским видом, заодно разберусь, как в пакетах свои вьюхи делать и ассеты
Corvus
@BlahBlag
May 26 2014 17:29
привет придурки
VitaliiSestrenskyi
@VitaliiSestrenskyi
May 26 2014 18:43
@BlahBlag товарищ Вы какой то странный...
Corvus
@BlahBlag
May 26 2014 18:50
уже почти дописал фрейморк на паскале
скоро вылоэу
выложу
Corvus
@BlahBlag
May 26 2014 19:13
@VitaliiSestrenskiy у тебя проблемы? http://www.kovrov33.ru/gallery/data/media/26/datishnii.jpg
Corvus
@BlahBlag
May 26 2014 19:26
@mydigitalself hey
hello
how a u?
Twent
@twent
May 26 2014 22:14
Подскажите пожалуйста как сделать даты на русском? Сейчас отображается как 20 May 2014.
Alexander Zhuravlev
@SCIF
May 26 2014 22:39
@twent , getFormatLocalized() у объекта карбона и предварительно setlocale(). Кури их
Maxim
@Big-Shark
May 26 2014 22:45
@twent мы обычно str_replace юзаем) так как setlocale не дают нужных результатов(
Alexander Zhuravlev
@SCIF
May 26 2014 22:49
@Big-Shark , дают, но это требует настройки локали на сервере и чтобы сами локали назывались одинаково
Maxim
@Big-Shark
May 26 2014 22:51
@SCIF А такое они могут сделать "май 2014", "10 мая 2014" ?
Alexander Zhuravlev
@SCIF
May 26 2014 22:51
Нее, не могут :))
Поэтому нужно писать вообще класс-обёртку над карбоном
Maxim
@Big-Shark
May 26 2014 22:52
Угу, у меня была идея написать RuCarbon )
Alexander Zhuravlev
@SCIF
May 26 2014 22:52
https://github.com/artdarek/oauth-4-laravel вот выглядит вкусно для оаут
Maxim
@Big-Shark
May 26 2014 22:53
@SCIF норм либа)
Alexander Zhuravlev
@SCIF
May 26 2014 22:55
И ещё момент — в воркбенче нельзя ведь проводить регистрацию другого пакета? Только в composer.json сунуть зависимость
Maxim
@Big-Shark
May 26 2014 22:56
Угу
Alexander Zhuravlev
@SCIF
May 26 2014 23:13
@Big-Shark , вот ещё вариант — https://github.com/CodeSleeve/social
Alexander Zhuravlev
@SCIF
May 26 2014 23:19
Стэплер уходит от привязки к ларавелю.
Maxim
@Big-Shark
May 26 2014 23:19
Знаю)