These are chat archives for LaravelRUS/chat

7th
Jul 2015
emissar
@emissar
Jul 07 2015 00:00
@sleeping-owl спасибо
emissar
@emissar
Jul 07 2015 00:10
@sleeping-owl а размеры фото image/images нельзя настроить?
Sleeping Owl
@sleeping-owl
Jul 07 2015 00:17
нет, там раньше во 2й версии использовался пакет intervention/image, но в 3й версии я от него отказался, поскольку не админки это задача о таких вещах заботиться, а все же логики приложения
Maxim
@Big-Shark
Jul 07 2015 02:02
This message was deleted
Maxim
@Big-Shark
Jul 07 2015 04:51
@vladimir-yuldashev да
emissar
@emissar
Jul 07 2015 06:16
привет
krashcool0537
@krashcool0537
Jul 07 2015 06:35
всем привет
krashcool0537
@krashcool0537
Jul 07 2015 06:41

привет ребят, подскажите пожалуйста по связям.
хочу получить все связанные картинке к статье,
есть 2 таблицы, posts и images
Структура таблиц:
Posts:

  • id (primary_key)
  • id_crm (unique) - связь по этому полю
  • name
    Images
  • id (primary_key)
  • id_crm (unique) - связь по этому полю
  • name

в моделе Post создал метод
public function images(){ return $this->hasMany('Image', 'id_crm'); }

в контроллере делаю следующее
$posts = Post::all();
$images = Performer::find(1)->images;

возвращает пустоту
Artur Gafurov
@assurrussa
Jul 07 2015 06:55
@krashcool0537 $this->hasMany('Image', 'id_crm', 'id_crm'); - не? - а лучше, еще раз прочти http://laravel.su/docs/5.0/eloquent#one-to-many
krashcool0537
@krashcool0537
Jul 07 2015 07:09
@assurrussa Да, подошло, упустил что 3-й параметр можно передавать... )) Спасибо большое
и еще у меня есть проблема с кешированием при разработке. вьюха кешируется слишком на долго, на изменения реагирует не сразу. Предполагаю что кеширование как-то отключается во вьюхах, но как точно, не нашел
tema-proximo
@tema-proximo
Jul 07 2015 07:31
Всем привет. Подскажите плиз, как можно реализовать, чтобы пользователя выкидывало из авторизации после 2 часов его неактивности
krashcool0537
@krashcool0537
Jul 07 2015 07:40
@tema-proximo что ты использовал для авторизации?
tema-proximo
@tema-proximo
Jul 07 2015 07:41
@krashcool0537 пока стандартная
Artur Gafurov
@assurrussa
Jul 07 2015 07:42
@tema-proximo в конфиге по умолчанию сессия стоит на 120 минут
tema-proximo
@tema-proximo
Jul 07 2015 07:45
@assurrussa 'lifetime' => 120, в конфиге сессий, это оно?
Artur Gafurov
@assurrussa
Jul 07 2015 07:46
да
krashcool0537
@krashcool0537
Jul 07 2015 07:48
Как решить трабл с кеширование views ? не реагирует на изменение в них
tema-proximo
@tema-proximo
Jul 07 2015 07:52
@assurrussa большое спасибо
Sergey Mihaylov
@smskin
Jul 07 2015 07:53
@tema-proximo либо увеличивать время сессии, либо использовать флаг remember
Всем привет
Vitalii Zagorodniuk
@xZ1mEFx
Jul 07 2015 08:30
Привет всем. Кто знает подскажите плз - у меня при простое на странице с логином истекает срок действия токена, каким образом это можно обойти, ведь как я понимаю его убирать с этой формы не желательно... Авторизация стандартная, L5
....просто не логично кидать пользователя на ошибку о истечении срока действия токена когда он просто хочет авторизоваться
Vitalii Zagorodniuk
@xZ1mEFx
Jul 07 2015 08:47
@krashcool0537 права на папку storage норм стоят?
@krashcool0537 пути в config/view не менял?
krashcool0537
@krashcool0537
Jul 07 2015 09:10
@xZ1mEFx на папку storage/views права 777, кеш туда пишется без проблем, но не обновляется долгое время, не понятно с чем связано
asvae
@asvae
Jul 07 2015 09:23
@xZ1mEFx пишешь в Exceptions/Handler
public function render($request, Exception $e)
    {
        if ($e instanceof TokenMismatchException) {
            return redirect()->back()->with('message', 'Please fill the form once more. Sequrity token expired.');
        }
        return parent::render($request, $e);
    }
Vitalii Zagorodniuk
@xZ1mEFx
Jul 07 2015 09:27
@Asvae Спасибо )
emissar
@emissar
Jul 07 2015 09:37

привет. Ребят, подскажите, пожалуйста - нужно получить список пользователей из всех городов, принадлежащих выбранному региону. Контроллер:

public function show($slug)
    {
        $data = Region::findBySlug($slug);
        if (!$data) {
            $data = City::findBySlug($slug);
            if (!$data) {
                abort(404);
            }
            else {
                $users = $data->users()->paginate(config('cfg.onpage'));
            }
        }
        else {
            $users = $data->cities->users()->paginate(config('cfg.onpage')); //не работает
        }

        return view('index', ['users' => $users]);
    }
Call to undefined method Illuminate\Database\Eloquent\Collection::users()

Модель Region:

public function cities()
    {
        return $this->hasMany('App\City');
    }

Модель City:

public function users()
    {
        return $this->belongsToMany('App\User');
    }

    public function region()
    {
        return $this->belongsTo('App\Region');
    }
Sergey Mihaylov
@smskin
Jul 07 2015 09:38
@emissar неймспейсы проверь для начала 'App\City'
emissar
@emissar
Jul 07 2015 09:39
@smskin
<?php namespace App\Http\Controllers;

use App\User;
use App\City;
use App\Region;
Sergey Mihaylov
@smskin
Jul 07 2015 09:41
странно выглядит конструкция $users = $data->cities->users()->paginate(config('cfg.onpage'));
emissar
@emissar
Jul 07 2015 09:41
Видимо, поэтому она и не работает)
Sergey Mihaylov
@smskin
Jul 07 2015 09:41
@emissar тьфу не заметил коммента )
@emissar а что за метод findBySlug?
Не могу его найти http://laravel.com/docs/5.1
finBySlug == where('slug', $slug)
Sergey Mihaylov
@smskin
Jul 07 2015 09:49
выведи дамп data перед $users = $data->cities->users()
меня смущает фраза в документации:
This is basically a wrapper for Post::where('slug-field','=','my-slug')->first(). If your slugs aren't unique, then use the getBySlug() method which will return an Eloquent collection.
Sergey Mihaylov
@smskin
Jul 07 2015 09:58
Если возвращается коллекция, то конструкция $data->cities->users() работать по идее не должна.
@emissar тебе нужно получить коллекцию с городами а потом уже собрать пользователей.
emissar
@emissar
Jul 07 2015 10:01
ниче не пойму
Sergey Mihaylov
@smskin
Jul 07 2015 10:01
связи применяется к итему а не к коллекции
emissar
@emissar
Jul 07 2015 10:01
да я не о том
 $data = City::where('slug', $slug);
            dd($data->first());
