These are chat archives for LaravelRUS/chat

16th
Jul 2015
JhaoDa
@jhaoda
Jul 16 2015 02:39
@VitaliiSestrenskiy поставь PHPStorm или NetBean, не мучайся.
Vadim Shashin
@Enapiuz
Jul 16 2015 06:05
@VitaliiSestrenskiy если не охота покупать, то JetBrains даже где-то писали, что им не будет очень уж обидно, если ты поставишь пиратский шторм :smile:
Роман Сохарев
@greabock
Jul 16 2015 06:06
кстати
генератор ключей от семерки, где-то на торрентах валялся
для девятки тоже подходит
This message was deleted
Хотя ладно, я передумал )
Тут че нашел, ребят
Роман Сохарев
@greabock
Jul 16 2015 06:12
Я не знаю, как я его пропустил, но пакет БОМБА
https://github.com/yajra/laravel-datatables
Pavel
@Inkognitoo
Jul 16 2015 06:27
Есть ли у laravel обёртка для консольных команд?
например, мне нужно получить список каталогов с правами: ls -l
Alexander Popov
@ruelephant
Jul 16 2015 06:31
стандартной нет
Pavel
@Inkognitoo
Jul 16 2015 06:31
@ruelephant, очень жаль
Может быть тогда кто-нибудь посоветует какую-нибудь удобную обёртку, которой пользовался?
остался последний вопрос, до лимита в 3 бесплатных ответа в день :)
Pavel
@Inkognitoo
Jul 16 2015 06:35
@ruelephant спасибо =D
Ну что ж... Тогда посоветуй пожалуйста удобную систему кэширования для уже сгенерированных страниц =) (как я понял, laravel кэширует только шаблоны, без данных)
Alexander Popov
@ruelephant
Jul 16 2015 06:36
лара то какая?
версия
Pavel
@Inkognitoo
Jul 16 2015 06:36
последняя
Alexander Popov
@ruelephant
Jul 16 2015 06:36
не ответ :)
5.1?
Pavel
@Inkognitoo
Jul 16 2015 06:36
5ю1
5.1*
Alexander Popov
@ruelephant
Jul 16 2015 06:52
пожжу я убег
Pavel
@Inkognitoo
Jul 16 2015 06:53
@ruelephant удачи!
Yury
@DrYurets
Jul 16 2015 07:03
keygen, кстати, еще аж с 3-й версии шторма работает... ))
т.е. с примерно 2010-го года
Роман Сохарев
@greabock
Jul 16 2015 07:35
Ну если JetBrains такое положение дел устраивает, то меня и тем более ))
Alex Ilyenko
@assada
Jul 16 2015 08:31
@greabock они на хабре ответили что они не будут бороться. Их это не смущает.
Тем более для студентов скидки, а OpenSource - вообще бесплатно
Pavel
@Inkognitoo
Jul 16 2015 08:35
Можно ли как-то (помимо exception) прервать DB:transaction
Alex Ilyenko
@assada
Jul 16 2015 08:36
Как можно перехватить все экзепшены в мой обработчик?
На симфони я обрабатывал все ошибки и отправлял их в слак
это для обработки
чуть повыше метод для репорта
Yury
@DrYurets
Jul 16 2015 10:30
да, клевый пакет Datatables, с таблицей over 50К записей шуршит достаточно быстро... спасибо, @greabock !
Alex Ilyenko
@assada
Jul 16 2015 10:39
@greabock спасибо
This message was deleted
Vadim Shashin
@Enapiuz
Jul 16 2015 10:39
кстати да, попробовать пока не удалось, да и задач нет, но запомнил пакет, @greabock спасибо :smile:
Alex Ilyenko
@assada
Jul 16 2015 10:40
и еще вопрос. Я могу использовать сразу два "middleware" для группы роутов?
омг. Гиттер лагает
но вопрос актуален
Pavel
@Inkognitoo
Jul 16 2015 10:41
@Assada
Route::group(['middleware' => ['check.models', 'auth']], function () {

});
Alex Ilyenko
@assada
Jul 16 2015 10:42
@Inkognitoo ништяк
Alex Ilyenko
@assada
Jul 16 2015 10:59
Как можно реализовтаь динамические роуты из бД?
Идея с проверкой в middleware на существование параметра в БД меня не особо радует
как перспектива
Roman Tsiupa
@dracony
Jul 16 2015 11:00
Привет ) Мне надо "взгляд со стороны" на туториал к 3-й PHPixie . Мне, и тем кто использовал вторую версию все кажется понятным, но думаю это через то что они похожие были. Если есть 5 минут взгляньте плиз как вам оно:
https://github.com/PHPixie/Demo-Quickstart/blob/master/README.md
Vadim Shashin
@Enapiuz
Jul 16 2015 11:00
@Assada а походу только так
разве что кешировать это добро, чтобы не мучить базу сильно
Alex Ilyenko
@assada
Jul 16 2015 11:02
@Enapiuz не подходит
Vadim Shashin
@Enapiuz
Jul 16 2015 11:04
@Assada я тоже искал хорошие решения, в итоге сделал так, правда для проекта рисуется новый дизайн и продакшен он отправится через пару недель только, надеюсь ничего не помрет
Orel
@2byte
Jul 16 2015 11:06
This message was deleted
Alex Ilyenko
@assada
Jul 16 2015 11:07
test/abc
abs/qwerty
abs/awds
я не представляю как такие роуты реализовать
динамически
Есть у меня база с продуктами
а мне нужны красивые урлы.
которые связать невозможно
с базой
Безумный тимлид предложил безумную вещь.
Роуты фигачить форычем
или имплоудить в регулярку
RTFM
Variant pochitatj doki timlid ne rassmatrival)
Alex Ilyenko
@assada
Jul 16 2015 11:14
а причем тут параметры
Roman Tsiupa
@dracony
Jul 16 2015 11:15
poluchajesh ponyj putj kak perametr
polnyj*
i parsish sebe v kontrolera kak hochesh
tipa
Alex Ilyenko
@assada
Jul 16 2015 11:16
ага... Круто. Можно и так. Нужно подумать
Roman Tsiupa
@dracony
Jul 16 2015 11:16
poluchajesh 'computers/lenovo/shitty/laptop' kak parametr
a dalshe kak uzhe hochesh
hochesh eksploufdish po sleshu
i idesh ORMkoj
Alex Ilyenko
@assada
Jul 16 2015 11:16
круто
JhaoDa
@jhaoda
Jul 16 2015 11:17
@dracony ты это специально, да?
Alex Ilyenko
@assada
Jul 16 2015 11:17
спасибо большое
Roman Tsiupa
@dracony
Jul 16 2015 11:17
ili dlja kazhdogo product sohranjajesh jego putj
v tablice
JhaoDa
@jhaoda
Jul 16 2015 11:17
Точно, специально...
Roman Tsiupa
@dracony
Jul 16 2015 11:17
chto?
Alex Ilyenko
@assada
Jul 16 2015 11:17
@jhaoda что не так-то?
Roman Tsiupa
@dracony
Jul 16 2015 11:17
@Assada nezachto )
JhaoDa
@jhaoda
Jul 16 2015 11:18
Ну транслитом писать
Orel
@2byte
Jul 16 2015 11:18
@jhaoda он не ру)
Roman Tsiupa
@dracony
Jul 16 2015 11:18
u menja net perekljuchalki tut
prihoditsa cherez "setxkbmap" kazhdyj raz))
JhaoDa
@jhaoda
Jul 16 2015 11:19
@2byte кто не «ру»?
Orel
@2byte
Jul 16 2015 11:19
@dracony а где живешь?
Roman Tsiupa
@dracony
Jul 16 2015 11:19
Lvov -> Berlin
JhaoDa
@jhaoda
Jul 16 2015 11:19
@dracony почему нас должно это волновать?
Orel
@2byte
Jul 16 2015 11:19
@jhaoda вот видишь он не ру)
Roman Tsiupa
@dracony
Jul 16 2015 11:19
@jhaoda po hodu volnujet tolko tebja))
JhaoDa
@jhaoda
Jul 16 2015 11:19
@2byte ну ок, он украинец. И что?
Roman Tsiupa
@dracony
Jul 16 2015 11:19
ja mnogo tut ne pishu)
Orel
@2byte
Jul 16 2015 11:20
@jhaoda ничего, ты спросил я ответил
Roman Tsiupa
@dracony
Jul 16 2015 11:21
@jhaoda uzbagojsja)) bolshe pisatj ne budu)) Prosto kogda uvidel "Роуты фигачить форычем" ne sderzhalsja
Alex Ilyenko
@assada
Jul 16 2015 11:21
@dracony он настаивает
Roman Tsiupa
@dracony
Jul 16 2015 11:21
na dnjah obnovlju sistemu i plagin perekljuchalki zarabotajet i vsjo budet ok
Alex Ilyenko
@assada
Jul 16 2015 11:21
"по сути тебе все роуты придется пропускать через этот кнтроллер"
Roman Tsiupa
@dracony
Jul 16 2015 11:22
nu ne vse
только те что начинаюттся с /продактс/
Alex Ilyenko
@assada
Jul 16 2015 11:22
ну у меня нет префикса
у меня сходу
Roman Tsiupa
@dracony
Jul 16 2015 11:22
ну тогда печалька)
Alex Ilyenko
@assada
Jul 16 2015 11:22
звучит не круто
Roman Tsiupa
@dracony
Jul 16 2015 11:23
юзали б вы Пиксю, могли б вставить свой рутер )
ща я доки ларавелки посмотрю
нууу можно так:
Alex Ilyenko
@assada
Jul 16 2015 11:24
Что-то мне припекает от того что нужно будет в route.php делать селект, по нему форыч в котором я фигачу роуты
Roman Tsiupa
@dracony
Jul 16 2015 11:24
Route::get('/', function()
{
return CustomRouter::route();
});
ne
net
Route::get('/{slashData?}', function($slashData = null) {
    return CustomRouter::route($slashData);
})->where('slashData', '(.*)');
I vse selekty togda v CustomRoute::route() delatj
который просто себе клас
Alex Ilyenko
@assada
Jul 16 2015 11:29
Тогда другой вопрос. В базе хранить название метода?
Roman Tsiupa
@dracony
Jul 16 2015 11:29
так зачем?
вюшку то контролер выбирает
нет?
Alex Ilyenko
@assada
Jul 16 2015 11:30
дада. Я удалил из вопроса
просто метод хранить
Roman Tsiupa
@dracony
Jul 16 2015 11:30
так зачем в базе
можно на ифах в том кастомном класе
Const
@umren
Jul 16 2015 11:30
есть же стандартные роуты, чего там не хватает?
{раз}/{два}
Alex Ilyenko
@assada
Jul 16 2015 11:30
там не хватает динамики
Const
@umren
Jul 16 2015 11:31
ну и дальше там выбирай что надо
Roman Tsiupa
@dracony
Jul 16 2015 11:31
ну типа нашли такой-то объект = зарутить в такой-то метод
Const
@umren
Jul 16 2015 11:31
поставь ниже другого роута который обрабатывает в первой части что то
Roman Tsiupa
@dracony
Jul 16 2015 11:32
это ж не означает что все другие роуты надо поудалять
Const
@umren
Jul 16 2015 11:32
именно
просто ниже поставить, что если там не заматчилось
то сюда
Roman Tsiupa
@dracony
Jul 16 2015 11:32
типа там /контактс итд можно прописать как было
Alex Ilyenko
@assada
Jul 16 2015 11:32
у меня страничка продукта на первом уровне
/prod1
Const
@umren
Jul 16 2015 11:32
и че
Alex Ilyenko
@assada
Jul 16 2015 11:32
/prod2
Const
@umren
Jul 16 2015 11:33
матчишь продукт и выводишь
Alex Ilyenko
@assada
Jul 16 2015 11:33
еще есть всякие статики которые тоже нужно в базе хранить у них другой урл /page/asd, /page/afgg
Const
@umren
Jul 16 2015 11:33
в чем проблема то, что нужно придумать рокет сайенс?
есть приоритеты
матчей
что выше стоит, уже все
уехало
читай документацию
роут не будет обрабатываться 2 раза
т.е. проблемы вообще нет
Roman Tsiupa
@dracony
Jul 16 2015 11:34
Route::get('/contacts', 'HZ@kuda');