выполняется дольше 30 сек и валится по истечению времени
бред какой-то
Sergey Mihaylov
@smskin
Jul 07 2015 10:03
это что? dd($data->first());
Siarhei Bautrukevich
@bautrukevich
Jul 07 2015 10:03
Ребята, привет. На локале все работает хорошо, на продакшене я приложение запускаю на порту, к примеру http://ip_адрес:9090, и когда отправляю ajax-запрос он мне пишет, что Failed to load resource: the server responded with a status of 400 (Bad Request). Вопрос такой: проблема в том, что я это делаю на порт или в чем еще может быть дело? Как решить такую проблему?
Sergey Mihaylov
@smskin
Jul 07 2015 10:03
что у тебя в переменной $slug?
emissar
@emissar
Jul 07 2015 10:04
tula )
Sergey Mihaylov
@smskin
Jul 07 2015 10:04
@bautrukevich приведи пример route
@emissar индексируемое поле?
emissar
@emissar
Jul 07 2015 10:04
ага
Siarhei Bautrukevich
@bautrukevich
Jul 07 2015 10:04
@smskin Route::post('/applications', 'ApplicantsController@store');
Sergey Mihaylov
@smskin
Jul 07 2015 10:04
@emissar что за функция dd?
emissar
@emissar
Jul 07 2015 10:05
))
The dd function dumps the given variable and ends execution of the script:
Siarhei Bautrukevich
@bautrukevich
Jul 07 2015 10:05
@smskin вот сюда и отправляю запрос по нажатию на кнопку submit
emissar
@emissar
Jul 07 2015 10:05
die(print_r()); типа
Sergey Mihaylov
@smskin
Jul 07 2015 10:06
@bautrukevich xss защита активна? Включи debug, что пише в ответе то?
emissar
@emissar
Jul 07 2015 10:06
@jhaoda ты где там? Давай, пошли меня документацию читать))
Siarhei Bautrukevich
@bautrukevich
Jul 07 2015 10:06
я отправляю токен, с этим все ок
Sergey Mihaylov
@smskin
Jul 07 2015 10:07
@bautrukevich покажи скрин с телом ajax запроса например из chrome
точнее с заголовками ) @bautrukevich
@emissar маленько не понимаю, зачем ты так написал?
var_dump(City::where('slug', $slug)->first());
зачем странная конструкция?
emissar
@emissar
Jul 07 2015 10:10
это хелпер лары стандартный
Siarhei Bautrukevich
@bautrukevich
Jul 07 2015 10:12
@smskin а где я это могу глянуть?
Sergey Mihaylov
@smskin
Jul 07 2015 10:14
@emissar ну читай тогда логи, почему краш происходит. Чего то не хватает по ходу.
Спасибо за инфу по хелперу - не знал ))) У меня норм работает )
По сабжу:
dd - хелпер, преобразующий вывод var_dump, может там много слишком данных, что обваливается по таймауту ) Заюзай дефолтный var_dump
@bautrukevich дык google chrome, инструменты разработчика. Запускаешь запрос, он появится в network
@smskin только где заголовки посмотреть не знаю
Sergey Mihaylov
@smskin
Jul 07 2015 10:17
кликни на строку application (красную)
@bautrukevich появится несколько вкладок
Siarhei Bautrukevich
@bautrukevich
Jul 07 2015 10:17
@smskin все, вижу трабл! спасибо большое
Sergey Mihaylov
@smskin
Jul 07 2015 10:17
@bautrukevich ))
Siarhei Bautrukevich
@bautrukevich
Jul 07 2015 10:18
@smskin там в файл кое-что пишется, а я ему права на запись не дал, вот лох
Sergey Mihaylov
@smskin
Jul 07 2015 10:18
поставь себе плагин, удобно ajax запросы мониторить
https://github.com/barryvdh/laravel-debugbar
ну и вкусняшек много
@bautrukevich бывает )
Siarhei Bautrukevich
@bautrukevich
Jul 07 2015 10:18
@smskin спасибо за советы : )
emissar
@emissar
Jul 07 2015 10:21
Это $with в модели так тормозит все. Интересно, почему?
Sergey Mihaylov
@smskin
Jul 07 2015 10:38
@emissar на уровне sql запроса или при формировании выдачи?
@emissar поставь дебаг бар и глянь сколько sql запрос выполняется.
emissar
@emissar
Jul 07 2015 11:13
@greabock, ты же мастер кунг-фу отношений, подскажи(
JhaoDa
@jhaoda
Jul 07 2015 11:21
@emissar это не тебя надо посылать читать доки, а @smskin
emissar
@emissar
Jul 07 2015 11:21
@jhaoda это да, но проблема все же не решена
@jhaoda :point_up: 7 июля 2015 г., 12:37
Artur Gafurov
@assurrussa
Jul 07 2015 11:22
@emissar а в БД у тебя всё правильно сделано?
emissar
@emissar
Jul 07 2015 11:22
@assurrussa ага
Dinar Garipov
@garf
Jul 07 2015 11:23
Всем превед медвед :)
Roman
@TeroBlaZe
Jul 07 2015 11:24
кто-то с ангуляром, реактом или другими подобными вещами работал?
emissar
@emissar
Jul 07 2015 11:26
dd($data->first()->cities);
Alt text
Говорит, что в юзеры там есть, но как их достать то? Только перебирать что ли города получается и из каждого доставать?
Roman
@TeroBlaZe
Jul 07 2015 11:28
@emissar фууу извращенец
$data = Region::findBySlug($slug);
        if (!$data) {
            $data = City::findBySlug($slug);
            if (!$data) {
                abort(404);
            }
emissar
@emissar
Jul 07 2015 11:28
@TeroBlaZe предложи поинтереснее )
Artur Gafurov
@assurrussa
Jul 07 2015 11:28
$data->cities() - ну попробуй вернуть биндинг cities и построить дальше запрос
emissar
@emissar
Jul 07 2015 11:30
@assurrussa не понял..
Roman
@TeroBlaZe
Jul 07 2015 11:31
@emissar есть такие методы, как findOrFail и firstOrFail, и никакие убогие проверки ненужны типа того, что у тебя или каких-то еще count()
emissar
@emissar
Jul 07 2015 11:33
@TeroBlaZe ну давай, перепиши мой код с использованием этих методов ) Мне интересно, правда. Там ниже разные отношения еще идут, в зависимости от найденного результата, если что.
блин
Artur Gafurov
@assurrussa
Jul 07 2015 11:36
@emissar $comments = Post::find(1)->comments - вернет коллекцию.
$comments = Post::find(1)->comments()->where('title', '=', 'foo')->first(); - так можно добавлять условия для выборки
emissar
@emissar
Jul 07 2015 11:38
@assurrussa так а какое я условие туда добавлю? У меня в пивоте связи город-юзер. Я получаю коллекцию городов, в каждом из которых есть пользователя. Думал, что их разом можно достать оттуда, но, видимо, нет и придется перебирать каждый город
Sergey Mihaylov
@smskin
Jul 07 2015 11:38
@emissar тебе нужно получить коллекцию городов и через цикл ее прогнать
emissar
@emissar
Jul 07 2015 11:39
@smskin да лаааадно))
Sergey Mihaylov
@smskin
Jul 07 2015 11:40
попробуй кстати через такую связь
public function tags() {
return $this->belongsToMany('DBContextTags', 'articlesToTags', 'articles_id', 'tags_id');
}
@emissar Не помню, как у тебя модели называются )
связь для многие ко многим. Не прокатит у тебя?
Roman
@TeroBlaZe
Jul 07 2015 11:42
@emissar ну я бы написал так
public function show($slug)
{   
    try {
        $data = Region::whereSlug($slug)->firstOrFail();
        $users = $data->cities->users()->paginate(config('cfg.onpage'));
    } catch(ModelNotFoundException $e) {
        $data = City::whereSlug($slug)->firstOrFail();
        $users = $data->users()->paginate(config('cfg.onpage'));
    }
    return view('index', ['users' => $users]);
}
Sergey Mihaylov
@smskin
Jul 07 2015 11:44
@TeroBlaZe а такая связь разве работать будет? $data->cities->users() ?
@TeroBlaZe маленько не понимаю какой запрос сгенерируется?
Roman
@TeroBlaZe
Jul 07 2015 11:46
@smskin я только рефакторинг сделал на основе своего предложения, остальное не моя забота)
Sergey Mihaylov
@smskin
Jul 07 2015 11:46
@TeroBlaZe ааа ))) А я уже подумал, что я неудачник, у всех работает запрос, а у меня нет )))
@emissar если придумаешь, как выпонить запрос $data->cities->users(), напиши, а то я не понимаю, как ты хочешь без цикла запросить пользователей.
У тебя $data->cities() возвращается коллекция, имхо как ты хочешь работать и не должно.
регион -> города
город -> пользователи
Было бы регион -> город -> пользователи, то без проблем
Roman
@TeroBlaZe
Jul 07 2015 11:51
да в этой функции вообще всё странно, входные данные а ля "вот это слово" поищи ка мне везде.
Artur Gafurov
@assurrussa
Jul 07 2015 11:52
@smskin $data->cities() - этот запрос тебе даст биндинг, для того что бы дальше делать запрос, а не готовую коллекцию, $data->cities()->where('id','=','2')->first(). http://laravel.su/docs/5.0/eloquent#relationships
Dinar Garipov
@garf
Jul 07 2015 11:53
есть предложение, как организовать роуты ЧПУшные такого плана?
/kvartiry
/kvartiry/prodam
/prodam
/kvartiry/1komnatniye
/1komnatniye
/prodam/1komnatniye
Roman
@TeroBlaZe
Jul 07 2015 11:53
изначальный вопрос звучал так "нужно получить список пользователей из всех городов, принадлежащих выбранному региону. "
А нагорожено черт знает что
@gaaarfild зачем так делать? В поисковике давно не понижали?
Dinar Garipov
@garf
Jul 07 2015 11:54
@TeroBlaZe Так наоборот повышать надо.
Что здесь понижаемо?
Roman
@TeroBlaZe
Jul 07 2015 11:55
@gaaarfild за дублирующий контент ой как повысит, ага
Artur Gafurov
@assurrussa
Jul 07 2015 11:55
@gaaarfild ты хочешь что бы они дублировались:?
Dinar Garipov
@garf
Jul 07 2015 11:55
Это не дублирующий контент
Sergey Mihaylov
@smskin
Jul 07 2015 11:55
@TeroBlaZe он хочет REST, но не рест )
@gaaarfild уложи все в ресурсы, от говоной боли избавишься
@gaaarfild *головной
NelinD
@NelinD
Jul 07 2015 11:56
@gaaarfild меняй проблему
Dinar Garipov
@garf
Jul 07 2015 11:56
/kvartiry - все квартиры (продажа покупка)
/kvartiry/prodam - квартиры только продажа 
/prodam - вся недвижимость продажа
/kvartiry/1komnatniye - квартиры 1комнатные (продажа покупка)
/1komnatniye - 1 комнатная недвижимость продажа покупка
/prodam/1komnatniye - продажа однокомнатной недвижимости
Roman
@TeroBlaZe
Jul 07 2015 11:56
@smskin там буквы Ё не хватало в одном месте, а так слово правильное)
Dinar Garipov
@garf
Jul 07 2015 11:58
@NelinD Менять проблему на что? :) На пиво? :)
Так есть идеи? Кто-то делал что-то подобное?
Sergey Mihaylov
@smskin
Jul 07 2015 11:59
@gaaarfild либо продумывай REST, либо используй роуты в лоб:
Route::get(‘/kvartiry’,’KvartiryController@index’)
Route::get(‘/kvartiry/prodam’,’KvartiryController@sale')
Roman
@TeroBlaZe
Jul 07 2015 11:59
@gaaarfild да кому придет в голову такое :D
Sergey Mihaylov
@smskin
Jul 07 2015 12:00
@gaaarfild от транслита глаза режет...
LightAir
@LightAir
Jul 07 2015 12:00
Парни, привет. Подскажите как обойти роут? Нужно на прямую обращаться к php скрипту.
Очень долго через стандартный роутинг. Хотел поставить klein (крутой роутер https://github.com/chriso/klein.php/) но artisan перестаёт работать :(
Sergey Mihaylov
@smskin
Jul 07 2015 12:01
@LightAir жжжесть. Зачем? Ну хочешь напрямую, положи в папку public
LightAir
@LightAir
Jul 07 2015 12:01
@smskin а ты попробуй в паблик namespace прописать)
Dinar Garipov
@garf
Jul 07 2015 12:02
@TeroBlaZe Это придет в голову любому сеошнику, дружище.
@smskin А транслит - это указание яндекса. Не ко мне вопрос.
Sergey Mihaylov
@smskin
Jul 07 2015 12:03
@LightAir не используй laravel )
Зачем отходить от паттерна?
Roman
@TeroBlaZe
Jul 07 2015 12:03
@gaaarfild а любой адекватный программист покрутит у виска, но конечно, если надо, накостылит
Sergey Mihaylov
@smskin
Jul 07 2015 12:03
Напиши контроллер, напиши Route::get(’script’,’ScriptController@run')
@gaaarfild ок транслит - так транслит, реализуй REST интерфейс.
Например у меня /posts/1/comments очень все лаконично
LightAir
@LightAir
Jul 07 2015 12:06
@smskin снобизмом занимаешься?
Sergey Mihaylov
@smskin
Jul 07 2015 12:06
@LightAir не понял вопроса )
LightAir
@LightAir
Jul 07 2015 12:06
@smskin забудь)
Roman
@TeroBlaZe
Jul 07 2015 12:07
а как появятся не только 1 комнатные квартиры, лезть переписывать роуты и контроллеры))
Sergey Mihaylov
@smskin
Jul 07 2015 12:07
@TeroBlaZe я о том же
emissar
@emissar
Jul 07 2015 12:07
блин, а если их перебрать и сложить в коллекцию, то paginate() не работает же
Dinar Garipov
@garf
Jul 07 2015 12:07
@smskin Ты ведь мне сейчас ничего вообще не сказал )))
emissar
@emissar
Jul 07 2015 12:07
😦😥
Dinar Garipov
@garf
Jul 07 2015 12:08
И так же очевидно, что интерфейс рест
@smskin но суть в чем. /kv/pr и /pr - в первом случае на первом месте стоит параметр типа невдижимости. А во втором - сделка.
Sergey Mihaylov
@smskin
Jul 07 2015 12:09
@gaaarfild Вопрос: «есть предложение, как организовать роуты ЧПУшные такого плана:»
Ответ 1: Лучше так не надо делать, реализуй через REST
Ответ 2: Если хочешь устроить геморрой,
/kvartiry - все квартиры (продажа покупка)
/kvartiry/prodam - квартиры только продажа 
/prodam - вся недвижимость продажа
/kvartiry/1komnatniye - квартиры 1комнатные (продажа покупка)
/1komnatniye - 1 комнатная недвижимость продажа покупка
/prodam/1komnatniye - продажа однокомнатной недвижимости
@gaaarfild, не дописал )
Dinar Garipov
@garf
Jul 07 2015 12:09
@smskin Какой рест, объясни мне. Какой тут рест?
Напиши тогда вид урлов в твоем понимании REST
LightAir
@LightAir
Jul 07 2015 12:10
@gaaarfild роутишь в контроллер, контроллер цепляет роуты из базы.
@gaaarfild я так делал
Sergey Mihaylov
@smskin
Jul 07 2015 12:10
@gaaarfild
/sale/kvartiry/1komnatniye
Если прямой роут
Dinar Garipov
@garf
Jul 07 2015 12:11
@LightAir То есть, в итоге тоже руками все роуты прописывать?
@smskin Клево. А для попупки однокомнатной недвижимости (не только квартир)?
LightAir
@LightAir
Jul 07 2015 12:11
@gaaarfild не обязательно. Можно вообще регуляркой :smile:
Sergey Mihaylov
@smskin
Jul 07 2015 12:11
/sale/kvartiry?rooms=1
Dinar Garipov
@garf
Jul 07 2015 12:11
@LightAir Короче, смотрю смотрю я, без говнокода не обойдется )))
Sergey Mihaylov
@smskin
Jul 07 2015 12:12
@LightAir я же говорю, подумай, чтобы организовать )
@gaaarfild согласен, rest тут не организовать
Dinar Garipov
@garf
Jul 07 2015 12:12
@smskin Проблема в том, что тут не однозначной вложенности, которую ты пытаешься посоветовать.
Тут комбинация любая может быть :)
Sergey Mihaylov
@smskin
Jul 07 2015 12:13
@gaaarfild
/sale/kvartiry?rooms=1
/sale?rooms=1
/sale
@gaaarfild такие роуты не подойдут?
LightAir
@LightAir
Jul 07 2015 12:13
@smskin ужас а не роуты
WebtoolsWendland
@WebtoolsWendland
Jul 07 2015 12:14
Всем привет, посоветуйте пожалуйста книгу, на русском - по тестированию приложении на PHP (TDD).
Dinar Garipov
@garf
Jul 07 2015 12:14
@smskin Нет. Нужно именно ЧПУ
Sergey Mihaylov
@smskin
Jul 07 2015 12:14
@gaaarfild тогда можешь юзать фильтры rooms, floor и т.д.
Route::group(’sale’)…
Route::get(‘/‘)...
Route::get(‘/kvartiry’)...
@gaaarfild ну а иначе вообще костыли будут...
Dinar Garipov
@garf
Jul 07 2015 12:15
@smskin Ну вот и прихожу к тому, что тупо руками прописывать все придется. :(
Sergey Mihaylov
@smskin
Jul 07 2015 12:16
@gaaarfild по идее тебе достаточно 2 роута и 2 контроллера + Класс с фильтром.
Но тогда будут query string…
А тебе нужно ЧПУ без них…
Тогда руками только. Причем на каждый фильтр будешь писать руками
Dinar Garipov
@garf
Jul 07 2015 12:17
@smskin Да. Придется.
печаль беда сео
LightAir
@LightAir
Jul 07 2015 12:18
либо htaccess и регулярки опять же. Как в джумле)
Sergey Mihaylov
@smskin
Jul 07 2015 12:18
@LightAir дык а разницы нет. роуты в движке или htaccess
butschster
@butschster
Jul 07 2015 12:18
а что не kvartiry/type/odnokomnatmnaya ?
LightAir
@LightAir
Jul 07 2015 12:19
@smskin конечно нет, то ты php скриптом обрабатываешь а то средствами сервака.
Roman
@TeroBlaZe
Jul 07 2015 12:19
контент на странице должен быть уникальный. Все фильтрации, сортировки, они поисковикам не нужны, а пользователей только будет путать такие урл. Иерархия должна быть нисходящая и логичная
Sergey Mihaylov
@smskin
Jul 07 2015 12:19
/sale/kvartiry/odnokomnatmnaya
Route::get(‘/sale/(:any)/(:any)’,’Controller@index’)
Dinar Garipov
@garf
Jul 07 2015 12:20
@LightAir nginx ))
Sergey Mihaylov
@smskin
Jul 07 2015 12:20
@LightAir только вот роуты уже в 2х местах не улыбают….
LightAir
@LightAir
Jul 07 2015 12:20
@gaaarfild дак тоже самое. только конфиг а не htaccess
Dinar Garipov
@garf
Jul 07 2015 12:20
@butschster Парсить сегменты попарно?
@TeroBlaZe Она логичная но не нисходящая и не может быть таковой.
butschster
@butschster
Jul 07 2015 12:21
я бы делал так
создал в базе структуру
всех вариантов
или еще где
потом при запросе пробегался сегментами по структуре и искал совпадение
не думаю что структура будет большой
Sergey Mihaylov
@smskin
Jul 07 2015 12:22
@gaaarfild
/sale/kvartiry/odnokomnatmnaya
Route::get(‘/sale’,’Controller@index’)
Route::get(‘/sale/(:any)’,’Controller@index’)
Route::get(‘/sale/(:any)/(:any)’,’Controller@index’)
public function index($type,$rooms){}
butschster
@butschster
Jul 07 2015 12:22
и исходя из нее согласно указанным правилам выводил контент
Dinar Garipov
@garf
Jul 07 2015 12:23
@smskin
Тут больше подойдет Route::get(‘/(:any)/(:any)/(:any)’,’Controller@index’) :)
Sergey Mihaylov
@smskin
Jul 07 2015 12:23
@gaaarfild ага продажа, обмен и покупка - все в кучу. Поддержка будет вообще кайфовая
))
Dinar Garipov
@garf
Jul 07 2015 12:24
@smskin В том то и дело, что такое может быть.
Sergey Mihaylov
@smskin
Jul 07 2015 12:25
@gaaarfild а если реально, то можно сделать 2 таблицы с типами и количеством комнат и замутить middleware
Dinar Garipov
@garf
Jul 07 2015 12:25
@butschster Ну норм. Только еще учесть придется, что надо дополнительные параметры поиска делать. Такие как цена от и до, площадь от и до. Они могут как GET параметры идти. Просто должны быть посадочные страницы без детализации.
butschster
@butschster
Jul 07 2015 12:25
блин
ты мыслишь немного узко
Sergey Mihaylov
@smskin
Jul 07 2015 12:25
@gaaarfild дык а зачем такой универсальный роут?
Сделай хотя бы разделение по типам sale\buy, хотя бы логически разделишь
butschster
@butschster
Jul 07 2015 12:25
вообще вывод каталога лучше делать через AJAX
ты вывес список на страницу
потом фильттрами пощелкал и ушел запрос на сервер и вернул результат
LightAir
@LightAir
Jul 07 2015 12:26
@gaaarfild говорюж тащи с базы. Проблем меньше будет. Route::controller('...
butschster
@butschster
Jul 07 2015 12:26
а параметры фильтра хранить в хештеге
как вариант
Sergey Mihaylov
@smskin
Jul 07 2015 12:27
@LightAir дергать базу на каждый роут?
LightAir
@LightAir
Jul 07 2015 12:27
@smskin ага
Dinar Garipov
@garf
Jul 07 2015 12:27
@butschster Продвигать по поисковикам как? По хэштегам? :)
Надо же продвигать например по запросам 1 комнатные квартиры
продажа квартир
LightAir
@LightAir
Jul 07 2015 12:27
@smskin ты не знал что это быстрее чем дёргать файлы?
Dinar Garipov
@garf
Jul 07 2015 12:27
и т.п.
Sergey Mihaylov
@smskin
Jul 07 2015 12:28
@LightAir в принципе согласен, можно закешировать результаты в мемкэш, чтобы не дергать по 100 раз.
@LightAir Только вот будет ли это удобно…
LightAir
@LightAir
Jul 07 2015 12:29
@smskin можно и в redis скинуть. Вообще всё летать будет.
Sergey Mihaylov
@smskin
Jul 07 2015 12:30
@gaaarfild блин query string тебя спасут, вот ulmart
http://www.ulmart.ru/catalog/95285?sort=1&viewType=1&rec=false
Не дураки же вроде
все фильтры через query string. Основные типы в тело url
Dinar Garipov
@garf
Jul 07 2015 12:31
@smskin &foo=bar&bar=baz - вообще никак не способствует прождвижению. Более того, даже вредит
LightAir
@LightAir
Jul 07 2015 12:31
@smskin честно? Юлмарту пофиг у них контекст и другие виды распространения, они не делают ставку на сео
Sergey Mihaylov
@smskin
Jul 07 2015 12:33
@gaaarfild не мог бы скинуть материалы, откуда это взял?
Найди интернет магазин в котором роуты устроены, как ты хочешь.
Только не каталог, а с фильтрами.
Я думаю, что ты сейчас себе больше геммороя создашь, если начнешь городить ЧПУ на каждый чих.
И да, кстати а SEO не повредит, что будут 2 URL фактически с одинаковым контентом (это я про фильтры в URL)
например
/sale/kvartiry/1komnatinie, а все остальное в query string
Maxim
@Big-Shark
Jul 07 2015 12:36
https://github.com/google/material-design-lite все уже заценили эту штуку?
Sergey Mihaylov
@smskin
Jul 07 2015 12:36
@gaaarfild получается, что одна и та же квартира будет по 3-м URLам:
/sale
/sale/kvartiry
/sale/kvartiry/1komnatinie
butschster
@butschster
Jul 07 2015 12:36
@smskin если только роуты не создавать динамически :D. Загружаем из базы все категории и типы фильтров по ним и собираем при загрузке фреймворка роуты для каждой категории, которые ведут на один контроллер и там происходит магия
emissar
@emissar
Jul 07 2015 12:37
@Big-Shark убожество какое-то
Sergey Mihaylov
@smskin
Jul 07 2015 12:37
@butschster вот именно - магия. Как поддреживать это будете? )))
И я уже говорил о повторе контента - это вредит SEO
Maxim
@Big-Shark
Jul 07 2015 12:37
@gaaarfild откуда дровишки?
@emissar а мне нравится, лучше чем бутстраповский стиль по умолчанию
Sergey Mihaylov
@smskin
Jul 07 2015 12:38
@Big-Shark жесть
butschster
@butschster
Jul 07 2015 12:41
@smskin ну повторение контента неизбежно, т.к. это каталог
Sergey Mihaylov
@smskin
Jul 07 2015 12:43
@butschster топстартер хочет фильтры тоже в URL засунуть.
я предлагаю сделать роут /sale/(:any)/(:any)
а any1 и any2 из базы подхватывать
Сверху накладывать фильтры через query string «?order=asc&floor=2|3"
например /sale/kvartiry/1komnatnie?page=1&floor=2&order=asc
Dinar Garipov
@garf
Jul 07 2015 12:44
@Big-Shark дровишки?
Из леса, вестимо ))
Sergey Mihaylov
@smskin
Jul 07 2015 12:45
@butschster я бы вообще сделал /sale/kvartiry?rooms=1&floor=2
butschster
@butschster
Jul 07 2015 12:45
@smskin ну я с тобой полностью согласен, я по другому думаю и не получится толком. Я бы посмотрел /sale/kvartiry/1komnatnie/page.1/floor.2/orde.asc :), а если ключи убрать, то комплуктер сломается додумывать где и что имелось ввиду
Sergey Mihaylov
@smskin
Jul 07 2015 12:46
@butschster жееесть
butschster
@butschster
Jul 07 2015 12:46
в общем @gaaarfild мы решили, ты должен отказаться от своей идеи и делать так как мы тебе сейчас насоветуем
Sergey Mihaylov
@smskin
Jul 07 2015 12:46
@butschster ахахах
Maxim
@Big-Shark
Jul 07 2015 12:47
@gaaarfild я про то что ?catalog=1&status=active плохо
Sergey Mihaylov
@smskin
Jul 07 2015 12:48
/sale/kvartiry/1komnatnie/page.1/floor.2/orde.asc
Route::get(’/sale/(:any)/(:any)/page.(:num)/floor.(:num)/orde.(:any)’)
@butschster это будет жестко )))
butschster
@butschster
Jul 07 2015 12:48
самый лучший вариант смотреть реализуют тех, кто в топе, чтобы понять что и с query string с древних пор все живут счастливо, хотя я их тоже не особо люблю.
Dinar Garipov
@garf
Jul 07 2015 12:49
@butschster Все было бы проще, если бы кобинации были вложенными.
Давайте. Советуйте ))
butschster
@butschster
Jul 07 2015 12:49
@smskin ну это как вариант того, как будет выглядеть без query string, и если это все собирать из БД, то пофиг, это не надо будет глазами видеть :)
Dinar Garipov
@garf
Jul 07 2015 12:49
@Big-Shark от сеошников.
Sergey Mihaylov
@smskin
Jul 07 2015 12:49
@butschster а теперь посчитаем, сколько итераций роутов нужно написать, чтобы все фильтры работыли независимо друг от друга )
Maxim
@Big-Shark
Jul 07 2015 12:50
@gaaarfild мне однов время также сеошники говорили, а потом сказали что фигня все это, и поисковики норм индексируют с query
butschster
@butschster
Jul 07 2015 12:50
@smskin а здесь все просто, кол-во вариантов категорий, а все параметры фильтра не обязательные
Maxim
@Big-Shark
Jul 07 2015 12:50
@gaaarfild типа это одно время были загоду по поводу ЧПУ всегда и везде)
Dinar Garipov
@garf
Jul 07 2015 12:50
@Big-Shark Ну нет же. реально выше стоят те, у которых ЧПУ.
Sergey Mihaylov
@smskin
Jul 07 2015 12:51
вот роут: Route::get(’/sale/(:any)/(:any)/page.(:num)/floor.(:num)/orde.(:any)’)
сортировка + страница:
Route::get(’/sale/page.(:num)/orde.(:any)’)
только сортировка
Route::get(’/sale/orde.(:any)’)
butschster
@butschster
Jul 07 2015 12:51
@gaaarfild выше стоят те, кто бабла не жалеет на СЕО :)
Sergey Mihaylov
@smskin
Jul 07 2015 12:51
@butschster ну и так далее… ))
@butschster динамически не сделать, роуты не позволят
LightAir
@LightAir
Jul 07 2015 12:51
@Big-Shark не, влияет. У меня директор сеошник крутой, он говорит что влияет.
Maxim
@Big-Shark
Jul 07 2015 12:52
@LightAir и как тогда куча интернет магазов живут без этого и занимают топовые строчки в поисковиках?
Dinar Garipov
@garf
Jul 07 2015 12:52
@butschster А сео - требуют ЧПУ )))
Sergey Mihaylov
@smskin
Jul 07 2015 12:53
@gaaarfild сделегируй написание ЧПУ в routes.php СЕОшникам )))
LightAir
@LightAir
Jul 07 2015 12:53
@Big-Shark много условий. От блэк сео, и до чпу
Dinar Garipov
@garf
Jul 07 2015 12:53
@Big-Shark директ, редирект,
primalpro
@primalpro
Jul 07 2015 12:53
    $count=Ip::where('created_at', '>=', Carbon::now()->subMinutes(33))->where(‘ip’,$client)->count();
Делаю запрос - сколько с IP отправлено сообщений за 33 минуты... подскжаите где ошибка
Sergey Mihaylov
@smskin
Jul 07 2015 12:53
Ты написал бы сначала без чпу, а потом бы сверху наложил доп роуты
Dinar Garipov
@garf
Jul 07 2015 12:53
@primalpro В кавычках
->where(‘ip’,$client)
@smskin надо бы )))
Maxim
@Big-Shark
Jul 07 2015 12:54
@gaaarfild @LightAir и как вы тут чпу запихнете, когда фильтров может быть неизвестное количество с неизвестными именами?
Dinar Garipov
@garf
Jul 07 2015 12:55
@Big-Shark Как?
@Big-Shark ВОТЫМЕННО!
НУ КААААК!!!?
Sergey Mihaylov
@smskin
Jul 07 2015 12:55
@gaaarfild напиши без чпу фильтры сделай через query string.
Потом, когда уже все будет готово - пропиши чпу для каждой итерации фильтров
Maxim
@Big-Shark
Jul 07 2015 12:56
@gaaarfild хотя у меня есть идея) И я даже знаю как это реализовать) Но насколько это оправдано)
Sergey Mihaylov
@smskin
Jul 07 2015 12:56
@gaaarfild будет все наглядно. Вместе с сеошником сядешь и разберешь как и что называть
Dinar Garipov
@garf
Jul 07 2015 12:56
@Big-Shark давай же сюда? :)
@smskin без ЧПУ уже написано через куэри стринг ))
Sergey Mihaylov
@smskin
Jul 07 2015 12:57
@gaaarfild ахах )
butschster
@butschster
Jul 07 2015 12:57
@smskin ну да, верно. Значит /filter/sub/sub/(:any) и все any разбивать по / и дальше по разделителю между ключом и значением :)
и получим массив всех значений
primalpro
@primalpro
Jul 07 2015 12:57
@gaaarfild сенькс
Sergey Mihaylov
@smskin
Jul 07 2015 12:57
@butschster это будет жесть, так не стоит делать явно )
Maxim
@Big-Shark
Jul 07 2015 12:57
@gaaarfild нужно просто забирать все что идет после определенного сегмента, то есть типа Route::get(’/sale/(:any)/(:any)/f/(регулярка)’)
@gaaarfild дальше все что там есть разбиваем по слешам, и определяем четные к нечетным, в итоге получим такойже массив как и в GET
butschster
@butschster
Jul 07 2015 12:58
@smskin почему жесть? ты получишь массив из строки, это разве такая затратная операция?
Dinar Garipov
@garf
Jul 07 2015 12:58
@Big-Shark Да. Так можно.
@Big-Shark НО
До определенного сегмента может быть все что угодно :)
Sergey Mihaylov
@smskin
Jul 07 2015 12:58
@butschster да с отладкой задолбаешься. Роуты сделаны для удобства, а тут у тебя вся прелесть теряется.
Maxim
@Big-Shark
Jul 07 2015 12:59
@gaaarfild не понял, что значит все что угодно?
Sergey Mihaylov
@smskin
Jul 07 2015 12:59
@Big-Shark 255 символов в GET запросе
Dinar Garipov
@garf
Jul 07 2015 13:00
@Big-Shark
/kvartiry - все квартиры (продажа покупка)
/kvartiry/prodam - квартиры только продажа 
/prodam - вся недвижимость продажа
/kvartiry/1komnatniye - квартиры 1комнатные (продажа покупка)
/1komnatniye - 1 комнатная недвижимость продажа покупка
/prodam/1komnatniye - продажа однокомнатной недвижимости
Roman
@TeroBlaZe
Jul 07 2015 13:00
да зайдите вы уже на авито и посмотрите как там, городите здесь велосипеды, из корневого /sale/ когда это должен быть фильтр
Dinar Garipov
@garf
Jul 07 2015 13:00
на первом месте может быть как объект, так и тип сделки.
@TeroBlaZe Я тебя понял. Не надо в пример ставить известные раскрученные сайты.
butschster
@butschster
Jul 07 2015 13:00
@TeroBlaZe ему нужно решить задачу всего одним роутом, иначе не комильфо :D
Dinar Garipov
@garf
Jul 07 2015 13:01
И у них, кстати, тоже так же сделано.
@butschster ну по крайней мере тремя :))
Maxim
@Big-Shark
Jul 07 2015 13:01
@gaaarfild надо так /type/kvartira/chonado/prodam и тд
Sergey Mihaylov
@smskin
Jul 07 2015 13:02
Интересно, работать так будет:
/sale/kvartiry/(:num)komnatniye
Roman
@TeroBlaZe
Jul 07 2015 13:02
у тебя на сайте только квартиры? тогда куда не шло. А если помимо квартир еще дофига всякой фигни, то запрос типа /prodam будет весьма не кстати там
Maxim
@Big-Shark
Jul 07 2015 13:02
@gaaarfild https://www.avito.ru/kazan/kvartiry/prodam/1-komnatnye?metro=2049 смотрим на метро)
butschster
@butschster
Jul 07 2015 13:02
@gaaarfild а фильтры? :)
Dinar Garipov
@garf
Jul 07 2015 13:03
@TeroBlaZe Нет. Гаражи, дома, комнаты, офисы, склады, бизнес
@Big-Shark Да я же не отрицаю QS
Его все равно надо применить.
Sergey Mihaylov
@smskin
Jul 07 2015 13:03
@gaaarfild
/sale
/sale/(:any)
/sale/(:any)/(:num)komnatniye
NelinD
@NelinD
Jul 07 2015 13:03
@Big-Shark у тебя в ссылочке опечатка)
Dinar Garipov
@garf
Jul 07 2015 13:03
Там будут фильтры по цене и площади и страница.
butschster
@butschster
Jul 07 2015 13:03
@gaaarfild только не больше одного раза?
Sergey Mihaylov
@smskin
Jul 07 2015 13:03
@gaaarfild а дальше итерации фильтров )
Dinar Garipov
@garf
Jul 07 2015 13:03
Они и пойдут в query string
Roman
@TeroBlaZe
Jul 07 2015 13:03
@gaaarfild ну и, извините, начерта человеку зашедшему по запросу /kyply чтобы посмотреть гаражи, нужны всякие офисы и т.п.?
Dinar Garipov
@garf
Jul 07 2015 13:04
А до Query string надо сделать ЧПУ
butschster
@butschster
Jul 07 2015 13:04
я бы вообще сделал несколько экшенов и успакоился, вариантов с квартирами меньше, чем будет затрачено сил на реализацию сложного алгоритма :)
Dinar Garipov
@garf
Jul 07 2015 13:04
@TeroBlaZe тут ты прав. Но он может посмотреть по звапросу однокомнатные квартиры. А там куплю продам, сдам сниму
@butschster ДА я уже близок к этому ))))
Maxim
@Big-Shark
Jul 07 2015 13:05
а чего если сгенерить файл роутов ?
butschster
@butschster
Jul 07 2015 13:05
я уже предлагал @Big-Shark так что за мной будешь :)
Sergey Mihaylov
@smskin
Jul 07 2015 13:05
@Big-Shark много итераций, если фильтры в URL запаковывать
@butschster @Big-Shark я уже несколько решений предложил. С таким ответом я был первый ))) Соблюдаем очередь )
Maxim
@Big-Shark
Jul 07 2015 13:07
@smskin простите, больше так не буду)
Sergey Mihaylov
@smskin
Jul 07 2015 13:07
@Big-Shark ))
Dinar Garipov
@garf
Jul 07 2015 13:08
В общем, спасибо ребята. Получил много инфы и удовольствия. Теперь буду думать как лучше
LightAir
@LightAir
Jul 07 2015 13:08
@gaaarfild не забудь мои советы :smile:
Sergey Mihaylov
@smskin
Jul 07 2015 13:09
@gaaarfild удачи в нелегком деле )
butschster
@butschster
Jul 07 2015 13:10
@gaaarfild подумаешь и сделаешь все тупо через QS? Правильно, где один QS там и все остальные, Тогда в сегментах URL нет смысла , а также и в роутере, а значит и в фреймворке, можно и joomla взять. Удачи)
Dinar Garipov
@garf
Jul 07 2015 13:11
@butschster все тлен :)
@smskin @LightAir @butschster спасибо
Sergey Mihaylov
@smskin
Jul 07 2015 13:13
@gaaarfild да не за что )
butschster
@butschster
Jul 07 2015 13:14
@gaaarfild потом вернешь куском кода для KodiCMS
иначе зайду в твой аккаунт и сам возьму понравившийся кусок кода из репозиториев и скопирую в свою систему
Maxim
@Big-Shark
Jul 07 2015 13:15
@gaaarfild иди против системы, храни значение в куках
JhaoDa
@jhaoda
Jul 07 2015 13:18