Route::get('/{slashData?}', function($slashData = null) {
    return CustomRouter::route($slashData);
})->where('slashData', '(.*)');
Alex Ilyenko
@assada
Jul 16 2015 11:35
я уже задачу забыл. Тим лид кричит про форычи. Я медленно пишу заяву.
Roman Tsiupa
@dracony
Jul 16 2015 11:35
)))
Const
@umren
Jul 16 2015 11:35
ну ты панику разводишь на пустом месте
задача решается типично
Roman Tsiupa
@dracony
Jul 16 2015 11:36
vash timlid ZCE ?
Const
@umren
Jul 16 2015 11:36
форичи никакие не нужны
Alex Ilyenko
@assada
Jul 16 2015 11:36
This message was deleted
:D
Roman Tsiupa
@dracony
Jul 16 2015 11:37
esli net to skazhy chto tebe ZCE ( http://www.zend.com/static-assets/img/zcedirectory/ZCE-PHP5-3-logo-XS.jpg ) skazal tak delatj )))
mozhet hotj raz mnje ta plashka v poljzu stanet)))
Alex Ilyenko
@assada
Jul 16 2015 11:38
:D
Roman Tsiupa
@dracony
Jul 16 2015 11:40
все потому что
ели сделать конскую регулярку то матчить ее оно будет месяц
ну не месяц но например если их будет 100 это уже не меньше секунды
Alex Ilyenko
@assada
Jul 16 2015 11:40
я вообще сижу в панике
Roman Tsiupa
@dracony
Jul 16 2015 11:41
а если нагенерить вагон роутов
то
Alex Ilyenko
@assada
Jul 16 2015 11:41
то...
Roman Tsiupa
@dracony
Jul 16 2015 11:41
1) как потом урлы генерить ?
Alex Ilyenko
@assada
Jul 16 2015 11:41
а ну да
Roman Tsiupa
@dracony
Jul 16 2015 11:41
так и писать computer.lenovo.shitty.laptop ?)
ну лан урлы можно в базу прописать
но если они уже в базе то из и матчать по базе можно!!!!
что приводит нас назад)
дальше, даже стринги матчать это не так просто когда их вагон
а роуты то генерится будут на каждом риквесте
а дебажить нагенеренные роуты как?
Alex Ilyenko
@assada
Jul 16 2015 11:45
дело в том то у нас могут быть Категории /ccat1, /bcat2, /acat3 и они должны идти в один контроллер
а так-же продукты /a1, /b1,/b3 Другой контроллер. Все без префиксов. Отличить что где - невозможно.
он предлагает хранить роут и ProdController@someAction в базе
Const
@umren
Jul 16 2015 11:46
с такими требованиями к линкам, нужно одним роутом чекнуть если ли категория, если есть то выводим ее, если нету то чекаем есть ли товар, выводим его
Alex Ilyenko
@assada
Jul 16 2015 11:47
это типа не прикольно. У нас же в базе есть экшн
это все его слова
Const
@umren
Jul 16 2015 11:47
хранить роут в базе это крайне не правильно
и размазывание логики
Alex Ilyenko
@assada
Jul 16 2015 11:47
плюсую
JhaoDa
@jhaoda
Jul 16 2015 11:48
@Assada роуты можно делать в виде замыканий. Замыкания можно сериализовать. Сериализованное замыкание — это текст, его можно писать в базу
Даешь логику в базе!!!
NelinD
@NelinD
Jul 16 2015 11:48
@jhaoda )))
Alex Ilyenko
@assada
Jul 16 2015 11:48
просто мои аргументы "все х**ня" его не устраивают. А у него другой аргумент который меня не устраивает "не ломайся, Леша. я этих роутингов миллион сделал, я знаю что говорю."
Const
@umren
Jul 16 2015 11:48
ага, а потом они начнут все роуты в базе хранить
ну и контроллеры еще
че уж
Roman Tsiupa
@dracony
Jul 16 2015 11:51
function route($path) {
     $category = $orm->findByPath('cateory', $path);
     if($category !== null) {
             return "Category@view";
      }

     $product = $orm->findByPath('product', $path);    
     if($product !== null) {
             return "Product@view";
      }
}
i vsjo
ja ne znaju Elokvent ili kak ego tam
no ideja ponjatna
a kak v baze? choto k kazhdomu produkty vcepitj "Product@view" v kazhduju zapisj?
tak davajte togda uzh luchse otdelnuju tablicu
i JOIN-ami
)))
vot togda veselje budet)
Alex Ilyenko
@assada
Jul 16 2015 11:52
я уже сам не знаю что он предлагает
у меня самая настоящая паника
сейчас короче еще раз поговорю с ним что да как
Написал ему в слак
сча будем бороться
Roman Tsiupa
@dracony
Jul 16 2015 11:57
dumaju on uzhe ne postupitsa
znaju ja takih tim lidov))
Roman Tsiupa
@dracony
Jul 16 2015 11:58
a to on pokazhetsa slab)))
Alex Ilyenko
@assada
Jul 16 2015 11:58
я просто не могу привести весомых аргументов против форыча и имплоуда
Roman Tsiupa
@dracony
Jul 16 2015 11:58
dolgo matchitj
trudno debazhytj
vseravno URLy nado v bazu pisatj
chtoby v shablone ispoljzovatj
Alex Ilyenko
@assada
Jul 16 2015 11:59
"почему не вариант. аргументируй"
началось
Roman Tsiupa
@dracony
Jul 16 2015 11:59
nu nachni s togo chto matchitj budet sovsem medlenno
daljshe
vot naprimer ne rabotaet chto-to, tipa 404
kak najti gde bag?
v variente s CustomRoute::route() vse legko
debazhysh rikvest i smotrish v kakoj IF popal
Alex Ilyenko
@assada
Jul 16 2015 12:02
"форич дебажить трудно? выведи массив, роутов, вот и все. да его не надо будет дебажить, там проблем никаких не может быть."
Roman Tsiupa
@dracony
Jul 16 2015 12:02
tak tut naobotrot
forich zhe zapuskajetsa pered matchem
toestj kogda matchajetsa route
to foreach uzhe zakonchilsa
i match idet s tem chto on tam nageneril
masiv routov budet ogromnyj
ty reversni argument
sprosi chto jemu ne nravitsa v customRoute
vot ty tochno mozhesh skazatj hto tak budet bystree
i generitj nichego ne nado
VOT JESCHO
a chto jesli nado dobavit routy pered etimi kastomnymi i poslje nih
tipa
Alex Ilyenko
@assada
Jul 16 2015 12:04