Вчера писал, но в силу спора актуально:)
Как «нужно» проектировать API:

Оба запроса можно делать и GET, и POST. Так и хочется ручки пообрывать...

Maxim
@Big-Shark
Jul 07 2015 13:19
@jhaoda круто, не то что этот стремный рест
JhaoDa
@jhaoda
Jul 07 2015 13:19
А вы тут паритесь, SEO какое-то...
asvae
@asvae
Jul 07 2015 13:20
@jhaoda зато удобно модерировать. Кому угодно.
Maxim
@Big-Shark
Jul 07 2015 13:21
@jhaoda вот еще бы del на udali заменить
JhaoDa
@jhaoda
Jul 07 2015 13:21
@Asvae почему кому угодно? Я не стал все параметры писать, но там логин и ключ ещё есть
Sergey Mihaylov
@smskin
Jul 07 2015 13:21
@jhaoda оО…. сурово….
<img src='http://bla-bla.com/accounts.php?id=1&del=1' />
из серии
<img src=‘/logout’ /> на PHPBB форуме )))
Для модеров подарок )))
butschster
@butschster
Jul 07 2015 13:21
@jhaoda мне надо свой API бы уже доделать и опубликовать.
JhaoDa
@jhaoda
Jul 07 2015 13:21
@smskin выше смотри
Maxim
@Big-Shark
Jul 07 2015 13:22
@butschster ну теперь ты знаешь как лучше делать)
Sergey Mihaylov
@smskin
Jul 07 2015 13:22
@jhaoda выше на сколько ? )))
Как «нужно» проектировать API: …
Читал )
JhaoDa
@jhaoda
Jul 07 2015 13:22
@smskin :point_up: 7 июля 2015 г., 20:21
butschster
@butschster
Jul 07 2015 13:22
@Big-Shark у меня уже сделано, нужно теперь подкорректировать
Sergey Mihaylov
@smskin
Jul 07 2015 13:23
@jhaoda жесть…..
JhaoDa
@jhaoda
Jul 07 2015 13:23
@smskin что опять не так?
Maxim
@Big-Shark
Jul 07 2015 13:23
@butschster а еще можно данные отдавать в какомто своем формате)
asvae
@asvae
Jul 07 2015 13:23
@jhaoda да, ты прав.
butschster
@butschster
Jul 07 2015 13:25
@Big-Shark так и есть
JhaoDa
@jhaoda
Jul 07 2015 13:26
Я этих ребят спрашивал, чо они новую версию не пишут. Сказали, http-запросы получаются «сильно больше», если json юзать. Байты экономят. Тухлая отмазка, конечно...
Maxim
@Big-Shark
Jul 07 2015 13:26
@butschster все правильно делаешь, ты на верном пути)
primalpro
@primalpro
Jul 07 2015 13:32
Кто знает как выйти из События ? так чтобы прервать ход котроллера вызвавшего событие
JhaoDa
@jhaoda
Jul 07 2015 13:35
@primalpro никак, только проверять, что вернула event(). Если она вообще что-то возвращает...
emissar
@emissar
Jul 07 2015 13:36
отак сделал
public function show($slug)
    {
        $data = Region::findBySlug($slug);
        if (!$data) {
            $data = City::findBySlug($slug);
            if (!$data) {
                abort(404);
            }
            else {
                $users = $data->users()->paginate(config('cfg.onpage'));
            }
        }
        else {
            $ids = $data->cities->lists('id');
            $users = User::with('city')
                    ->leftJoin('city_user', 'city_user.user_id', '=', 'users.id')
                    ->whereIn('city_user.city_id', $ids)
                    ->paginate(config('cfg.onpage'));
        }

        return view('index', ['users' => $users]);
    }