Я
с таким же успехом можно роуты на замыканиях построить и хранить их в сериализированом виде в бд

666[3:02 PM]
за шаблон ответственный контроллер. все. что невозможного не понимаю

666[3:03 PM]
"с таким же успехом" - это не аргумент.

666 [3:03 PM]
еще есть аргументы?

Roman Tsiupa
@dracony
Jul 16 2015 12:04
Route::get('/contacts', 'HZ@kuda');

Route::get('/{slashData?}', function($slashData = null) {
    return CustomRouter::route($slashData);
})->where('slashData', '(.*)');

Route::get('/kudato', 'HZ@kuda');
esli s CustomRoute to vsjo ponjatno
a kak ty forichami
nagenerish tak
chtoby popalo kak raz poseredinke
?
NelinD
@NelinD
Jul 16 2015 12:06
кто эти парни?
Roman Tsiupa
@dracony
Jul 16 2015 12:06
kak on pihnjet tuda svoj foreach? prjam v konfig routov zasunet?
Alex Ilyenko
@assada
Jul 16 2015 12:06
да
я так и сделаю
вот сука на зло
mysql_connect
fetch_row
Foreach
Roman Tsiupa
@dracony
Jul 16 2015 12:07
))
Alex Ilyenko
@assada
Jul 16 2015 12:12
blob
Дальше рука не поднялась
Roman Tsiupa
@dracony
Jul 16 2015 12:13
))))
Roman Tsiupa
@dracony
Jul 16 2015 12:22
job tvoju matj
))
takije jescho jestj
lan
sdelaj vot chto
dlja testa
nagenerj 2000 routov
/prod1 /prod2 itd
/prod2000
potom ispoljzuja 'ab' (apache benchmark) posmotri raznicu mezhdu vyzovom /prod1 i /prod2000
srazu budet vidno naskoljko tormozit
iGloom
@iGloom
Jul 16 2015 12:24
ну а вдруг там оверхед в 500 мс никого не напряжет xD
Roman Tsiupa
@dracony
Jul 16 2015 12:25
ololo
?
Google guidelines govorjat chto sajt dolzhen gruzitsa za 400 ms
svyshe etogo +100ms -10% polzovatelej
kotoryje zajebutsa po sajtu lazitj
Alex Ilyenko
@assada
Jul 16 2015 12:26

скока занимает запрос к таблице с тысячей записей?

222[3:25 PM]
если даже тысяча

111[3:25 PM]
ну не знаю

222[3:25 PM]
0,0001 мс

2222[3:25 PM]
ок??

2222[3:26 PM]
еще есть вопросы?

Roman Tsiupa
@dracony
Jul 16 2015 12:26
pri chom tut zapros?
ja o tomchto laravelke nado routy eti parsitj
uzhe poslje togo kak oni sgenereny
kogda ona rikvest matchaet
Maxim
@Big-Shark
Jul 16 2015 12:27
@dracony не матерись в чате
Roman Tsiupa
@dracony
Jul 16 2015 12:27
))) krik dushy))
iGloom
@iGloom
Jul 16 2015 12:27
просто мне кажется тимлид из серии "я самодур, если я придумал ерунду, все должны вертеться"
рассказы про хранение логики в одном месте, нагрузку, "not-the-right-way for laravel" и прочее - тут не спасет
можно попробовать как @dracony сказал - если разница весомая, тебя должны внять
если нет - тогда заявление на увольнение + докладную на тимлида, и валить )))
Alex Ilyenko
@assada
Jul 16 2015 12:28
"not-the-right-way for laravel" вообще не про него
я вот начинаю уже думать об этом
меня конечно предупреждали
но чтобы на столько
iGloom
@iGloom
Jul 16 2015 12:29
просто тут еще какое дело, ларка же вроде кешит роуты
а это замыкание с майскл внутри она же хрен закешит
Roman Tsiupa
@dracony
Jul 16 2015 12:29
net nu ono konechno zhe budet kazhdyj raz vyponjatsa)
potmo jescho foreach 2000 iteracyj
i jescho stoljko zhe iteracyj matchit
Maxim
@Big-Shark
Jul 16 2015 12:30
а в чем вообще вопрос?
Alex Ilyenko
@assada
Jul 16 2015 12:31
"у тебя 2 группы динамических роутов + статика. все они стартуют от корня страницы. какие варианты? только таблица с роутами."
Roman Tsiupa
@dracony
Jul 16 2015 12:31
nu ja zhe napisal CheckRoute sverhu
ne nado tablicu
iGloom
@iGloom
Jul 16 2015 12:31
вау, забавно кстати
замыкание мне закешить не удалось, но после их закомментирования и php artisan route:cache время выполнения на слабой тестовой машинке упало с 700 мс до 600 мс
кеширование роутов приятная вещь
Roman Tsiupa
@dracony
Jul 16 2015 12:33
a mozhesh poprobovatj sgeneritj 2000 routov
i zaprositj pervyj (/prod1) i poslednij (/prod2000)
Maxim
@Big-Shark
Jul 16 2015 12:33
А можно фаст роут прикрутить, или вообще в кэш сохранять
у вас проблема как реализовать чтоб хитрей было, или это у вас тормозит?
Roman Tsiupa
@dracony
Jul 16 2015 12:34
karoch
problema v tom chto ih generitj vobsche ne nado
tam mozhno sdelath odnim kolbekom
Maxim
@Big-Shark
Jul 16 2015 12:34
Пока насколько я понял у вас переливания из пустого в порожнее)
@dracony можно конечно 1 колбэком, но тут нужно смотреть грубо говоря на условия для этого, и насколько нагружена база
Pavel
@Inkognitoo
Jul 16 2015 12:35

пытаюсь через DB::statement(Storage::get('tmp/test.backup')); восстановить дамп postgresql, но мне возвращает такую ошибку:

SQLSTATE[42601]: Syntax error: 7 ERROR:  syntax error at or near "1"
LINE 316: 1 1 2 1 {"1":"\\u041f\\u0435\\u0440\\u043c\\u044c","2":"\\u0...
          ^ (SQL: --
-- PostgreSQL database dump
--

строки в дампе:

SQLSTATE[42601]: Syntax error: 7 ERROR:  syntax error at or near "1"
LINE 316: 1 1 2 1 {"1":"\\u041f\\u0435\\u0440\\u043c\\u044c","2":"\\u0...
          ^ (SQL: --
-- PostgreSQL database dump
--

дамп выполнял командой: 'pg_dump business_card_base --schema test > '.storage_path('app/tmp/').'test.backup') в чём может быть ошибка?

прошу прощения, строки в дампе:
COPY blocks (id, "order", tab_id, type_id, content) FROM stdin;
1    1    2    1    {"1":"\\u041f\\u0435\\u0440\\u043c\\u044c","2":"\\u041e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435 \\u043f\\u0435\\u0440\\u043c\\u0438","3":2015,"4":"tratatatata.png"}
\.
Roman Tsiupa
@dracony
Jul 16 2015 12:36
Alex Ilyenko
@assada
Jul 16 2015 12:37
окей
а что там
внутри
как узнать
что и как. какой метод или контроллер
CustomRouter::route($slashData);
кучу ифов?
для 2000 страниц?
Roman Tsiupa
@dracony
Jul 16 2015 12:37
nje
ifa 2
odin dlja kategorij
drugoj dlja produktov
Alex Ilyenko
@assada
Jul 16 2015 12:38
а если нет категорий
все на 1 уровне
Roman Tsiupa
@dracony
Jul 16 2015 12:38
togda net ifa)
Alex Ilyenko
@assada
Jul 16 2015 12:38
как тогда метод вызвать нужный?
Roman Tsiupa
@dracony
Jul 16 2015 12:38
togda srazu ischesh v baze estj li takoj rodukt
esli jestj
vozvraschajesh "Product@view"
Alex Ilyenko
@assada
Jul 16 2015 12:38
а если это не продукт а статичная странциа которая тоже в базе
Roman Tsiupa
@dracony
Jul 16 2015 12:39
vozvraschajsh "Pages@contacts"
i pustj kontroller Pages s nej razbirajetsa
tojest ischesh snachala product s takim $slashPath, esli nashel znachit routish v Products kontroller
esli ne nashel probujesh najti stranicu
i routish v Pages controller
Const
@umren
Jul 16 2015 12:41
@Assada увольняйся короче, смысл бороться
@Assada работы валом
))))
Alex Ilyenko
@assada
Jul 16 2015 12:42
andy [3:41 PM]
набросай мне код этой функции для нашего случая

andy [3:41 PM]
CustomRouter::route($slashData);

andy [3:41 PM]
я вернусь и посмотрим

andy [3:42 PM]
если это твое финальное решение, конечно
Roman Tsiupa
@dracony
Jul 16 2015 12:42
eto ne vash ofis sluchajno?
Alex Ilyenko
@assada
Jul 16 2015 12:43
нет =)
Roman Tsiupa
@dracony
Jul 16 2015 12:43
))))
nu vot nabrosaj koda
tojko ja tak ponjal tam nado ne return "Prodicts@view"
a srazy vyzvatj nuzhnyj kontroller
tipa return (new HomeController)->index();
Alex Ilyenko
@assada
Jul 16 2015 12:46
А как узнать какой?
Мне для разных страниц нужен свой контроллер
а у некоторых общий
в базе хранить тип странички?
Roman Tsiupa
@dracony
Jul 16 2015 12:47
stop
tak eti stranicy staticheskije?
tipa ne generjtsa
ih mozhno prosto routami propisatj
pered checkroute
Alex Ilyenko
@assada
Jul 16 2015 12:47
не подходит ему
Roman Tsiupa
@dracony
Jul 16 2015 12:47
rut CheckRoute stavish v sam konec
kstati mozhno tak"
Route::get('/', array('as'=>'main','uses' => function() {
//propverki
return "Conroller@action";
} ));
po hodu
Alex Ilyenko
@assada
Jul 16 2015 12:49
class CustomRoute{
    public static function route($slashData){
        $page = Pages::findOne('route = $slashData');
        if(!$page === null) {
            abort(404);
        }
       $pageType = $page->getType();      
        if($pageType == 'static')
        return new StaticController->someAction();
    }elseif($pageType == 'product'){
.....
}
}
а если типов страниц штук 1000
Roman Tsiupa
@dracony
Jul 16 2015 12:50
a kontrollerov u vas tozhe 1000?
Alex Ilyenko
@assada
Jul 16 2015 12:50
можно конечно контроллер назвать как тип странички
но это не очень
на каждый тип свой контроллер, да
Roman Tsiupa
@dracony
Jul 16 2015 12:51
nu ok
$controllerClass = $type.'Controller';
Alex Ilyenko
@assada
Jul 16 2015 12:51
такое себе
я об этом и говорил
Roman Tsiupa
@dracony
Jul 16 2015 12:51
App::make($controllerClass)
no ja shto0to ne verju schto vy budete 1000 kontrollerov pisatj
))
a pochemu u vas 'product' vs tablichke Pages?
u nih ne svoja tablica?
Alex Ilyenko
@assada
Jul 16 2015 12:54
Есть 1 табличка с роутами
там сплошное безумие
я не знаю как ему пояснить что это не правильно
Roman Tsiupa
@dracony
Jul 16 2015 12:55
Есть 1 табличка с роутами 0_o
zachem?
butschster
@butschster
Jul 16 2015 12:55
ради красивых урлов городить безумие :)
в чем сыр бор?
Roman Tsiupa
@dracony
Jul 16 2015 12:57
lan) ja uhozhu)
udachi @Assada )
Alex Ilyenko
@assada
Jul 16 2015 12:57
и я
спасибо большое
butschster
@butschster
Jul 16 2015 12:57
я для свой CMS тоже делал некую систему с псевдо урлами
могу поделиться
соображениями
Alex Ilyenko
@assada
Jul 16 2015 12:57
я на перекур
mastfreaky
@mastfreaky
Jul 16 2015 13:14
Привет. Как проверить ввёл ли пользователь правильный логин и пароль без авторизации?
butschster
@butschster
Jul 16 2015 13:16
сравнить их с теми что в БД?
mastfreaky
@mastfreaky
Jul 16 2015 13:16
Как ларавел их хэширует?
JhaoDa
@jhaoda
Jul 16 2015 13:22
@mastfreaky кого «их»?
Хэшируется только пароль
Ну и не совсем понимаю, зачем проверять отдельно?
mastfreaky
@mastfreaky
Jul 16 2015 13:25
@jhaoda , пароли как хэширует?
JhaoDa
@jhaoda
Jul 16 2015 13:25
Наивно предполагаю, что через password_hash
mastfreaky
@mastfreaky
Jul 16 2015 13:26
Что это?
Пример метода можно?
JhaoDa
@jhaoda
Jul 16 2015 13:27
@mastfreaky это РНР-функция. Или в гугле забанили?
Pavel
@Inkognitoo
Jul 16 2015 13:30
@mastfreaky \Illuminate\Support\Facades\Hash::make('secret')
JhaoDa
@jhaoda
Jul 16 2015 13:31
@Inkognitoo неправильно. Правильно — \Hash::make('secret') или просто bcrypt()
Впрочем, человек спросил не это
Pavel
@Inkognitoo
Jul 16 2015 13:33
@jhaoda bcrypt('secret') тогда уж
JhaoDa
@jhaoda
Jul 16 2015 13:33
@Inkognitoo ой, ну я не написал параметр, казните меня!
mastfreaky
@mastfreaky
Jul 16 2015 13:34
Есть в ларавеле что-то, типа, password_verify?
Pavel
@Inkognitoo
Jul 16 2015 13:36
@jhaoda казнить нельзя, помиловать )
Я почему-то не заметил конца твоего сообщения, по тому и дописал.
JhaoDa
@jhaoda
Jul 16 2015 13:36
@mastfreaky не пробовал посмотреть как работает метод Auth::attempt()?
mastfreaky
@mastfreaky
Jul 16 2015 13:38
Авторизует?
sydigo
@sydigo
Jul 16 2015 13:38
Мне кажется, его не интересует как авторизоваться...
JhaoDa
@jhaoda
Jul 16 2015 13:38
@mastfreaky я тебе ещё больше подскажу. Посмотри метод validateCredentials в классе Illuminate\Auth\EloquentUserProvider
@sydigo тебе кажется.
Роман Сохарев
@greabock
Jul 16 2015 13:39
@DrYurets @Assada @Enapiuz
Та не жалко! =)
@butschster ты тентаклю в проект запилил? ))
Alex Ilyenko
@assada
Jul 16 2015 13:39
@greabock не жалко?
ты о чем?
sydigo
@sydigo
Jul 16 2015 13:39
@jhaoda не кажется. Он спросил как проверить валидацию пароля и захешированного пароля.
JhaoDa
@jhaoda
Jul 16 2015 13:40
@sydigo кажется, кажется.
sydigo
@sydigo
Jul 16 2015 13:40
@jhaoda странный ты
mastfreaky
@mastfreaky
Jul 16 2015 13:40
@jhaoda, самое первое моё сообщение.
Роман Сохарев
@greabock
Jul 16 2015 13:40
@Assada ну вы "спасибо" говорили )
butschster
@butschster
Jul 16 2015 13:41
@greabock да, годная штука
JhaoDa
@jhaoda
Jul 16 2015 13:41
@sydigo @mastfreaky Просто если посмотреть метод Auth::attempt(), то можно последовательно дойти до Illuminate\Auth\EloquentUserProvider::validateCredentials(), где, мать его, и ПРОВЕРЯЕТСЯ пароль!!!
Мне очень жаль, что вы такой элементарщины сами не можете сделать...
sydigo
@sydigo
Jul 16 2015 13:42
@jhaoda, почему ты злой? Он сюда и написал, чтобы не лазить в исходники.
Роман Сохарев
@greabock
Jul 16 2015 13:43
@butschster лэзи-лоадинг, кстати, Сова туда допиливал. Я когда сделал, не подумал про него как-то
вообще @sleeping-owl крутой чувак =)
мне нравится, как он пишет
JhaoDa
@jhaoda
Jul 16 2015 13:50
Гуру, а вот такой вопрос. Надобно мне писать активность юзера. Ну там, камент поставил, лайкнул, в избранное добавил статью. Допустим, может быть десяток таких событий. Писать в базу тип события и сущность через полиморфизм не проблема.
Но потом же это надо показывать в ленте. И надо в json отдавать строку вида «Вася добавили в избранное статью "Как плодятся тараканы"». И вот я не могу придумать, кто это должен рендерить? Я такую штуку уже делал, но там было 10+ блэйд-шаблонов, рендерер просто их вызывал.
Можно, конечно, написать 10 Fractal-трансформеров, но как-то это не кошерно... или один трансформер, но со свитчем на 10 условий?
mastfreaky
@mastfreaky
Jul 16 2015 13:52
Спасибо.
JhaoDa
@jhaoda
Jul 16 2015 13:52
Хотя, вроде бы, какая разница, 10 блэйд-шаблонов или 10 трансформеров...
sydigo
@sydigo
Jul 16 2015 13:53