Maxim
@Big-Shark
Jul 07 2015 13:36
https://www.polymer-project.org/1.0/ использовал кто?
Vladimir Yuldashev
@vyuldashev
Jul 07 2015 13:40
$job = (new SendReminderEmail($user))->delay(60);

$this->dispatch($job);
именно с delay
че то phpstorm не видит метод делай
а эот кто-нибудь юзал?)
LightAir
@LightAir
Jul 07 2015 13:43
@Big-Shark ты кидай-кидай не спрашивай, специально папочку закладок под твои ссылки подготовил :smile:
Maxim
@Big-Shark
Jul 07 2015 13:44
@LightAir да я отзывы хотел послушать, как по мне так очень интересная штука эти полимеры)
LightAir
@LightAir
Jul 07 2015 13:46
@Big-Shark солидарен)
Maxim
@Big-Shark
Jul 07 2015 14:12
@LightAir если нужны интересные либы на гитхабе, то можешь посмотреть в моих звездах на гитхабе
LightAir
@LightAir
Jul 07 2015 14:15
@Big-Shark я сначала по ссылки перешёл, смотрю чёт всё до боли знакомое :smile:
Maxim
@Big-Shark
Jul 07 2015 14:15
@LightAir угу, думал ссылка будет на меня, а оно от авторизованого пользователя, пришлось писать вручную)
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:35
Всем привет ув Знатоки Laravel 5 у меня проблема с видами былбы признателен если кто найдет время и обьеснит
Sergey Mihaylov
@smskin
Jul 07 2015 14:36
@AmirMirOFF начал ванговать, ожидайте ответа….
@AmirMirOFF что случилось то? )))
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:38
скачал поставил. вроде во всем разобрался. передаю данные гетом в функцию и не могу дальше отдать виду return view('Users/vi_test',$data); пытаюсь так выдает ошибку
Sergey Mihaylov
@smskin
Jul 07 2015 14:39
@AmirMirOFF ну скорее всего проблема в коде. Даже точно - проблема в коде!
@AmirMirOFF готов поспорить, что проблема в коде. А текст ошибки сообщит о причине )
@AmirMirOFF текст ошибки то какой?
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:40
http://laravel.loc/test/data при таком запросе
NotFoundHttpException in compiled.php line 7693:
Sergey Mihaylov
@smskin
Jul 07 2015 14:41
debug активируйте
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:42
http://laravel.loc/test в таком случаи все отрабатывает на ура и в вид передается параметр переменный по умолчанию
public function test($name='sd')
{
    $data =  array();
    $data['name']= $name;
    return view('Users/vi_test',$data);
}
Sergey Mihaylov
@smskin
Jul 07 2015 14:42
NotFoundHttpException - ошибка, не найден.
Может проблема в роуте
@AmirMirOFF напишите роуты
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:43
Route::get('/test', 'UsersController@test');
Sergey Mihaylov
@smskin
Jul 07 2015 14:43
Route::get('/test', 'UsersController@test');
ну да )
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:43
как я понимаю тут тоже нужно указать возможность прихода переменной
круто
что дописать?
Sergey Mihaylov
@smskin
Jul 07 2015 14:44
при вызове /test - вызвать метод test в контроллере UsersController
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:44
я не поимаю не моглибы вы на примере показать?
Sergey Mihaylov
@smskin
Jul 07 2015 14:45
@AmirMirOFF сек
JhaoDa
@jhaoda
Jul 07 2015 14:45
@AmirMirOFF может доку почитать? http://laravel.com/docs/5.1/routing#route-parameters
Sergey Mihaylov
@smskin
Jul 07 2015 14:45
@AmirMirOFF
Route::get(‘/test/{id}','UsersController@test’);
public function test($id){}
JhaoDa
@jhaoda
Jul 07 2015 14:46
@smskin не проще ссылку на документацию было дать?
Sergey Mihaylov
@smskin
Jul 07 2015 14:46
@jhaoda ну попросили же «я не поимаю не моглибы вы на примере показать?"
JhaoDa
@jhaoda
Jul 07 2015 14:46
А в доке примеры есть
Sergey Mihaylov
@smskin
Jul 07 2015 14:46
@jhaoda мне не взападло привести пример
@jhaoda
Не сказал бы, что пример
Route::get('user/{id}', function ($id) {
return 'User '.$id;
});
Довольно простой. А примера, как я дал - в новых доках нет
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:48
Да кстате я читал доки и там немного не понятно изложенно
JhaoDa
@jhaoda
Jul 07 2015 14:48
@smskin правда? Почему же я нашел?
Sergey Mihaylov
@smskin
Jul 07 2015 14:49
@jhaoda ИМХО для этого сообщество и есть. Доки есть, но не всем они понятны.
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:49
я прошу прошения если задаю не правильные вопросы. я постарался сам понять до того как к вам обратиться
Sergey Mihaylov
@smskin
Jul 07 2015 14:49
@jhaoda а можно ссылочку?
@jhaoda только блин в разделе роутов этого нет...
JhaoDa
@jhaoda
Jul 07 2015 14:50
@smskin и что? Доку надо читать всю, а не кусками
Sergey Mihaylov
@smskin
Jul 07 2015 14:50
@AmirMirOFF все нормально. Задавай вопросы, для этого сообщество и есть
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:51
на самом дели вопросов очень много. после codeigneter laravel кажется сложным
ну я думюа по порядку буду вас развлекать если позволите это так называть)
JhaoDa
@jhaoda
Jul 07 2015 14:51
Только очень желательно, что бы это не были вопросы, ответ на которые есть в доке или гуглится за секунды
Sergey Mihaylov
@smskin
Jul 07 2015 14:51
@jhaoda
В доки может каждый послать. Будут тебе вопрос задавать - можешь отправлять.
Я решил, что лучше помочь человеку.
Если уж по хардкору, то можно сразу человека в исходники отправлять.
JhaoDa
@jhaoda
Jul 07 2015 14:51
@smskin ничо, тебе скоро надоест
Sergey Mihaylov
@smskin
Jul 07 2015 14:53
@jhaoda ну тебе же не надоедает отправлять людей в доки? )
или ты ссылки наизусть уже помнишь? )
JhaoDa
@jhaoda
Jul 07 2015 14:53
@smskin а это никогда не надоест
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:53
уважаемый jhaoda вот у меня сейчас вопрос как указать что параметр не обязательный в роуте . дайте мне сылку где явно это показанно.
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:55
круто
жаль что на англ
Sergey Mihaylov
@smskin
Jul 07 2015 14:55
@AmirMirOFF к английскому придется привыкать
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:55
огромное спасибо . за помощь.
вы очень мне помогли @smskin
Sergey Mihaylov
@smskin
Jul 07 2015 14:56
@jhaoda оО а вот а русской не знал )
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:56
@jhaoda и вы ) по сылкам я к вам буду обрашатся )
JhaoDa
@jhaoda
Jul 07 2015 14:56
@AmirMirOFF ты лучше всю доку прочитай пару раз, это полезно
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:57
и можно сылку на @extends('app') на такие весчи
JhaoDa
@jhaoda
Jul 07 2015 14:57
Дергать кусками, когда надо решить какой-то вопрос, это контрпродуктивно
Sergey Mihaylov
@smskin
Jul 07 2015 14:58
@jhaoda один фиг все не запомнит и придется ее дергать, но вы правы насчет начального ознакомления. Иначе велосипедов будет море
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:58
я согласен с вами. очень согласен. я очень ценю ваше время. но поначалу сложно решать все без помоши.
JhaoDa
@jhaoda
Jul 07 2015 14:58
Я тоже до сих пор заглядываю в доку, но я ЗНАЮ, куда заглядывать, потому как у меня в голове сложилась некая система после полного прочтения доки
Ребята, я всё решал без помощи. Дока на английском, гугл и SO
AmirMirOFF
@AmirMirOFF
Jul 07 2015 14:59
Вы само учка?
JhaoDa
@jhaoda
Jul 07 2015 14:59
А что, где-то есть учебные заведения, где учат ларавель?
Sergey Mihaylov
@smskin
Jul 07 2015 14:59
@AmirMirOFF а тут других и нет )
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:00
нет. есть заведения которые учат принципам програмирования
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:00
Google и SO - лучше любых университетов
JhaoDa
@jhaoda
Jul 07 2015 15:00
Есть, конечно, онлайн-курсы, там тебе тренера дадут, но это денег стоит. И качество курсов не гарантируется
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:00
а это какой не какой багаж для понимания. паправте если ошибаюсь
я про вузы.
Sergey Mihaylov
@smskin
Jul 07 2015 15:01
@hlogeon согласен, говорю как менеджер-экономист )))
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:01
)
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:01
@AmirMirOFF
Тоже самое можно в книжках прочитать
Коих тысячи
JhaoDa
@jhaoda
Jul 07 2015 15:01
@AmirMirOFF я учитель физики. Какой багаж мне это дало для веб-разработки? Никакой.
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:01
Более того, даже если учиться в универе, все придется осваивать самостоятельно
Sergey Mihaylov
@smskin
Jul 07 2015 15:01
@jhaoda вышка «Управление малым бизнесом» - помогает в…. нихрена не помогает….
JhaoDa
@jhaoda
Jul 07 2015 15:02
Другое дело, что я кодил с 9-го класса. Это образ мышления, скажем так.
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:02
а я начал в 25 )
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:02