@jhaoda, а стоило посмотреть документацию, оказывается всё проще. Hash::check('secret', $hashedPassword);

Лазь дальше по исходникам. Если разработчики поменяют что-то в авторизации, у тебя может полететь всё.

JhaoDa
@jhaoda
Jul 16 2015 13:54
@sydigo ну видишь как полезно читать доку
sydigo
@sydigo
Jul 16 2015 13:55
@jhaoda почему мне это пишешь? Я её читаю
JhaoDa
@jhaoda
Jul 16 2015 13:55
@sydigo а мне ты это зачем пишешь? Я тоже её читаю.
sydigo
@sydigo
Jul 16 2015 13:55
@jhaoda до этого ты писал @mastfreaky свои предположения.
Роман Сохарев
@greabock
Jul 16 2015 13:55
@jhaoda фракталы решают. Я прям в модели в статической переменной храню список фракталов на все случаи.
JhaoDa
@jhaoda
Jul 16 2015 13:56
@sydigo Я просто считаю, что лучше дать удочку, чем рыбу.
@greabock типа, свой расширенный вариант toJson()?
sydigo
@sydigo
Jul 16 2015 13:57
@jhaoda нелогичное сравнение. Удочкой ловишь рыбу, а твоим предположенным методом password_hash, ещё и рабочим для ларавела, ты дал половину рыбы.
JhaoDa
@jhaoda
Jul 16 2015 13:58
@sydigo я разве предлагал password_hash?
sydigo
@sydigo
Jul 16 2015 13:58
Да
butschster
@butschster
Jul 16 2015 13:58
@greabock ну да, я бы с ним сработался
JhaoDa
@jhaoda
Jul 16 2015 13:58
@sydigo Человек спросил — как ларавель хэширует пароль? Я ответил, что через password_hash. Это разве неправда?
sydigo
@sydigo
Jul 16 2015 13:59
@jhaoda, правда. И всё таки не значит ли это, что ты уже дал рыбу?
JhaoDa
@jhaoda
Jul 16 2015 13:59
@sydigo нет
sydigo
@sydigo
Jul 16 2015 14:00
@jhaoda это точно не удочка
mastfreaky
@mastfreaky
Jul 16 2015 14:00
Простите меня за тупые вопросы, но я ещё маленький, а вы меня сразу обижать.
Роман Сохарев
@greabock
Jul 16 2015 14:04
посоны рыбачат )
mastfreaky
@mastfreaky
Jul 16 2015 14:05
Ещё вопрос: кто подкинет доку по двухфакторной авторизации?
NelinD
@NelinD
Jul 16 2015 14:12
@mastfreaky гугл?
Роман Сохарев
@greabock
Jul 16 2015 14:19
@mastfreaky это слишком широкий вопрос, сходи статейку на хабре почитай, потом разбей на подзадачи, и тогда уже с вопросами чуть более конкретными приходи )
Vadim Shashin
@Enapiuz
Jul 16 2015 14:23
Кажется очевидность этого кода зашкаливает http://www.govnokod.com/8041
SekToRCoM
@SekToRCoM
Jul 16 2015 18:50
всем привет, а как вызывать ошибку 404 на сайте если не найдена страница вообще? то есть ларе неизвеста директория, значит нужно отправить человека на 404?
Роман Сохарев
@greabock
Jul 16 2015 18:52
есть такой файлик App\Http\Kernel.php
SekToRCoM
@SekToRCoM
Jul 16 2015 18:53
@greabock вижу, что дальше?
Роман Сохарев
@greabock
Jul 16 2015 18:53
хотя нет
лучше тебя так далеко не соваться =)
SekToRCoM
@SekToRCoM
Jul 16 2015 18:54
@greabock хорошо, куда тогда сунуть нос?
Роман Сохарев
@greabock
Jul 16 2015 18:54
Давай лучше в exception handler
SekToRCoM
@SekToRCoM
Jul 16 2015 18:54
Сижу там, что дальше?
Роман Сохарев
@greabock
Jul 16 2015 18:55
Вот там есть такой метод handle
в него и прилетают все исключения
JhaoDa
@jhaoda
Jul 16 2015 18:55
@greabock ему не поймать, а кинуть
@SekToRCoM abort(404);
Roman Tsiupa
@dracony
Jul 16 2015 18:56
@sektorcom tak dolzhen bytj eksepshn
Роман Сохарев
@greabock
Jul 16 2015 18:56
@jhaoda дык кидается оно само "то есть ларе неизвеста директория"
если просто кинуть, то abort(404)
JhaoDa
@jhaoda
Jul 16 2015 18:57
@SekToRCoM короче, вопрос непонятен
SekToRCoM
@SekToRCoM
Jul 16 2015 18:58
Получается, если человек, к примеру, введет в адресной строке /pihfgdfgdfgdhkdfjghdfl, либо еще чего /dgsdfsgdfg/sdfgsdfg4654dfgs6d5fg46, нужно отправить его на страницу 404 (она по роуту /error/404)
Ну, если роут не объявлен, то послать человека на ошибку.
Роман Сохарев
@greabock
Jul 16 2015 18:59
@SekToRCoM вот тогда в методе handle лови HttpNotFoundException
SekToRCoM
@SekToRCoM
Jul 16 2015 18:59
@greabock что нужно сделать? Создать класс?
JhaoDa
@jhaoda
Jul 16 2015 18:59
Зачем? Ларавель это сама делает
Роман Сохарев
@greabock
Jul 16 2015 19:00
блин, вы меня запутали
JhaoDa
@jhaoda
Jul 16 2015 19:00
Достаточно создать error.404.php во вьюхах
This message was deleted
Оп
Ошибочка встретилась
Undefined variable: url - но он объявлен в базовом контроллере
Роман Сохарев
@greabock
Jul 16 2015 19:02
дык вам вьюху нужно отдать по сломаному роуту или таки редирект сделать?
JhaoDa
@jhaoda
Jul 16 2015 19:02
@SekToRCoM напутал малость. Создай файл resources/views/errors/404.blade.php
This message was deleted
Роман Сохарев
@greabock
Jul 16 2015 19:02
@jhaoda кончай по два раза писать ))
JhaoDa
@jhaoda
Jul 16 2015 19:02
Млиё, что опять за жопа с гиттером...
SekToRCoM
@SekToRCoM
Jul 16 2015 19:02
@jhaoda он там есть, а в нем стоит редирект на нужную мне страницу с 404
JhaoDa
@jhaoda
Jul 16 2015 19:03
@SekToRCoM нахрена во вьюхе редирект на другую страницу?
SekToRCoM
@SekToRCoM
Jul 16 2015 19:04
@jhaoda Иначе будут страницы-дубли и поисковики их не пропустят
Точнее, он сайт не пропустит
JhaoDa
@jhaoda
Jul 16 2015 19:04
Короче, нафиг мне эти гадания на кофейной гуще, пойду лучше ётуп посмотрю
SekToRCoM
@SekToRCoM
Jul 16 2015 19:04
Сео-оптимизация
Роман Сохарев
@greabock
Jul 16 2015 19:04
@jhaoda это фигня, как оно вообще работает, если к моменту рендера вьюхи заголовки уже отправлены должны быть =))
SekToRCoM
@SekToRCoM
Jul 16 2015 19:05
Убрал редирект, оно всё равно не работает.
Роман Сохарев
@greabock
Jul 16 2015 19:06
беда, с вами сеошниками ))
SekToRCoM
@SekToRCoM
Jul 16 2015 19:07
Да, ладно, страницу 404 оно мне показывает, но как мне теперь отправить человека на страницу с ошибкой?
Роман Сохарев
@greabock
Jul 16 2015 19:07
дык ты уже на странице с ошибкой =))
SekToRCoM
@SekToRCoM
Jul 16 2015 19:08
@greabock Так url не error/404, а кракозябры
{!! redirect()->intended('/error/404') !!} - работает, но долго редиректит. Есть аналог header-редиректа?
JhaoDa
@jhaoda
Jul 16 2015 19:11
:)
Роман Сохарев
@greabock
Jul 16 2015 19:11
а если тебе нужен редирект, таки дуй в hander, проверяй тип исключения на типы HttpNotFoundException, ModelNotFoundException, MethodNotAllowedExecption и какой ни будь там еще *Not*Exception. Иредиректи куда надо
JhaoDa
@jhaoda
Jul 16 2015 19:11
@SekToRCoM все редиректы работают через header. Не знал?
Роман Сохарев
@greabock
Jul 16 2015 19:12
@jhaoda неожиданность какая!
SekToRCoM
@SekToRCoM
Jul 16 2015 19:12
@jhaoda <? header('Location: /error/404'); ?> просто отдает белый экран
@greabock как это сделать? :(
Роман Сохарев
@greabock
Jul 16 2015 19:29
Вообще это делается не так, но раз уж тебе "очень надо", то пойдет и такой кусок:
    $notFound = 404;
    if ($this->isHttpException($e) && $e->getStatusCode() == $notFound)
    {
         return redirect()->to('куда там тебе надо', $notFound);
    }
wiyfn
@wiyfn
Jul 16 2015 19:29
Кто знает есть ли готовые какие то пакеты в laravel для авторизации через социальные сети ?, искал вроде бы не нашол.
NickPanda
@NickPanda
Jul 16 2015 19:31
This message was deleted
@wiyfn есть socialite вроде как для этого существует
SekToRCoM
@SekToRCoM
Jul 16 2015 19:31
@greabock ну там много классов.
@greabock ой, точнее там 2 функции.
репорт и рендер
Роман Сохарев
@greabock
Jul 16 2015 19:32
засунь в рендер
SekToRCoM
@SekToRCoM
Jul 16 2015 19:33
InvalidArgumentException in RedirectResponse.php line 49: The HTTP status code is not a redirect ("404" given).
NickPanda
@NickPanda
Jul 16 2015 19:33
@greabock странно, но у меня исключения в report обрабатываются
@SekToRCoM попробуй, запилить в report
Роман Сохарев
@greabock
Jul 16 2015 19:34
пля...
SekToRCoM
@SekToRCoM
Jul 16 2015 19:35
@NickPanda аналогично
Mamau
@Mamau
Jul 16 2015 19:35
Привет всем! Ктонить знает чем можно спарсить wikitext ?
Роман Сохарев
@greabock
Jul 16 2015 19:35
короче кейс очень подозрительный
NickPanda
@NickPanda
Jul 16 2015 19:35
@SekToRCoM ну тогда я хз, у меня отлавливаеться в report и мне норм
Роман Сохарев
@greabock
Jul 16 2015 19:35
не знаю уж какие там сеошники тебе это насоветовали
редиректы же трехстоые только принимают...
но эта тема ломает http протокол
Mamau
@Mamau
Jul 16 2015 19:36
точней трансформировать из wikitext в xhtml или html
Роман Сохарев
@greabock
Jul 16 2015 19:36
@NickPanda репорт - это для логирования метод
NickPanda
@NickPanda
Jul 16 2015 19:37
@greabock то есть лучше переписать в рендер?
@greabock у меня в report запилен такой кусок , и он нормально обрабатывается
        if ($e instanceof ModelNotFoundException){
            throw new NotFoundHttpException();
        }
@greabock значит перенести это добро в render ?
Ах, да всем привет!
Роман Сохарев
@greabock
Jul 16 2015 19:39
@NickPanda ну вот смотри. Редирект принимает только трехсотые статусы. Но по логике, не один из них тебе не подходит
NickPanda
@NickPanda
Jul 16 2015 19:40
@greabock но у меня же нет редиректа)
Роман Сохарев
@greabock
Jul 16 2015 19:40
ДА ладно?
NickPanda
@NickPanda
Jul 16 2015 19:40
@greabock ну что тогда надо делать?
Роман Сохарев
@greabock
Jul 16 2015 19:40
Оставить как было
NickPanda
@NickPanda
Jul 16 2015 19:41
@greabock а к чему вы про редирект и тд?
Роман Сохарев
@greabock
Jul 16 2015 19:41
@SekToRCoM @NickPanda ой нафиг, вы оба фиолетовые. Я вас попутал...
NickPanda
@NickPanda
Jul 16 2015 19:42
@greabock То есть ты не мне рассказывал?)
Роман Сохарев
@greabock
Jul 16 2015 19:42
Ага =)
@NickPanda у тебя-то как раз все в порядке ) только в рендер перенеси
а про репорт написано
/**
* Report or log an exception.
*
* This is a great spot to send exceptions to Sentry, Bugsnag, etc.
*  #...
*/
Mamau
@Mamau
Jul 16 2015 19:46
или подскажите плиз как пировский пакет подтянуть вот этот, http://pear.php.net/package/Text_Wiki/ чтобы его юзать можно было
NickPanda
@NickPanda
Jul 16 2015 19:46
Народ, проблема с авторизацией!
Смотрите я авторизую только в том случае если аккаунт авторизован (isActive) (точнеее active = 1)
Я бы хотел после авторизации проверять, куски которые доступны авторизованным пользователям, проверять активный ли аккаунт или нет
Просто, пример челловек авторизовался поставил чтобы его запомнили
Но потом он нарушил и его акк отключили
надеюсь внятно обьяснил
(просто как я понял check делает проверку по id (и если его изменить то проверка будет false
@Mamau единственное, что я нашел https://www.mediawiki.org/wiki/Alternative_parsers
Mamau
@Mamau
Jul 16 2015 19:48
спс но там адекватно работает только 1, на регулярках сделана, но и она не всю разметку модифицирует
Роман Сохарев
@greabock
Jul 16 2015 19:49
@NickPanda добавь глобальный миддлварь, который будет проверять активность юзверя
А для кусков, добавь в модель метод isActive()
и проверяй Auth::user()->isActive()
SekToRCoM
@SekToRCoM
Jul 16 2015 19:50
@greabock а мне с ошибкой помочь? Как всё же перенести?
@SekToRCoM Ой, редиректить как?
ой
NickPanda
@NickPanda
Jul 16 2015 19:51
@SekToRCoM можно спрошу в чем задача состоит то?
SekToRCoM
@SekToRCoM
Jul 16 2015 19:51
@NickPanda если маршрут не найден, то требуется отправить человека на страницу /error/404
NickPanda
@NickPanda
Jul 16 2015 19:52

@greabock

public function isActive(){
if(Auth::user()->active) == 1){
return true;
}
}

Так что ли?

@NickPanda и да в модель User добавить?
Роман Сохарев
@greabock
Jul 16 2015 19:52
@SekToRCoM а тебе я посоветовал бы не слушать всяких сеошников, которые спецификацию http не читали даже. Не правильно редиректить при 404 ошибке. Ибо статус редиректа всегда должен быть трехсотый. А отдававать трехсотый статус туда, где должен быть 404 - это плохо.
SekToRCoM
@SekToRCoM
Jul 16 2015 19:53
@greabock поисковики посчитают страницу за "дубль" и не примут сайт.
NickPanda
@NickPanda
Jul 16 2015 19:54
@SekToRCoM эээм, но если я правильно понимаю, если маршрут не найден то он вызывает 404 ошибку, и оставляет текущий адрес
SekToRCoM
@SekToRCoM
Jul 16 2015 19:54
@NickPanda а мне нужно сменить адрес.
Роман Сохарев
@greabock
Jul 16 2015 19:54
@SekToRCoM 404 поисковики даже читать не будут
не верь сказкам
@NickPanda
public function isActive(){
    return $this->active;
}
в модели User
вернет либо 1 либо 0, что при приведении к булу даст true или false - соответственно

можно конечно не городить метод, и писать

Auth::user()->active

но будет не так выразительно

NickPanda
@NickPanda
Jul 16 2015 20:00
@greabock такой вопрос, он же будет проверятть этот статус из базы и сверять с тем что у него в сессии?
@greabock или такой момент как правильнее называть Auth::user() - это сессия или как?)
@greabock @SekToRCoM я кажется сделал, как надо в случае 404 ошибки редеректить куда надо
SekToRCoM
@SekToRCoM
Jul 16 2015 20:01
@greabock будут, поверь мне. Я уже год продвигаю сайты...
@NickPanda и как же?
Роман Сохарев
@greabock
Jul 16 2015 20:01
не будет ничего с сессией сверять (откуда бы ему там взяться). Он просто прочитает это из текущего пользователя (который и как раз и будет извлечен из базы по id в сессии)
SekToRCoM
@SekToRCoM
Jul 16 2015 20:03
@greabock у меня сейчас сайт не входит в ПС, так как там овер миллион дублей.
@greabock эти дубли были доступны год назад
NickPanda
@NickPanda
Jul 16 2015 20:03
@greabock то есть user() это запрос по id пользователя к базе?
SekToRCoM
@SekToRCoM
Jul 16 2015 20:04
@NickPanda так ты расскажешь как сделать?)
NickPanda
@NickPanda
Jul 16 2015 20:05