Если ты хочешь стать программистом

Это образ мышления, скажем так.
+100500

JhaoDa
@jhaoda
Jul 07 2015 15:02
И тогда гугла ещё не было. И про интернет я только слышал
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:02
и начал с папова. )
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:03
@jhaoda
Но книги были
JhaoDa
@jhaoda
Jul 07 2015 15:03
И книжек не было. 1995 год или около того
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:03
Да неверю, какой год?
Sergey Mihaylov
@smskin
Jul 07 2015 15:03
@hlogeon только по ним не было поиска «Как мне выпонить то то» )
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:03
Ну их надо читать, а не искать по ним, помогает)
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:03
@extends('app') сылку можно по этому поводу?)
Sergey Mihaylov
@smskin
Jul 07 2015 15:03
@hlogeon который ежесекундно даст ответ
JhaoDa
@jhaoda
Jul 07 2015 15:04
@AmirMirOFF доку читай
Sergey Mihaylov
@smskin
Jul 07 2015 15:04
@hlogeon народ сейчас обленился. Решение = гугл, меньше 5 минут на поиск результата )
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:05
Да никто не спорить, но вообще, перед тем как начинать программировать, всеже стоит изучить технологию, которую собираешься использовать. Большинство вопросов отпадет само собой, а те что останутся ты сможешь решить самостоятельно, пусть и не лучшим образом.
Sergey Mihaylov
@smskin
Jul 07 2015 15:05
@AmirMirOFF зачем тебе это? Что хочешь сделать именно?
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:07
@AmirMirOFF
Тебе же сказали, что нужно прочитать доку всю.
http://laravel.com/docs/5.0/templates
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:08
я гдето вычитал что таким образом нужно стройть вид. например в CI нужно было делать так view('header'); view('content'); view('footer');
Sergey Mihaylov
@smskin
Jul 07 2015 15:08
@AmirMirOFF читай в сторону blade шаблонизатора
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:08
хорошо. спасибо.
Sergey Mihaylov
@smskin
Jul 07 2015 15:08
@AmirMirOFF вот тут по русски
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:09
спасибо.
очень вам признателен
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:09
Но зачем спрашивать здесь, когда это можно спросить в гугле, я так и не понял
Роман Сохарев
@greabock
Jul 07 2015 15:09
@AmirMirOFF @extends('some') - это имя лэйаута в который "одевается" вьюха. Дело в том, что в Laravel шаблонизатор (блэйд) умеет, как по классической схеме работать (когда в контроллере определяется лэйаут, а потом в него "напихиваются" вьюхи), так и работать по схеме "наоборот" - ты указываешь вьюху, которую нужно вывести, а уже во вьюхе решается в какой лэйаут она будет одета. Вот этот @extends() и определяет лэйаут
Sergey Mihaylov
@smskin
Jul 07 2015 15:10
@greabock эммм имхо в доке понятнее )) Я аж запутался )
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:10
т е я могу по обычному формировать вид?
а мне понятней) чем в доках)
парадокс?_)
Sergey Mihaylov
@smskin
Jul 07 2015 15:11
@AmirMirOFF как хочешь. Ты можешь бить на куски, а можешь отдельными шаблонами
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:11
как лутше и удобней?
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:12
Смотря дле чего. Есть кейсы, когда удобней из контроллера, есть когда из view
Роман Сохарев
@greabock
Jul 07 2015 15:12
я использую @extends(), а так, как тебе "вкуснее", так и делай
Sergey Mihaylov
@smskin
Jul 07 2015 15:13
@AmirMirOFF ну шаблонизатором удобнее пользоваться для работы с шаблонами)
Например.
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:14
С @extends не очень удобно, если тебе нужны динамические лэйауты. Но это настолько редко действительно необходимо...
Роман Сохарев
@greabock
Jul 07 2015 15:14
@hlogeon не так уж и редко =)
Sergey Mihaylov
@smskin
Jul 07 2015 15:14
@AmirMirOFF вот классный пример
http://laravel.su/docs/5.0/templates#blade-templating
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:15
Да, ну, если только cms какая. Обычно всеже приложение редко подразумеает возможность смены лэйаута, во всяком случае много таких кейсов я придумать не могу.
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:15
мне удобней будит создать модель для вывода и туда слать имя файла с контентом . если кто работал с CI поймут меня
Sergey Mihaylov
@smskin
Jul 07 2015 15:16
@AmirMirOFF понимаю, просто у тебя есть возможность избавится от рутины
asvae
@asvae
Jul 07 2015 15:16
Ребят, как с жарой боретесь? Мозги отрубаются.
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:16

мне удобней будит создать модель для вывода и туда слать имя файла с контентом . если кто работал с CI поймут меня

@extends к этому никакого отношения не имеет

Sergey Mihaylov
@smskin
Jul 07 2015 15:16
@Asvae у нас +15 )
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:17
@Asvae
КОНДИЦИОНЕР
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:17
у меня 44
+44
Sergey Mihaylov
@smskin
Jul 07 2015 15:17
@AmirMirOFF это где? )
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:17
Узбекистан
Sergey Mihaylov
@smskin
Jul 07 2015 15:17
@AmirMirOFF жесть
Роман Сохарев
@greabock
Jul 07 2015 15:17

Примечание: Будьте осторожны с выводом контента, который получен от пользователей. Всегда используйте двойные фигурные скобки для экранирования возможных элементов и сущностей HTML.

^ миссапдейт в доках. Теперь по дефолту все экранируется

butschster
@butschster
Jul 07 2015 15:17
@smskin ну странно что в Петрозаводске так холодно еще
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:18
жесть в 3 дня вытти и услышать как земля пекется ) словно ты в савванне
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:18
@AmirMirOFF
Гугл 33 показывает
Alexander Sterpu
@fs-alex
Jul 07 2015 15:18
Ребята, зарегистрированный фасад можно получить откуда угодно используя use Фасад?
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:18
могу фото скинуть
Sergey Mihaylov
@smskin
Jul 07 2015 15:18
@butschster
Снимок экрана 2015-07-07 в 18.18.28.png
JhaoDa
@jhaoda
Jul 07 2015 15:19
@st-vojak да. С чего бы были какие-то ограничения?
Sergey Mihaylov
@smskin
Jul 07 2015 15:19
@butschster зато мозг не плавится и кондиционер не нужен
Роман Сохарев
@greabock
Jul 07 2015 15:19
У меня дубак, градусов 17 отсилы
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:20
У меня вот весь последний год > 28. Затрахало уже
JhaoDa
@jhaoda
Jul 07 2015 15:20
@greabock оличная погодка! Особенно после +34...
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:20
Без кондиционера работать просто невозможно
Роман Сохарев
@greabock
Jul 07 2015 15:21
@jhaoda Ну так-то да... но я сидя под кондером, как-то и не почувствовал даже
Maxim
@Big-Shark
Jul 07 2015 15:21
@greabock у нас вчера заморозки ночью были, +22
кто что может сказать ? мб смотрел кто
Maxim
@Big-Shark
Jul 07 2015 15:26
@hlogeon Это когда в нижнем стало так тепло?
JhaoDa
@jhaoda
Jul 07 2015 15:26
@AmirMirOFF здесь принято подобные ссылки заворачивать в код
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:27
@jhaoda каким образом
все нашел
Alina Soboleva
@AlinaSob
Jul 07 2015 15:27
В Питере дубаак и дождь... куда б съездить погреться....
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:27
Прошу прошения
JhaoDa
@jhaoda
Jul 07 2015 15:27
@AmirMirOFF ну отредактируй своё сообщение с картинкой тогда
Maxim
@Big-Shark
Jul 07 2015 15:27
@AlinaSob Пхукет, Тайланд
Роман Сохарев
@greabock
Jul 07 2015 15:28
@Big-Shark умынй, да? Геленджик XD
JhaoDa
@jhaoda
Jul 07 2015 15:28
@Big-Shark / страны Тайлан не существует /
@Big-Shark /* страны Тайланд не существует */
Alina Soboleva
@AlinaSob
Jul 07 2015 15:28
@Big-Shark А там разве не сезон дождей?
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:28
Maxim
@Big-Shark
Jul 07 2015 15:29
@jhaoda Таиланд Так лучше?
JhaoDa
@jhaoda
Jul 07 2015 15:29
@Big-Shark отлично ваще
@AmirMirOFF ты не умеешь редактировать сообщения?
Maxim
@Big-Shark
Jul 07 2015 15:30
@AlinaSob он, но температура все равно около 28, и дождик пару дней в неделю.
Роман Сохарев
@greabock
Jul 07 2015 15:30
@AmirMirOFF ты с маркдауном упражняешься? ))
Alina Soboleva
@AlinaSob
Jul 07 2015 15:30
@Big-Shark у нас тогда сезон дождей весь год )))
Но я вообще не за тем пришла )))
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:31
@jhaoda нет. @greabock нет я его незнаю
Alina Soboleva
@AlinaSob
Jul 07 2015 15:31
Кто-нибудь знает достойный внимания модуль интернет-магазина для лары?
JhaoDa
@jhaoda
Jul 07 2015 15:31
@AmirMirOFF мышку наведи на своё сообщение и нажми последнюю иконку. Вообще, учись думать и искать
Maxim
@Big-Shark
Jul 07 2015 15:31
@AlinaSob нет таких
Alina Soboleva
@AlinaSob
Jul 07 2015 15:32
@Big-Shark ясно, будем писать )
asvae
@asvae
Jul 07 2015 15:32
@AmirMirOFF если умеешь в английский — лучше ларакасты.
Maxim
@Big-Shark
Jul 07 2015 15:32
@AlinaSob на симфони есть
Alina Soboleva
@AlinaSob
Jul 07 2015 15:34
@Big-Shark посмотрю, спасибо
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:34
@jhaoda навел и что я там должен был увидить. нажал вы о редоктирований сказали?. @Asvae спасибо будим учится.
JhaoDa
@jhaoda
Jul 07 2015 15:34
@AmirMirOFF нажать забыл. Ты ещё и читаешь не до конца...
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:37
@jhaoda вы написали учись думать и искать . это я не дочитал.?* если да то я вас наверное не понял. если не трудно напишите болие просто и понятно.
Роман Сохарев
@greabock
Jul 07 2015 15:47
@AmirMirOFF у нас на "ты". А так, он прав. В нынешних реалиях, для программиста, навык пользования гуглом - на втором месте по важности, после логического склада ума )). Так что да: учись думать и искать ))
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:53
@greabock спасибо
JhaoDa
@jhaoda
Jul 07 2015 15:53
Я просто залип, пытаясь понять, как можно «болие просто» объяснить, что такое «думать и искать»...
AmirMirOFF
@AmirMirOFF
Jul 07 2015 15:56
@jhaoda Дело наверное в том что я не особо часто бываю в чатах и это несет за сабой некое не понимание мое.Люди парой на словах друг друга не понимают а тут чат. но я понял что вы мне хотели сказать ув @greabock внес ясность
@smskin ))
Andrey Degtyaruk
@hlogeon
Jul 07 2015 15:59
@Big-Shark
Почему в Нижнем-то сразу?
@Big-Shark
http://megamozg.ru/post/6054/
На, почитай, тебе полезно будет, раз на Пхукете
Maxim
@Big-Shark
Jul 07 2015 16:05
@hlogeon спс, гляну)
@hlogeon гитзаб говорит ты в нижнем)
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:07
Да я не пользуюсь гитхабом, только если бред какой-нибудь с кем поделить надо и лень настраивать права для кучи людей. Так bitbucket как-то родней
Maxim
@Big-Shark
Jul 07 2015 16:08
@hlogeon а я не могу к ведру привыкнуть, ужасный интерфейс, гитхаб приятней
JhaoDa
@jhaoda
Jul 07 2015 16:08
Да, ведро прям не ведро болтов, а ведро говна...
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:09
@Big-Shark
А че тебе в инфтерфейсе нужно-то?
Alexander Sterpu
@fs-alex
Jul 07 2015 16:09
@jhaoda спасибо. А где можно посмотреть полный список методов сервис-контейнера? А то я, просматривая чужой код, периодически нахожу методы, которых не было в документации. (Например $this->app->share)
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:09
Ведро дает вести приватные репозитроии и команды бесплатно, на хабе надо платить за приватность
JhaoDa
@jhaoda
Jul 07 2015 16:09
У атлассиана вообще все продукты как говно
Maxim
@Big-Shark
Jul 07 2015 16:09
@hlogeon удобный поик ремов, просмотр дифов удобный истории комитов, форков, да много чего
JhaoDa
@jhaoda
Jul 07 2015 16:10
@st-vojak http://laravel.com/docs/5.1/container. share устаревший.
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:12

@Big-Shark
Все же из коносоли делается. Форки в рабочих проектах вообще ненужный функционал

@jhaoda
Ну покажи мне, сколько времени ты потратишь на интеграцию redmine и github, чтобы еще хеши коммитов автоматов в ссылки в задачах преваращались и на задачи автоматически бранчи заводились с удобочитаемыми именами.
А вот bitbucket + JIRA это делают в одно нажатие

JhaoDa
@jhaoda
Jul 07 2015 16:12
@hlogeon а мне насрать на интеграцию, я как пользователь этого говна негодую
Maxim
@Big-Shark
Jul 07 2015 16:12
@hlogeon а рабочие у нас также на битбакете, ну или на гитлабе, а вот свободное все на гитхабе
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:13
@Big-Shark
Гитлаб норм, да. ХЗ, не вижу никаких проблем в интерфейме ведра. Может, потому что для репозитория интерфейс все-таки излишество... ХЗ, не пользуюсь их сайтами
JhaoDa
@jhaoda
Jul 07 2015 16:15
Хипчат не понимает маркдаун. Джира не понимает маркдаун. Конфлюэнс не понимает маркдаун. Всё. Что ещё обсуждать?
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:18
Ну конечно, маркдаун - самое важное при разработке
Maxim
@Big-Shark
Jul 07 2015 16:19
@hlogeon ну так жира и бит бакет одна контора, но в джире с интерйесом тоже все туго
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:19
@Big-Shark
Мне интерфайс JIRA куда приятнее, чем redmine
Maxim
@Big-Shark
Jul 07 2015 16:20
@hlogeon мне часто нужно разбираться в стороних проектах в которых я не являюсь разработчиком, поэтому я часто просто могу копаться по исходникам.
@hlogeon ну тогда понятно почему тебе битбакет нравится. Как по мне так все продукты атласиан полное г застрявшнее в 90.
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:21
@Big-Shark
Я делаю это с помощью волшебного git clone. Как ты копаешься без мгновенного перехода по файлам, shift+ctrl+n из PHP Storm>
Maxim
@Big-Shark
Jul 07 2015 16:21
@hlogeon магическим образом)
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:22
Непонимаю, как можно копаться в исходниках НА САЙТЕ эффективнее, чем локально в своей родной IDE
нажал ctrl и правый клик и уже в нужном файлу на нужно строчке
@Big-Shark
Ты лучше скажи, что нынче недорогой кондо на пхуте в долгосрочную аренду стоит? Порядок цен какой? За 10к бат реально что-то найти?
JhaoDa
@jhaoda
Jul 07 2015 16:24
@hlogeon ты документацию никогда не пишешь?
Maxim
@Big-Shark
Jul 07 2015 16:24
@hlogeon сегодня видел рекламу 8к за комнату, но думаю за 10 реально кондо найти, у нас за 16 дом с 2 спальнями
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:25
@jhaoda
Я документацию пишу довольно часто, но для этого у меня есть google docs с возможностью коллективного редактирования и кучей плюшек.
JhaoDa
@jhaoda
Jul 07 2015 16:26
@hlogeon странно. Код там, доки сям, ещё что-то — ещё где-то?
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:26
Ты доки и readme отождествляешь?
Maxim
@Big-Shark
Jul 07 2015 16:26
Дока в гугл докс? Вот это номер)
JhaoDa
@jhaoda
Jul 07 2015 16:26
Ну тогда понятно, почему ты поклонник атлассиана. А ты попробуй доки пописать и пообщаться хипчате...
@hlogeon при чем тут ридми? ТЫ не знаешь, что такое конфлюэнс?
@hlogeon хотя чо я спрашиваю, у тебя сплошь категоричные суждения и «мое мнение единственное верно»
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:28

@jhaoda
При том, что функционал markdown слишком ограничен для написания нормальной документации.

Это ты про мнение откуда взял, интересно?

JhaoDa
@jhaoda
Jul 07 2015 16:28
@hlogeon из опыта «общения» с тобой
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:28
Я такого ни разу не говорил. И если ты таким образом воспринимаешь мои слова и суждения, то тебе стоит самому задуматься над своими словами
Maxim
@Big-Shark
Jul 07 2015 16:29
@jhaoda до сих пор просыпась в поту представляя момент когда мне говорят что вся документация будет в конфлюэнс
JhaoDa
@jhaoda
Jul 07 2015 16:29
@hlogeon да-да...
Maxim
@Big-Shark
Jul 07 2015 16:29
@hlogeon @jhaoda Не переходите на личности)
@hlogeon странно что тебе маркдауна не хватает, для меня это самый удбный формат как к написанию, так и к чтению
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:30
@Big-Shark
Я тебе сейчас скину пример доков, может поймешь
AmirMirOFF
@AmirMirOFF
Jul 07 2015 16:32
для того чтобы вызвать вид нужно : 'return view('filename.php');' я что то не могу в доках как зделать если мне нужно зделать вывод 3 файлов header contend footer
Maxim
@Big-Shark
Jul 07 2015 16:33
@AmirMirOFF return view('header.php').view('content.php').view('footer.php');
но так никогда не делай, для этого есть лайауты
AmirMirOFF
@AmirMirOFF
Jul 07 2015 16:38
спасибо. буду курить лайауты
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:46
Блин, сроки NDA еще не прошли. Короче суть в том, что приходится рисовать кучу таблиц, в markdown это делать неудобно(я уж не говрю о макросах), вставлять кучу схем и, самое главное - оформлять по ГОСТ.
А вот в гугл можно и по ГОСТ оформлять и таблицы там полнофункциональные, а разрыв страницы делает возможным и удобным одновременную работу нескольких человек
JhaoDa
@jhaoda
Jul 07 2015 16:48
Да кто ж против, пусть у атлассиана появится такой же редактор, как в гуглодоках
Но они и редактор не сделали, и маркдаун не сделали, а сотворили какой-то кусок говна
Прям как микрософт, пошли свои путём...
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:49
Тебя им заставляют пользоваться?)
JhaoDa
@jhaoda
Jul 07 2015 16:49
Бинго!
Стал бы я этим говном добровольно пользоваться
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:50
А сказать начальство, что это кусок говна слабо? Только в чате молотить?
*начальству
JhaoDa
@jhaoda
Jul 07 2015 16:50
@hlogeon здесь можно сообщения редактировать, не знал?
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:50
Знал, старая привычка
JhaoDa
@jhaoda
Jul 07 2015 16:50
Откуда уверенность, что не было сказано?
Хотя чо, я опять категоричные суждения
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:51
Ты вопрос от категорического суждения отличить не можешь? Да ты просто вундермен
Maxim
@Big-Shark
Jul 07 2015 16:51
Я говорил на 2 работах что атласиан гавно, ответ был зато комерческий проект, с которым нет проблем, а редмайн еще самим обновлять надо, и тд
Роман Сохарев
@greabock
Jul 07 2015 16:52
@hlogeon @jhaoda завязывайте, ребят
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:53
Я только что хотел написать, что если было сказано, а начальство не прислушалось, значит есть 2 варианта:
  1. У тебя низкий авторитет у начальства
  2. Есть веская причина, по которой используется именно эта система -> продукт не такое уж говно
JhaoDa
@jhaoda
Jul 07 2015 16:53
@greabock я ваще паинька
@hlogeon раскусил :( обе причины сразу
Пойду напьюсь с горя...
Andrey Degtyaruk
@hlogeon
Jul 07 2015 16:54
Цель любого подобного продукта - решать задачи бизнеса, а не хотелки программиста
Alexander Sterpu
@fs-alex
Jul 07 2015 16:56
глобальные посредники также выполняются после инициализации сервис-контейнера?
Роман Сохарев
@greabock
Jul 07 2015 16:58
@st-vojak иди читай доку Да. И даже после загрузки сервис-провайдеров.
Alexander Sterpu
@fs-alex
Jul 07 2015 17:10
@greabock спасибо, несколько раз читал)
Роман Сохарев
@greabock
Jul 07 2015 17:13
@st-vojak это была аллюзия на самый частый ответ в чате )
AmirMirOFF
@AmirMirOFF
Jul 07 2015 17:17
зделал так ' public function index()
{
//Главная старница сайта
  return view('test/call');
}'
дальше '@extends('test/vi_header')
@section('content')
@extends('test/vi_contend')
@stop'
Роман Сохарев
@greabock
Jul 07 2015 17:18
@st-vojak а вообще тут все описано
http://laravel.com/docs/5.1/lifecycle - на буржуйском
http://laravel.su/docs/5.0/lifecycle - на православном
@AmirMirOFF ты видимо не понял, как оно работает
Роман Сохарев
@greabock
Jul 07 2015 17:27

my_view.blade.php:

@extends('my_layout');
@section('section_one')
    <p> Section one content </p>
@stop
@section('section_two')
    <p> Section two content </p>
@stop

my_layout.blade.php:

<html>
     <head></head>
    <body>
        <div>
             @yield('section_one')
        </div>
        <div>
             @yield('section_two')
        </div>
    </body>
</html>

в контроллере

 public function some()
 {
       return view('my_view');
 }

на выходе получится:

<html>
     <head></head>
    <body>
        <div>
             <p> Section one content </p>
        </div>
        <div>
             <p> Section two content </p>
        </div>
    </body>