@SekToRCoM

        if ($e instanceof NotFoundHttpException){

            return redirect(адрес куда редеректить);

        }

это чудо юдо запихнул в rendder и переадресовывает) , но я хз насколько я прав

Роман Сохарев
@greabock
Jul 16 2015 20:05
@SekToRCoM молодец, я тогда полторы недели разработчик. 404 не обрабатываются роботами в принципе. Если какие-то говнокодеры забыли 404 в статус ответа на "битые" страницы, то уж прости - это проблема говнокодеров, а не роботов.
SekToRCoM
@SekToRCoM
Jul 16 2015 20:06
@NickPanda NotFoundHttpException in RouteCollection.php line 145:
NickPanda
@NickPanda
Jul 16 2015 20:06
@SekToRCoM у тебя какая версия лары?!
SekToRCoM
@SekToRCoM
Jul 16 2015 20:07
@NickPanda 5
NickPanda
@NickPanda
Jul 16 2015 20:07
@SekToRCoM скинь всю функцию render
SekToRCoM
@SekToRCoM
Jul 16 2015 20:07
public function render($request, Exception $e)
    {
        if ($e instanceof NotFoundHttpException){
            return redirect('/error/404');
        }

        return parent::render($request, $e);

    }
NickPanda
@NickPanda
Jul 16 2015 20:08
@greabock Слушай, такой момент, а как вести себя например юзер меня пароль, как тут проверять?
@SekToRCoM хз у меня точно также, но при этом нормально (ну точнее он теперь циклично это делает) но работает
А удали 404 вид, и убери пока эту обработку и скажи что он тебе напишет по неизвестному маршруту
SekToRCoM
@SekToRCoM
Jul 16 2015 20:10
@NickPanda то и пишет NotFoundHttpException in RouteCollection.php line 145:
NickPanda
@NickPanda
Jul 16 2015 20:11
return redirect('/error/404'); у тебя этот путь существует?
SekToRCoM
@SekToRCoM
Jul 16 2015 20:11
+
NickPanda
@NickPanda
Jul 16 2015 20:11
/error/404
может это стоить проверить в роутах?
SekToRCoM
@SekToRCoM
Jul 16 2015 20:12
@NickPanda оно есть, всё с ним нормально
NickPanda
@NickPanda
Jul 16 2015 20:12
@SekToRCoM я уже бессилен, я сказал что знал и то что работает(
Роман Сохарев
@greabock
Jul 16 2015 20:12

В сотый раз убеждаюсь, что все сеошники - мошенники и хироманты...
цитата:

Ответ Яндекса:
В настоящее время при обращении к страницам Вашего сайта наш робот получает код
HTTP 404, в связи с этим страницы не могут быть проиндексирован­ы.

в одном из писем. Тоже самое от гугла было. Но сеошники же знают "тайную магию". Это как в линейке "точить на +12 нужно только за городом и сразу после рестарта сервера". Ухххх как я зол...

NickPanda
@NickPanda
Jul 16 2015 20:14
@SekToRCoM скинь, что у тебя делает роут /error/404
JhaoDa
@jhaoda
Jul 16 2015 20:14
@greabock да нехай, зато нормальные спецы без работы не останутся
Тем более что переделывать за кем-то всегда дороже, чем просто делать...
Роман Сохарев
@greabock
Jul 16 2015 20:15
@jhaoda Это те самые люди, которые за пуговку держатся, когда кошка дорогу перебежала, или что-то странное шепчут если ложка на пол упала...
NickPanda
@NickPanda
Jul 16 2015 20:15
This message was deleted
@jhaoda Здравствуйте, как настроение?)
Роман Сохарев
@greabock
Jul 16 2015 20:16
@jhaoda просто мне один такой "техномаг" попил крови по весне...
JhaoDa
@jhaoda
Jul 16 2015 20:19
А все почему? А потому что основ не знают
Клиент-то платит не за основы, так что надо рубить бабло
Не помню, рассказывал или нет... мы делали проект на ларавель 4.2 на прошлой работе в конторе, потом у заказчика кончились большие бабки он наняли двух фрилансеров
Фрилансеры до сих пор трахают мозг главному разработчику — а как это, а у нас то не пашет, а как это собрать?
Роман Сохарев
@greabock
Jul 16 2015 20:22
=)
JhaoDa
@jhaoda
Jul 16 2015 20:23
А там реально-то технологий: laravel, grunt и capistrano, который не обязателен
Роман Сохарев
@greabock
Jul 16 2015 20:23
грант их подкосил походу =)))
JhaoDa
@jhaoda
Jul 16 2015 20:25
Да их всё подкосило, композер тоже
Роман Сохарев
@greabock
Jul 16 2015 20:25
даже так? ))
Danil Dzhenuik
@Ddzhenyik
Jul 16 2015 20:31
Всем привет! Нужна помощь... перечитывал уже 100 раз доки, книги и статьи по ларе, но так и не могу вбить себе в голову что такое сервис контейнер, сервис провайдер, фасады, и как их юзать... может кто что посоветует?(
JhaoDa
@jhaoda
Jul 16 2015 20:31
@greabock доктор, ваш выход!
Роман Сохарев
@greabock
Jul 16 2015 20:32
@jhaoda =))
JhaoDa
@jhaoda
Jul 16 2015 20:32
Срочно нужна инъекция знаний поцыэнту
Роман Сохарев
@greabock
Jul 16 2015 20:32
это про сервис-контейнер
Danil Dzhenuik
@Ddzhenyik
Jul 16 2015 20:34
@greabock спасибо) сейчас почитаю
NickPanda
@NickPanda
Jul 16 2015 20:38

@greabock но получается надо делать

if(Auth::check() AND Auth::user()->isActive()){}

Просто если написать просто

Auth::user()->isActive

То те кто не авторизованы, пишет Call to a member function isActive() on a non-object
Или как правильнее делать?

Роман Сохарев
@greabock
Jul 16 2015 20:39
первый вариант правильный
NickPanda
@NickPanda
Jul 16 2015 20:40
@greabock а как проверять при смене пароля, и отключать другие учетные записи?
Роман Сохарев
@greabock
Jul 16 2015 20:40
не считая ошибок в синтаксисе, конечно ))
@NickPanda что проверять при смене пароля?
NickPanda
@NickPanda
Jul 16 2015 20:41
@greabock Ну я точно не знаю, что надо проверять
Например с 2 устройств зашли под 1 учеткой, как сделать если с 1 устройства сменили пароль, то на 2 устройстве произошел выход
Роман Сохарев
@greabock
Jul 16 2015 20:48
ну, к примеру просто при смене пароля я сам не заморачивался никогда
однако при восстановлении пароля, через remember_token сессия инвалидируется - инфа сотка
можно подглядеть, как там этот механизм реализован, и делать так же
NickPanda
@NickPanda
Jul 16 2015 20:51
@greabock, а если не было запоминания, то он не будет сбрасывать ничего или ошибаюсь?
@greabock кстати, такой момент
if (Auth::attempt($creds, Input::has('remember'))) {
if (Auth::attempt($creds, Input::has('remember'))) {
Input::has('remember') по идее должен вернуть true если есть чекбокс и false если нет
так вот можно написать
if (Auth::attempt($creds, !Input::has('remember')))
то он отправит же true
это для реализации чужой комьютер
Я правильно понял?
SekToRCoM
@SekToRCoM
Jul 16 2015 20:53
Эх, никогда для людей ничего не делал.. Только для себя.
Роман Сохарев
@greabock
Jul 16 2015 20:54
Ага
SekToRCoM
@SekToRCoM
Jul 16 2015 20:54
Вот одно в голове: тебя платят 100000руб, а на этом зарабатывают несколько миллионов.
Не проще ли самому это развить и получить столько же?
Роман Сохарев
@greabock
Jul 16 2015 20:54
@SekToRCoM ты уж прости, что так набросился на тебя. Я вообще добрый...
@NickPanda только и поле назови соответственно, ибо запутаешься сам потом ))
SekToRCoM
@SekToRCoM
Jul 16 2015 20:55
@greabock я тоже. :D
JhaoDa
@jhaoda
Jul 16 2015 20:55
Сегодня просто не моя смена
Я-то бы уж набросился!
SekToRCoM
@SekToRCoM
Jul 16 2015 20:56
@jhaoda постоянно набрасываешься.
@greabock Окей, тогда не буду делать никаких редиректов, так и оставлю ту страницу, но беда с ней, я не могу подгрузить основной шаблон.
Роман Сохарев
@greabock
Jul 16 2015 20:57
@SekToRCoM почему же? можешь!
JhaoDa
@jhaoda
Jul 16 2015 20:57
Отдыхать всем надо
NickPanda
@NickPanda
Jul 16 2015 20:58
@greabock которое поле? с чекбоксом?
Роман Сохарев
@greabock
Jul 16 2015 20:58
ну да )
SekToRCoM
@SekToRCoM
Jul 16 2015 21:01
@greabock а вот и не могу. ErrorException in 01ade262f0972f35f3669f7957e403a2 line 5: Undefined variable: url $url передается в базовом контроллере через function __construct(), но работает на всех других страницах.
NickPanda
@NickPanda
Jul 16 2015 21:01
@greabock ясно , спс
А кто нить имел дело то со сменой пароля?
Роман Сохарев
@greabock
Jul 16 2015 21:01
@SekToRCoM это потому, что ты не так лэйауты готовишь =)
SekToRCoM
@SekToRCoM
Jul 16 2015 21:02
@greabock почему же? :)
Роман Сохарев
@greabock
Jul 16 2015 21:03
@SekToRCoM я не знаю, как ты это делаешь, но не так как надо явно )) что за $url и что в нем хранится? Текущий урл?
SekToRCoM
@SekToRCoM
Jul 16 2015 21:03
@greabock
@extends('template.template-index')