</html>
как я уже и говорил, это работает "наоборот"
AmirMirOFF
@AmirMirOFF
Jul 07 2015 18:13
функция вызывает файл шаблонизатора blade в вашем случаии my_view.blade.php: выполняет команды которые описываются через сабачку каждая команда может грузить файл ну или вписывать в файл нужное нам. я так это понял
asvae
@asvae
Jul 07 2015 18:56
@AmirMirOFF не помешает листануть доку по великому и могучему, плюс какой-нибудь стайл гайд.
Nikita
@exotickg1
Jul 07 2015 19:27
ребят, из какой папки запускать vagrant up? В рабочей директории, которая прописана в Homestead.yaml? Т.е. по умолчанию Code?
Nikita
@exotickg1
Jul 07 2015 19:32
Делаю всё по офф. документации, и всё равно какой-то base требует хрен
Profbis
@profbiss
Jul 07 2015 19:34
@AmirMirOFF эммм... всё же не так. никакие команды там в никакие файлы не пишут.... Они пишут максимум в переменные
@AmirMirOFF единственно е что так или иначе грузит файл это @extends('my_layout');
И да всем привет!)
У меня вопрос к тем кто более менее плотно работает с ларавелом
Почитал я про вью композер и мне не понятен один момент, а протестить его пока нет возможности.
Если я в композере вызову View::composer('layouts', function.... данные которые я передам будут доступны во всех лайоутах? Или ларавел не поймёт чего я хочу?)
Profbis
@profbiss
Jul 07 2015 19:39
Лайоуты у меня лежат в папочке layouts
У каждого контроллера своя отдельная папочка с вьюхами в экшене пишу return view('my_controller.my_view');
А вьюха в свою очередь экстендится от нужного ей лайоута @extends('layout.main');
Хочу это использовать для передачи данных текущего юзера, менюшек и т.д.
Роман Сохарев
@greabock
Jul 07 2015 19:46

@profbiss

эта функция принимает объект вьюхи,

ну то есть

function($view) uses ($someValue){

    $view->with('some', $someValue);
}

Теперь во вьюхе, для которой был определен композер будет доступна переменная some

NickPanda
@NickPanda
Jul 07 2015 20:02
Всем привет!
Такой момент, я где то видел, но щас уже не нахожу, какое правило надо указать, что если поля в запросе нет, то его не проверяем?
Хочу просто единную проверку, как для всех полей (если отправлена форма) и также хочу проверять форму по ходу заполнения (по 1 полю)
JhaoDa
@jhaoda
Jul 07 2015 20:04
@NickPanda где-то видел? В доке, однако
Gleb Voronov
@VGleb
Jul 07 2015 20:04
@NickPanda sometimes
primalpro
@primalpro
Jul 07 2015 20:09
у меня в Хроме баг какой-то , а в Сафари его нет... FatalErrorException in eb50af38669b0b50e588f7334de804ba line 1:
syntax error, unexpected ';' Кэш чистил
JhaoDa
@jhaoda
Jul 07 2015 20:10
@primalpro заголовки смотрел? Браузер фактически выполняет запрос и получает данные?
primalpro
@primalpro
Jul 07 2015 20:11
@jhaoda нет не рублю в этом деле
@jhaoda если будет еще вылезать часто то заморочусь, спасибо
@jhaoda знаешь через раз работает.. я думаю что запрос для меня слишком сложно будет посмотреть - я там ничего не пойму
loginreegerye
@loginreegerye
Jul 07 2015 20:19
@exotickg1 , если все делал как в документации, то из папки Homestead.
NickPanda
@NickPanda
Jul 07 2015 20:19
@VGleb @jhaoda , то есть, если я его поставлю, то он проверит если есть данные, он проверяет, если нет, то что он выдаст?)
Вдобавок для него, будет ли считаться пустая переменная?
@VGleb @jhaoda Благодарю, то что надо)
Profbis
@profbiss
Jul 07 2015 20:28
@greabock не ты не понял. композер поймёт что он относится ко всем лайоутам? Или нужно его цеплять на сами вьюхи?
@greabock скорее всего нужно писать ещё и вот так View::composer('layouts.*', function....
@greabock тогда если я в экшене дёрну вьюху return view('my_controller.my_view');
@greabock которая в свою очередь @extends('layout.main');
@greabock будет ли в лайоуте переменная которую я передам из композера?
NickPanda
@NickPanda
Jul 07 2015 20:33
Всем спасибо! И удачи в своих разработках!
Nikita
@exotickg1
Jul 07 2015 20:35
@loginreegerye не, не работает вообще никак
уже неделю мозги хаваю с запуском
удаляешь Vagrantfile в директории из которой хочешь запустить, потом в пишешь: vagrant init laravel/homestead и после vagrant up
если все сделал правильно, на этапах раньше, то должно сработать
Роман Сохарев
@greabock
Jul 07 2015 21:20
@profbiss View::composer() первым аргументом принимает имя конкретной вьюхи/лэйаута, или сигнатуру с вайлдкард. Так что да - если ты пишешь сигнатуру layouts.*, то все вьюхи, что находятся в layouts (или даже подкаталогах) , получат доступ к этой переменной в момент вызова.
Нынче неделя вопросов о композере/криэйторе
Это прям как накатывает
То всех провайдеры беспокоили. Потом DDD захотелось. После была лихорадка репозиториев...
asvae
@asvae
Jul 07 2015 21:38
  • Можно ли в докблок класса/метода запихнуть маркдаун?
  • И скомпилировать в phpdoc?
  • И насколько это хорошая идея?
Profbis
@profbiss
Jul 07 2015 21:40
@greabock ок) спс) как доберусь надо поюзать))
Alexander Sterpu
@fs-alex
Jul 07 2015 21:41
Ребята, а репозиторий нужно использовать, если нужно сперва проксировать какую-либо модель, а потом ею оперировать? Если да, то зачем тогда все используют репозитории, которые ожидают только один вид модели, когда можно просто расширить нужные модели?
Роман Сохарев
@greabock
Jul 07 2015 21:42
@Asvae в чем смысл? Такой докблок, кроме тебя/твоего сервиса никто не поймет.
ну а в целом, если сам докблок твой маркдаун не ломает, то пиши в комменте, что в голову взбредет
asvae
@asvae
Jul 07 2015 21:45
@greabock да пытаюсь найти баланс читаемости кода и красивой скомпилированной доки. Хтмл явно сдвигает ползунок в сторону доки. Маркдаун был бы оптимальным.
Artur Gafurov
@assurrussa
Jul 07 2015 21:52
Ребят с view композером вопрос - как сделать так что бы он один раз только рендерил и всё, если я подключаю View::composer('admin*', function($view){...}) которые подключаются на странице много раз, или так вообще не разумно делать?*
Роман Сохарев
@greabock
Jul 07 2015 21:57
@st-vojak "настоящие" репозитории используются только в одном случае: когда нужно абстрагироваться от орм, как источника данных.
Но есть и другие "репозитории" , суть которых в разгрузке контроллеров от лишнего кода. В последнем случае эти репозитории больше похожи на сервисы скрывающие бизнес-логику. Проблема "настоящих" репозиториев заключается в том, что работать извлеченными сущностями можно только, как с объектами StdClass, в противном случае, при смене драйвера репозитория, нет никаких гарантий доступности методов. Можно конечно нагородить интерфейсов для сущностей - но это уже оверинжиниринг. В общем, если нет планов по смене драйвера дб на что-то экзотическое (чего нет в стандартной поставке лары), или планов по смене самой orm, то откажись от идеи использовать "настоящие" репозитории в пользу сервисов.
Nikita
@exotickg1
Jul 07 2015 21:58
@loginreegerye я их находил и вникал, а сейчас, присмотревшись, понял, что всё таки на ларакасте и было решение. Спасибо за помощь)
Danil Dzhenuik
@Ddzhenyik
Jul 07 2015 21:59

Всем привет, нужна ваша помощь, ребят... у меня есть таблицы email'ов и таблицы ключевых слов с которыми она связання через таблицу emails_keywords. Как сделать поиск сразу и по emailам и по ключевикам через eloquent?
пробовал так:

public function scopeMultipleFind($query,$search)
{
if ($search)
$query->where('id','like',"%{$search}%")
->orWhere('name','like',"%{$search}%")
->orWhere('email','like',"%{$search}%")
->orHas('keywords', function($q)
{
$q->where('name', 'like', "%Keyword3%");
});
}

но выдает ошибку(

заранее спасибо...
Роман Сохарев
@greabock
Jul 07 2015 22:03
@Ddzhenyik orWhereHas
но они очень тяжелые
я бы разбил это на два запроса полегче
Alexander Sterpu
@fs-alex
Jul 07 2015 22:13
This message was deleted
Роман Сохарев
@greabock
Jul 07 2015 22:13
?
Alexander Sterpu
@fs-alex
Jul 07 2015 22:14
Старый вопрос
С телефона отправляет без спроса
Спасибо за ответ)
Roman
@TeroBlaZe
Jul 07 2015 22:18
Кто поможет решить очередную ночную загадку? )))) Имеется нечто похожее на код ниже. Нужно сделать так, что когда рендерятся крошки, а заголовок пустой, тегов h1 тоже небыло. Убрать h1 из defaultpage и вставлять в каждую секцию вдругих вьюхах(делов то), да можно, но это не выход и я бы тогда не спрашивал здесь! Хочется чтобы красивее было
defaultpage.blade.php
--------------------------------------
@extends('master')
@section('content')
<article>
    <div class="header">
        <h1>@yield('page_title')</h1>
            @yield('breadcrumbs')
    </div>
    <div class="content">
        @yield('page_content')
    </div>
</article>
@endsection


blog.blade.php
--------------------------------------
@extends('defaultpage')
@section('breadcrumbs')
    Breadcrumbs::render()
@endsection
@section('page_content', 'blabla')
вот почему в блейде о таком не позаботились...
Denis Isaychenko
@Rhincodon
Jul 07 2015 22:26
оборачивание h1 в if с проверкой title?
asvae
@asvae
Jul 07 2015 22:31
@TeroBlaZe hide-empty в CSS?
Denis Isaychenko
@Rhincodon
Jul 07 2015 22:35
тянуть тайтл аяксом и если есть вставлять на страницу? :)
Roman
@TeroBlaZe
Jul 07 2015 22:38
@Rhincodon а причем тут title вообще? Нет его
@Asvae это не плохая идея, но в DOM то он останется пустой...
asvae
@asvae
Jul 07 2015 22:42
@TeroBlaZe ну и нехай. ИМХО неплохо вписывается в логику шаблона. Не поддерживать же под него JS залепку.
@TeroBlaZe хотя в принципе, почему бы и нет:
<h1 class="exterminate-if-empty"></h1>
Roman
@TeroBlaZe
Jul 07 2015 22:46
@Asvae да я скорее всего так и сделаю, спасибо, осталось только понять, как гугл на пустой с скрытый тег отреагирует
Alexander Sterpu
@fs-alex
Jul 07 2015 22:49
'''
@if (trim($__env->yieldContent('title')))
<h1>@yield('title')</h1>
@endif
Laravel 4 можно было
Roman
@TeroBlaZe
Jul 07 2015 22:59
@st-vojak :thumbsup: Огромная благодарность, работает!
почему-то сразу не пришло в голову загуглить по фразе "ifyield", сейчас нашел этот пример и еще несколько других
Roman
@TeroBlaZe
Jul 07 2015 23:05
IfSection, IfYield https://gist.github.com/davejamesmiller/6acf7aa12e084c67fc74
для тех кто захочет найти
asvae
@asvae
Jul 07 2015 23:17
@TeroBlaZe ух ты, отличное решение. Возьму на заметку.