@section('title')
    Страница не найдена - 404
@stop

@section('body')
    <div class="jumbotron">
        <h1>Ошибка 404!</h1>
        <p class="lead">Извините, Вы перешли на несуществующую страницу.</p>
        <p><a class="btn btn-lg btn-success" href="/" role="button">Вернуться на главную</a></p>
    </div>
@stop
Роман Сохарев
@greabock
Jul 16 2015 21:04
Ну, а в лэйауте что? ))
SekToRCoM
@SekToRCoM
Jul 16 2015 21:05
@greabock передаются из конфигурации.
view()->share([
                'name'        => $name[1],
                'url'         => $url[1]
            ]);
секунду
5 строка, в которой ошибка: <title> @yield('title') - {{ $url }}</title>
Роман Сохарев
@greabock
Jul 16 2015 21:06
а в урле-то что? Текущий урл? ))
SekToRCoM
@SekToRCoM
Jul 16 2015 21:06
@greabock нет, данные из конфига.
$config = \File::get(base_path('public' . DIRECTORY_SEPARATOR . 'configuration.cfg'));
            preg_match('#url: (.+)\r\n#iU', $config, $url);
NickPanda
@NickPanda
Jul 16 2015 21:07

@greabock

        $response = Password::reset($credentials, function ($user, $password) {
            $this->resetPassword($user, $password);
        });

Вот что делается, при востановление пароля, но я хз что делает Password::reset
resetPassword() сохраняет пароль и авторизовывает вновь)

SekToRCoM
@SekToRCoM
Jul 16 2015 21:07
@NickPanda reset - сбрасывает, нет? )
NickPanda
@NickPanda
Jul 16 2015 21:09
@SekToRCoM а вот я хз, что он там делает и что значит сбрасывает?
Роман Сохарев
@greabock
Jul 16 2015 21:09
@SekToRCoM во первых, для конфигов есть Config в самой ларе )
и хранить конфиги в паблике вообще плохая идея ))
SekToRCoM
@SekToRCoM
Jul 16 2015 21:10
А что в этом плохого? Через Apache доступ ограничен.
@greabock это конфиг для администрирования сайта, к примеру, если же я найму админов.
Роман Сохарев
@greabock
Jul 16 2015 21:12
тогда тебе нужен файл .env
JhaoDa
@jhaoda
Jul 16 2015 21:12
@SekToRCoM да ты любитель велосипедов с костылями, я смотрю...
Роман Сохарев
@greabock
Jul 16 2015 21:12
в общем, для конфигов в ларе есть два чумовых механизма. Не надо третий изобретать ))
SekToRCoM
@SekToRCoM
Jul 16 2015 21:13
@jhaoda ой, да я восстановление паролей логикой писал.
Роман Сохарев
@greabock
Jul 16 2015 21:14
первый - это обычные конфиги, где ты настраиваешь само приложение. Второй - это .env файл. В нем настраиваются специфичные для среды исполнения вещи типа подключения к бд и т.п.
SekToRCoM
@SekToRCoM
Jul 16 2015 21:15
как и всё остальное :D
Роман Сохарев
@greabock
Jul 16 2015 21:16
в общем, пили свою хрень в .env
а в шаблоне пиши {{ env('url') }}
SekToRCoM
@SekToRCoM
Jul 16 2015 21:18
А из чего оно состоит? Как его создавать? ))
NickPanda
@NickPanda
Jul 16 2015 21:18
@SekToRCoM просто в коне файл .env и там переменные)
SekToRCoM
@SekToRCoM
Jul 16 2015 21:18
### CONFIG START

## TITLE NAME СТРАНИЦЫ
name: Файлообменник с оплатой за скачивание

## URL NAME САЙТА
url: а тут и ссылочка

## МАКСИМАЛЬНЫЙ РАЗМЕР ЗАГРУЖАЕМОГО ФАЙЛА (BYTES)
maxweight: 104857600

## СИМВОЛОВ В ССЫЛКЕ
symbols: 4

## СТОИМОСТЬ ОДНОГО СКАЧИВАНИЯ
cost: 2

## МИНИМАЛЬНАЯ СУММА ВЫПЛАТЫ
minpayments: 15

## РЕФЕРАЛЬНЫЕ НАЧИСЛЕНИЯ (x100%)
referalspay: 0.1

### CONFIG END
ну у меня вот такой конфиг :D
красивенький
Роман Сохарев
@greabock
Jul 16 2015 21:19
и прекрати баловаться с View::share - эта опасная затея однажды плохо кончится =)) View::share - это для экстренного пипеца ))
ох нихрена себе...
вот так беда...
SekToRCoM
@SekToRCoM
Jul 16 2015 21:20
ахаха
Роман Сохарев
@greabock
Jul 16 2015 21:20
в общем... пили в .env
SekToRCoM
@SekToRCoM
Jul 16 2015 21:21
Я действительно на столько унылый? ))
Роман Сохарев
@greabock
Jul 16 2015 21:22
@SekToRCoM ну видно, что на фреймах (CI - не считается) не разрабатывал
SekToRCoM
@SekToRCoM
Jul 16 2015 21:22
@greabock не покажешь ли его пример (env)? Неужели так?
```
<?php
$url = 'sdfsd';
$name = 'shdkf';
Роман Сохарев
@greabock
Jul 16 2015 21:23
@SekToRCoM нет. Там в корне должен лежать https://github.com/laravel/laravel/blob/5.0/.env.example
как же гиттер лагает... это просто ужас
SekToRCoM
@SekToRCoM
Jul 16 2015 21:25
@greabock В корне лары?
Да, есть такой
Роман Сохарев
@greabock
Jul 16 2015 21:27
как видно по названию, это пример
Тогда я точно ничего не понял
Роман Сохарев
@greabock
Jul 16 2015 21:33
это от бородатого года статья
laravel.ru - умер
SekToRCoM
@SekToRCoM
Jul 16 2015 21:34
Но я иногда нахожу там что-либо полезное
@greabock вернемся к старому вопросу, почему 404 не может получить url и другие переданные им компоненты?
Илья
@iliyaZelenko
Jul 16 2015 21:45
@greabock Почему умер? Ну статьи может там попадаются старые, но документация же нормальная, к последней версии.