These are chat archives for LaravelRUS/chat

7th
May 2014
Alexander Zhuravlev
@SCIF
May 07 2014 04:01
Elfinder юзает кто?
Maxim
@Big-Shark
May 07 2014 04:03
@SCIF я нет, я не люблю такие штуки, слишком много функционала
slider23
@slider23
May 07 2014 06:01
@SCIF я юзаю
Alexander Zhuravlev
@SCIF
May 07 2014 06:03
Один вопрос уже рассосался — я не заметил директивы url. Второй вопрос — неужели нет более правильного способа создавать тумбы, нежели хукать upload?
Orel
@2byte
May 07 2014 06:21
Есть возможность аяксом соединится с другим доменом от имени пользователя? Гуглил достаточно, примеры не рабочие, jsonp тоже не работает, в оф доке jquery есть опция crossDomain, но не работает, пробовал тип ставить jsonp, но нет!
Alexander Zhuravlev
@SCIF
May 07 2014 06:35
@2byte , а сами браузеры такое дело не зарубают разве, как потенциально опасное?
Orel
@2byte
May 07 2014 06:36
Не не зарубают)
Можно через iframe, но можно ли в его дом залезть ?
Orel
@2byte
May 07 2014 07:23
Никто через iframe не делал?
bubnoff
@bubnoff
May 07 2014 08:04
Всем привет. У нас тут вопрос появился.
Вот мы кешируем в проекте все че можно, но появился вопрос, можно ли как-то отключить кеш во всем проекте, чтобы все работало только через базу? Скажем так, временное отключение кеша по всему проекту.
Orel
@2byte
May 07 2014 08:06
@bubnoff а как кэшируете ?
Alexander Zhuravlev
@SCIF
May 07 2014 08:06
@bubnoff , в смысле чтобы он постоянно возвращал null/false?
bubnoff
@bubnoff
May 07 2014 08:12
К примеру у нас везде понатыкано Model::remember(10)->find($id) (Это к примеру).
Хотим чтобы при дебаге, кеш не работал.
Alexander Zhuravlev
@SCIF
May 07 2014 08:26
Господа, у кого под рукой есть ie7/8 чтобы скрин сделать?
Brezhnev Ivan
@vanchelo
May 07 2014 10:02
@SCIF попробуй это https://browsershots.org/
Thomas Anderson
@elvendor
May 07 2014 10:25
Всем привет! Давно не виделись =)
три дня читал архивы )
Brezhnev Ivan
@vanchelo
May 07 2014 10:26
@bubnoff поставь в настройках driver => array
@bayram4ik привет!
Thomas Anderson
@elvendor
May 07 2014 10:28
у меня проблемка, которую никак не могу решить.. вношу в compile.php:
    'Cartalyst\Sentry\SentryServiceProvider',
    'Intervention\Image\ImageServiceProvider',
    'Mews\Captcha\CaptchaServiceProvider',
но компилить не хочет
надо абсолютные пути?
Brezhnev Ivan
@vanchelo
May 07 2014 10:28
там нужно не имена классов писать, а пути к файлам
Thomas Anderson
@elvendor
May 07 2014 10:29
а как же опция --psr?
Brezhnev Ivan
@vanchelo
May 07 2014 10:31
судя по коду эта опция просто обновляет autoloads.php компосера
Thomas Anderson
@elvendor
May 07 2014 10:33
ну ладно) спасибо!
Brezhnev Ivan
@vanchelo
May 07 2014 10:34
может я и не прав))
Thomas Anderson
@elvendor
May 07 2014 10:34
сейчас попробую
Brezhnev Ivan
@vanchelo
May 07 2014 10:34
но я прописывал полные пути, эту опцию не пробовал
Brezhnev Ivan
@vanchelo
May 07 2014 10:37
))
Thomas Anderson
@elvendor
May 07 2014 10:41
@vanchelo а прописывать надо все классы в пакете?
Brezhnev Ivan
@vanchelo
May 07 2014 10:56
не понял
Thomas Anderson
@elvendor
May 07 2014 11:12
в compiled если прописывать классы, то нужно все что имеются в package?
в compile*
Rafkat Galiullin
@neolite
May 07 2014 11:27
Всем привет, есть у кого нибудь знакомый ios разработчик?
Brezhnev Ivan
@vanchelo
May 07 2014 11:48
Привет)
Rafkat Galiullin
@neolite
May 07 2014 11:49
Иван жив, здоров?
Brezhnev Ivan
@vanchelo
May 07 2014 11:49
пока да)
Twent
@twent
May 07 2014 12:10
Всем привет! Подскажите пожалуйста способ/ы передачи и получения сообщения об успехе. Допустим со страницы регистрации на страницу входа - "Вы успешно зарегестрировались. Пожалуйста введите свой логин и пароль".
Brezhnev Ivan
@vanchelo
May 07 2014 12:11
redirect()->withMessage('Вы успешно зарегались')
в виде
@if (Session::has('message'))
{{ Session::get('message') }}
@endif
Алексей Данчин
@Aleksey-Danchin
May 07 2014 12:14
А у gitter есть какой-нибудь поисковичок чатов?
Brezhnev Ivan
@vanchelo
May 07 2014 12:15
я не встречал
Redirect::to('login')->with('message', 'Вы зарегались');
Twent
@twent
May 07 2014 12:25
отлично, спасибо, vanchelo
первый способ понравился
Orel
@2byte
May 07 2014 12:36
Мне нужно сделать такой пакет для лары, который не будет находится в app/, а в корне, как это можно реализовать ?
Alexey
@Butochnikov
May 07 2014 12:39
@2byte ты о чем?
клади куда угодно, главное в composer пропиши
Orel
@2byte
May 07 2014 12:40
Ну вот я так и думал, в psr-0 прописать, может нужно будет из основного ап перенсти папку config/ для загрузки сервисов и так же создать хранилище для сессий и т.д
И routes.php filters.php в папке апа, их лара подгружать так же будет?
config, lang, storage, views нужно будет так же перенести ?
Alexey
@Butochnikov
May 07 2014 12:45
в пакете свои же буду, а эти оставь пустые в app
в пакете описывай и сохраняй то, что нужно, а не все подряд
Orel
@2byte
May 07 2014 12:47
Это нужно workbanch в доке смотреть?
Alexey
@Butochnikov
May 07 2014 12:48
да
Orel
@2byte
May 07 2014 12:52
А на гите где исходники лары, есть линк ?
Алексей Данчин
@Aleksey-Danchin
May 07 2014 12:53
@2byte бесконечно странный вопрос
https://github.com/laravel/laravel
Orel
@2byte
May 07 2014 12:55
@Lehad он пуст
@Butochnikov спс
Orel
@2byte
May 07 2014 13:33
psr-0 постоянно сканирует фс, а можно его как то закешировать на продакшен ?
Alexander Egorov
@Amegatron
May 07 2014 13:33
что значит сканирует?
Orel
@2byte
May 07 2014 13:35
Открывает дирикторию сканирует дириктории и файлы и импортирует их
Alexander Egorov
@Amegatron
May 07 2014 13:35
ты уверен в этом? он вроде инклюдит конкретный файл по имени неймспейса/класса ...
Orel
@2byte
May 07 2014 13:38
"DP" : "app/" Он полюбому сканирует, в app/DP не один файл что бы его просто проинклудить по неймспэйс
Там дириктории и файла
Controllers
Models
Providers
Views
...
Alexander Egorov
@Amegatron
May 07 2014 13:42
а разве у тебя неймспейсы не соответсвенно DP\Controllers\IndexController ?
Orel
@2byte
May 07 2014 13:42
Ты думаешь он угадывает их ?
Alexander Egorov
@Amegatron
May 07 2014 13:43
наоборот, путь к файлу четко прописан в неймспейсе
Orel
@2byte
May 07 2014 13:43
Откуда он возьмет namespace который лежит в самом DP\Controllers\IndexController
Alexander Egorov
@Amegatron
May 07 2014 13:43
вообще-то неймспейс прописывается в файле ...
Orel
@2byte
May 07 2014 13:44
В какой?
Alexander Egorov
@Amegatron
May 07 2014 13:44
<?php namespace DP\Controllers;

class IndexController { }
Orel
@2byte
May 07 2014 13:44
Блин
Alexander Egorov
@Amegatron
May 07 2014 13:44
у тебя не так?
Orel
@2byte
May 07 2014 13:45
Изначально у компосера "DP" : "app/" вот он открывает app/DP у него еще нету DP\Controllers, DP\Providers и т.д
Alexander Egorov
@Amegatron
May 07 2014 13:46
походу ты меня не слышишь ... какие неймспейсы у тебя прописаны в самих классах DP ? x_X
Orel
@2byte
May 07 2014 13:46
Такие же как ты написал выше
:question:
Alexander Egorov
@Amegatron
May 07 2014 13:47
ну вот, и опять, МАГИЯ !!! Парсим Имя класса DP\Controllers\IndexController и получаем путь (МАГИЯ!!!) app/DP/Controllers/IndexController.php
Orel
@2byte
May 07 2014 13:48
Ну вот же он сканирует DP/ scandir или readdir
Alexander Egorov
@Amegatron
May 07 2014 13:48
у меня нет ларика под рукой ... где ты это видишь?
Orel
@2byte
May 07 2014 13:48
Я так думаю
Alexander Egorov
@Amegatron
May 07 2014 13:48
нужно не думать, а смотреть
Orel
@2byte
May 07 2014 13:49
Мне кажется не найду)
Alexander Egorov
@Amegatron
May 07 2014 13:49

зачвем делать scandir, если нужно просто

require 'app/DP/Controllers/IndexController.php

???

лан, ты пока переваривай, я в магаз ушел ...
Orel
@2byte
May 07 2014 13:51
Так вот откуда он узнает что вот app/DP/Controllers/ есть такой-то файла
Alexander Egorov
@Amegatron
May 07 2014 14:08
ну вот, и опять, МАГИЯ !!! Парсим Имя класса DP\Controllers\IndexController и получаем путь (МАГИЯ!!!) app/DP/Controllers/IndexController.php
Orel
@2byte
May 07 2014 14:09
Откуда мы спарсим имя класса ?)) Есть мы не знаем где он?)
Мы знаем только то что он в app/DP а он еще в поддириктории, у тебя он калдует и узнает сразу его неймспэйс
Alexander Egorov
@Amegatron
May 07 2014 14:34

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

$model = new \DP\Models\User;

либо

use \DB\Models\User;

$model = new User;

создавая экземпляр этого класса, PHP знает его полное имя, включая неймспейс. Парся этот неймспейс, автозагрузчик (МАГИЯ!!!!) подключает файл ...

Alexander Zhuravlev
@SCIF
May 07 2014 14:36
@2byte , тебя обучает практикующий маг! Цени это!
Orel
@2byte
May 07 2014 14:37
@Amegatron нифига)
Alexander Zhuravlev
@SCIF
May 07 2014 14:37
@vanchelo , спасибо, попробую.
Alexander Egorov
@Amegatron
May 07 2014 14:38
@SCIF впрочем, я иссяк, уже разжевал все что можно ...
Alexander Zhuravlev
@SCIF
May 07 2014 14:39
@Amegatron , ессно. Сходи займись регенерированием маны. Тут не всякий способен такие траты нести, так что ты смотри аккуратней.
Alexander Egorov
@Amegatron
May 07 2014 14:39
@SCIF да я уже отвлекся, пошпилил в HearthStone партейку =)
Orel
@2byte
May 07 2014 14:40
@Amegatron у тебя получается так, что до инклуда файлов компосер уже знает все неймспэйсы и импортирует их
Alexander Egorov
@Amegatron
May 07 2014 14:40
@2byte извини, я не знаю, что я еще могу сказать ... до тебя просто не доходит =(
наверное я зря употребил слово "магия", ты теперь думаешь, что здесь действительно какое-то шаманство ...
это как с фасадами получается ...
Alexander Zhuravlev
@SCIF
May 07 2014 14:42
Что-то я не усвоил. Какие постоянные сканирования? Составляются карты namespace => file, class => file и МАГИЯ начинает работать автозагрузка :)
Alexander Egorov
@Amegatron
May 07 2014 14:42
@SCIF принимай эстафету!!!! :D
Orel
@2byte
May 07 2014 14:42
Вот @SCIF уже подключился)
Alexander Egorov
@Amegatron
May 07 2014 14:42
я ушел регенерироваться ...
допил бутылку Дюшеса, +10 к мана-регену :D
Orel
@2byte
May 07 2014 14:46

@SCIF вот смотри

"psr-0" : {
            "DP" : "app/"
 }

В app/DP есть дириктории
Controllers
Models
Providers
Facades
в них файлы с неймспэйсами, так вот вы мне говорите что он по нэймспейсам грузит допустим \DP\Controllers\IndexController, откуда компосер возьмет namespace если он указан только в \DP\Controllers\IndexController

Alexander Egorov
@Amegatron
May 07 2014 14:47
тут магия бессильна
если даже слова не доносят мысль
смотри, вот есть в Питере улица: Английский проспект. Есть там дом 3. Выходит, что до этого дома никак не доехать, потому что табличка с названием улицы и номером дома висит только на этом доме!!!!! И я не в состоянии найти путь к этому дому, зная его адрес!!!!!
Twent
@twent
May 07 2014 14:50
Извиняюсь за вопрос. Как отобразить только ошибки валидатора?
Alexander Zhuravlev
@SCIF
May 07 2014 14:50
Итак. Начнём с самого начала — композер составляет карты соответствий. Все согласны?
Orel
@2byte
May 07 2014 14:52
@SCIF может компосер изначально сканирует весь ап, собирая все namespace,а потом по ним подключает файлы ?
Alexander Zhuravlev
@SCIF
May 07 2014 14:53
@2byte , не беги вперёд паровоза. Я задал простой вопрос. Ответь на него
Orel
@2byte
May 07 2014 14:53
@Amegatron если ты знаешь дом, но не знаешь квартиру, будешь искать ?
Alexander Zhuravlev
@SCIF
May 07 2014 14:53
Далее — я склонен быть уверенным, что для psr-0,4 композер тупо ходит по диркам и составляет неймспейсы/имена классов просто по именам дирок и файлов.
Orel
@2byte
May 07 2014 14:54
@SCIF я же и говорю он сканирует
Alexander Zhuravlev
@SCIF
May 07 2014 14:54
Для остальных методов, думаю, что просто смотрит какие классы определены в файлегах.
Orel
@2byte
May 07 2014 14:55
@SCIF а у @Amegatron он уже знает всю карту и просто подключает файлы по неймспэйсам
Alexander Zhuravlev
@SCIF
May 07 2014 14:55
Это он делает уже при исполнении
Alexander Egorov
@Amegatron
May 07 2014 14:57
@SCIF мне кажется, это напрасная трата времени :/
Alexander Zhuravlev
@SCIF
May 07 2014 14:58
Вы про разные концы процесса говорите
Orel
@2byte
May 07 2014 14:59
@SCIF ну он же сканирует что бы узнать спэйсы
Alexander Zhuravlev
@SCIF
May 07 2014 14:59
@2byte про индексирование (а оно есть), а @Amegatron про подключение во время исполнения.
@2byte , для пср сканирует чтобы убедиться, что файлы доступны. Не более того.
Orel
@2byte
May 07 2014 14:59
@SCIF вот подключает то что по спэйсам это понятно, ну узнает же он их за счет сканирования
Alexander Egorov
@Amegatron
May 07 2014 15:00
@2byte вот ты залезь в код и проследи весь процесс
Orel
@2byte
May 07 2014 15:00
@SCIF вот было бы хорошо отключить сканирование на продакшене, допустим при флаге debug => false
Alexander Zhuravlev
@SCIF
May 07 2014 15:00
@2byte , почитай тут — http://php.net/manual/en/language.oop5.autoload.php Я сам НЕ читал, но уверен, что знаю как это происходит, а ты не совсем понимаешь.
Alexander Egorov
@Amegatron
May 07 2014 15:01
да нет никакого сканирования ...
прежде чем уверять, что оно есть, залезь в код и приведи этот кусок
Alexander Zhuravlev
@SCIF
May 07 2014 15:03
@Amegatron , мне кажется ты не совсем прав. https://github.com/composer/composer/blob/master/src/Composer/Autoload/AutoloadGenerator.php#L103
@Amegatron , сканировать и пытаться получить файл при каждом создании объекта — шибко жирно
Сканирует он, по идее, при composer dump-autoload. Либо если не делал, то, возможно, при первом обращении к объекту
Orel
@2byte
May 07 2014 15:08
@SCIF ну вот при psr-0 получается постоянно сканирует
Alexander Zhuravlev
@SCIF
May 07 2014 15:09
Не постоянно
Orel
@2byte
May 07 2014 15:10
@SCIF Ну при вызове если класс не найден,не вызывает ошибку, а загружает его, как написано http://www.php.net/manual/ru/language.oop5.autoload.php
Alexander Zhuravlev
@SCIF
May 07 2014 15:11
Ну никто не сканирует, а отлавливает запрос класса
Я пошёл спать. 2:11 что-то как-то не в мою пользу «счёт» на часах
Twent
@twent
May 07 2014 15:21
@SCIF , спасибо!
Orel
@2byte
May 07 2014 16:32

Такое дело в базовом контроллере в конструкторе регистрирую сервис App :: register('DP\Providers\DpServiceProvider'); в котором меняю путь к шаблонам

class DpServiceProvider extends ServiceProvider {

    public function register()
    {
    }

    public function boot()
    {
        Config :: set('view.paths', app_path() .'/DP/Views');
    }
}

В контроллере вызываю шаблон, но он не найден, потому что путь стандартный, хотя перед return проверяю echo \Config :: get('view.paths'); стоит тот который я указал, залез в исходник vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php и вывел echo $viewPath = $path.'/'.$file; показан стандартный путь (

slider23
@slider23
May 07 2014 16:35

@2byte Тебе вот это нужно ? "If you have changed the location of your package's resources, such as configuration files or views, you should pass a third argument to the package method which specifies the location of your resources:

$this->package('vendor/package', null, '/path/to/resources');

Orel
@2byte
May 07 2014 16:36
Я не как пакет делаю
slider23
@slider23
May 07 2014 16:37
@2byte ничего не сканируется у композера. Все так, как тебе объяснили. Интерпретатор видит use или полный неймспейс-путь до класса - и подгружает его по этому пути.
Orel
@2byte
May 07 2014 16:39
@slider23 он видит не заглядывая в файлы?
slider23
@slider23
May 07 2014 16:45
Он заглядывает в файлы. Начиная с index.php
И понеслось.
Orel
@2byte
May 07 2014 16:45
@slider23 ну я же говорю сканирует )
slider23
@slider23
May 07 2014 16:46
Нет, по одному открывает, начиная с индекса. Он не сканирует /vendor
Если встретилось - открывает. Если не встретилось - не открывает
Orel
@2byte
May 07 2014 16:46
@slider23 Я не про vendor говорю
slider23
@slider23
May 07 2014 16:47
Ок, а что тогда по-твоему "не сканирует" ? Как это теоретически хотя бы может быть ?
Orel
@2byte
May 07 2014 16:47
По поводу сервиса, в настройках app если прописать этот сервис, то нормально путь шаблонов меняет, а если регистрирую сервис в базовом контроллере, не меняет
@slider23 это ты сказал "Не сканирует"
@slider23
Ну вот psr-0 как узнает полный namespace DP\Controllers\IndexController ?
"psr-0" : {
            "DP" : "app/"
        }
slider23
@slider23
May 07 2014 16:50
Интерпретатор получает на вход index.php. Начинает его исполнять. В процессе натыкается на /vendor/autoload.php. Там исполняет spl_autoload_register(), которая говорит, что __autoload() должен ориентироваться на неймспейсы. С этих пор как только интерпретатор видит use или new \Name\Space\Class он подключает соответствующий класс.
т.е. делает require /path/to/class
Orel
@2byte
May 07 2014 16:52
неймспэйс DP\Controllers\IndexController написан только в роутинге, больше нигде route :: get('/', 'DP\Controllers\IndexController');
slider23
@slider23
May 07 2014 16:53
"Ну вот psr-0 как узнает полный namespace DP\Controllers\IndexController ?" См. /vendor/composer/ClassLoader.php
он зарегистрирован в spl_autoload_register() как загрузчик классов композера
Orel
@2byte
May 07 2014 16:54
Это Route его зарегистрировал ?
slider23
@slider23
May 07 2014 16:54
"неймспэйс DP\Controllers\IndexController написан только в роутинге" из роутинга они ресолвятся, естественно.
Как и другая магия, связанная с IoC, например
Берется строка и исполняется как new class.
Orel
@2byte
May 07 2014 16:56
Хорошо придумано )
@slider23 подскажи что мне сделать с сервисом
slider23
@slider23
May 07 2014 16:59
с каким ?
Orel
@2byte
May 07 2014 17:00
Я регистрирую свой сервис в базовом контроллере. В котором меняется путь к шаблонам, путь меняется, но View :: make() всеравно берет стандартный
Если сервис внести в массив сервисов в app.php , то все гуд
slider23
@slider23
May 07 2014 17:03
Я знаю только такой способ изменения пути к шаблонам - View::addNamespace('package', __DIR__.'/path/to/views'); , но он только для пакета работает
Orel
@2byte
May 07 2014 17:04
Ну смотри в app/view.php 'paths' => array(DIR.'/../views'), значит же если его через конфиг поменять, он изменится
И еще не понимаю вот это извращение __DIR__.'/../views', не легче было сделать в index.php константу define('ROOT' __DIR__ .'/'); ?
slider23
@slider23
May 07 2014 17:14
Ну раз оно не работает, то значит так сделать нельзя, что тут думать. Значит, путь фиксируется чтением из конфига раньше, чем запуск контроллера
Ты хочешь менять путь внутри папки views или как-то глобальнее ?
Orel
@2byte
May 07 2014 17:15
@slider23 так если зарегистрировать его в app.php то гуд
@slider23 нет только для определенных контроллеров
// Два варианта нашел
View::addLocation(APP .'DP/Views');
View::addNamespace('theme', '/path/to/themes/views');
return View::make('theme::view.name');
Twent
@twent
May 07 2014 17:16
Всем привет. Еще вопрос. Как вы проверяете форму входа? Как определить существует ли пользователь и то, что пароль введен не верно?
Orel
@2byte
May 07 2014 17:17
@twent валидность данных, или сверка по базе?
slider23
@slider23
May 07 2014 17:18
@2byte если проблема не решается тем путем, как ты хочешь, надо посмотреть, каким путем её проще решить в рамках данного фреймворка. Может, сделать пакет, или еще как-то. Может, префиксом в пути ко вьюхам в View::make(), который брать из конфига.
@twent можно в контроллере логина, после валидации. Можно сделать свое правило валидации, в мануале описано как именно.
Orel
@2byte
May 07 2014 17:19
@slider23 я уже выше решение написал.
Twent
@twent
May 07 2014 17:19
@2byte , с валидностью разберусь, а вот сверка по БД интересует
Orel
@2byte
May 07 2014 17:21
@twent можно просто через модель, а можно воспользоваться драйвером авторизации Auth недавно разбирался с ним
@twent Крайний случай DB :: table('users')->where('login', Input::get('login')->where('password', Input::get('password'))->get()
where('password', Input::get('password')) - хранить пароли в базе в открытом виде нельзя.
Моветон.
Orel
@2byte
May 07 2014 17:27
@slider23 ну я думаю он знает об этом
Twent
@twent
May 07 2014 17:31
@slider23 , интересует не авторизация, а проверка введенных данных на форме, а именно существование логина и несовпадение пароля. Или я не понял как этим воспользоваться для этих целей.
@slider23, а все, нашел validate, спасибо
Orel
@2byte
May 07 2014 17:33
@twent модели смотрел ?
Twent
@twent
May 07 2014 17:36
@2byte , создать метод для проверки? Это имеется в виду?
Twent
@twent
May 07 2014 17:43
Кстати, я использую SENTRY, возможно и там есть свой метод для проверки.
@2byte, точно, спасибо, всё-таки в л4 много способов сделать одно и то же действие, не могу привыкнуть.
slider23
@slider23
May 07 2014 17:46
проверять есть ли пользователь можно многими путями, например User::where("login",$login)->get();
Ekuzkamaza
@Ekuzkamaza
May 07 2014 18:02
я вот как проверяю
    // вход пользователя на сайт
    public function login()
    {
        if (Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password')), true) ||
            Auth::attempt(array('username' => Input::get('email'), 'password' => Input::get('password')), true)) 
        {
            if (Auth::user()->role < 4) return Redirect::to('zupalula');
            else return Redirect::home();
        }
        return Redirect::back()->withInput(Input::except('password'))->with('message', trans('staff.wrong'));
    }
у меня проверка по емэйлу и по никнэйму
Twent
@twent
May 07 2014 18:16

'''
public function postLogin()
{
$rules = array(
'login' => 'required|alpha_num|between:5,16',
'password' => 'required|alpha_dash|min:8',
);

    $validator = Validator::make(Input::all(), $rules);

    if ($validator->passes())
    {
        $credentials = array(
            'login' => Input::get('login'),
            'password' => Input::get('password')
        );

        try
        {
            $user = Sentry::authenticate($credentials, false);        
            if ($user) 
            {  
                return Redirect::to('user/dashboard')->withMessage('You are now logged in!');
            }
        }

        catch(\Exception $e)
        {
            return Redirect::to('login')->withErrors(array('login' => $e->getMessage()))->withInput();
        }

    } else {

        return Redirect::to('login')->withErrors($validator)->withInput();
    }

}

'''

Orel
@2byte
May 07 2014 18:19
@twent ?
Twent
@twent
May 07 2014 18:21
@2byte , может что не так делаю, советы не помешают
Orel
@2byte
May 07 2014 18:24
@twent Я Sentry не пользовался, я бы не использовал исключение, надо показать пользователю сообщения об ошибка авторизации показать дописал бы else
@twent В первую очередь возврат ошибок от валидатора о неправильном формате данных
slider23
@slider23
May 07 2014 18:28
да вроде все норм
Twent
@twent
May 07 2014 18:32
@2byte, попробовал убрать исключение: ошибка Cartalyst \ Sentry \ Users \ WrongPasswordException
Orel
@2byte
May 07 2014 18:36
@twent не пользовался, поэтому не знаю
slider23
@slider23
May 07 2014 18:39
все норм, ничего убирать не надо
Roman
@TeroBlaZe
May 07 2014 18:52
Всем привет
Twent
@twent
May 07 2014 18:52
Еще вопрос. Где можно посмотреть на организацию проектов на laravel4? Например, интересует как организована структура представлений, их вложенность. Использовать @include для таких элементов, как меню, сайдбар годно или есть лучшие способы?
Привет, @TeroBlaZe
Roman
@TeroBlaZe
May 07 2014 18:53
Не плохой вопрос)) меня как-то тоже интересовало это, но не найдя ничего толкового, сам придумал себе структуру представлений
но до сих пор экспериментирую
Orel
@2byte
May 07 2014 18:54
Twent
@twent
May 07 2014 18:55
@2byte , ух ты, благодарствую
slider23
@slider23
May 07 2014 18:55
Там примеры довольно старые только.
Но include для вьюх - это нормально
Brezhnev Ivan
@vanchelo
May 07 2014 18:56
а кто пробовал blade на стеройдах?
выглядит круто
Roman
@TeroBlaZe
May 07 2014 18:56
что за стеройды?
Orel
@2byte
May 07 2014 18:56
@vanchelo это как?
Brezhnev Ivan
@vanchelo
May 07 2014 18:56
ща
там с виду крутые штуки есть
Roman
@TeroBlaZe
May 07 2014 18:58
замудренно на первый взгляд, возможно и полезно, в каких-то особых моментах
slider23
@slider23
May 07 2014 19:00
мой любимый пример сайта на laravel4 - fusioninvoice - походу, снесли с гитхаба :(
Roman
@TeroBlaZe
May 07 2014 19:02
ненавижу такие ситуации, когда есть вопрос, но не знаешь как его спросить :D хорошо, что еще русскоязычный чат нашел, а то всё это время на офсайте сидел и даже английский подучить успел)))
slider23
@slider23
May 07 2014 19:04
английский - наше всё.
Twent
@twent
May 07 2014 19:05
@slider23 а это не оно? https://github.com/billybob-org/fusioninvoice
slider23
@slider23
May 07 2014 19:05
нет, это первая версия, на codeigniter
вторая - на laravel
они его, похоже, продавать начали
Orel
@2byte
May 07 2014 19:06
@vanchelo круто, но страшно забыть html вообще )
@slider23 а напомни что за ап был?
Twent
@twent
May 07 2014 19:08
тоже рад, что нашел этот чат, спасибо сообществу в вк и его админу
slider23
@slider23
May 07 2014 19:08
Первый чатег был в скайпе
потом нашли gitter
Brezhnev Ivan
@vanchelo
May 07 2014 19:09
)
не оно?
slider23
@slider23
May 07 2014 19:10
У админа кстати завтра ДР, если вк нам не врет.
Brezhnev Ivan
@vanchelo
May 07 2014 19:10
везет ему)
Orel
@2byte
May 07 2014 19:10
У меня тож скоро
Brezhnev Ivan
@vanchelo
May 07 2014 19:11
так кто стеройды эти пробовал?
опытом поделитесь, как оно)
Orel
@2byte
May 07 2014 19:12
@vanchelo только от тебя узнал, выглядит круто очень
slider23
@slider23
May 07 2014 19:13
@vanchelo это ранняя-ранняя версия, лежит в ветке develop, кстати. Еще до рефакторинга, с группировкой не по сущностям, а функционалу - https://github.com/onebeat/FusionInvoice/tree/develop/app/FI/Storage/Eloquent/Repositories
Я стероиды юзать точно не буду, имхо, это ненужная абстракция. Так html забудешь, действительно.
Ekuzkamaza
@Ekuzkamaza
May 07 2014 19:14
я когда с простого php вывода на шаблоны переходил мне жутко не хватало функционала шаблонизатора, а теперь блэйд покрывает почти все что нужно, если не покрывает значит где-то накосячил и это не фрэймворк вэй. Но в закладки надо добавить эти стеройды
Brezhnev Ivan
@vanchelo
May 07 2014 19:15
понял
Ekuzkamaza
@Ekuzkamaza
May 07 2014 19:20
лара и так волшебно бустрапится. помню формы в джанго это пипец кто не знает не поймет, там в форме модели надо все классы (бустрапа )прописывать столько работы что ужас. Зато все в шаблоне выглядит красиво. И кто не знает что за этим стоит ведутся, ах какая джанга красивая и "легкая".
не оно?
Roman
@TeroBlaZe
May 07 2014 19:22
в общем я накорябал, что смог)) http://laravel.io/bin/lzwGV проблема в том, что я запутался, где мне проверять лучше данные на null, где выводить нули если модель невалидна, где эти данные форматировать и т.д.
slider23
@slider23
May 07 2014 19:22
@vanchelo о, сенкс, похоже, оно
по крайней мере "2 days ago"
значит живое
Brezhnev Ivan
@vanchelo
May 07 2014 19:23
ага, а чето у хозяина давно не обновлялся
Alexey
@Butochnikov
May 07 2014 19:51
@slider23 а ты себе форк не делал?
или архивчик скачал.... раз проект достойный
slider23
@slider23
May 07 2014 19:52
Архив у меня где-то был
Он не особо хороший, просто там интерфейсы, репозитории, валидация отдельно. Как учебный проект неплох.
Опа, Maks Surguy не шмог: Not all manuscripts make it to the finish line to become published books. We regret to announce that an Early Access title you own, Laravel in Action, will not be published. The chapters you've downloaded thus far are yours to keep, but there will be no further updates.
Alexey
@Butochnikov
May 07 2014 19:54
Да, я с ним уже разговаривал на эту тему
slider23
@slider23
May 07 2014 19:54
"Laravel in Action" не будет
Alexey
@Butochnikov
May 07 2014 19:54
на леанпабе будет
или на его сайте
slider23
@slider23
May 07 2014 19:54
Поменял издателя ? :) А почему ?
Alexey
@Butochnikov
May 07 2014 19:55
не набралось покупателей на бумажную версию
там 2 000 вроде надо
Orel
@2byte
May 07 2014 19:55
@slider23 посмотрел FusionInvoice оказывается мне еще в скайпе кто-то его дал, я по его примеру апы делаю, искал его не могу найти вроде был в исходниках в группе, но пропал
Twent
@twent
May 07 2014 19:56
заинтересовал меня этот FusionInvice, возможно он еще остался у кого-то в загрузках. А есть еще такого уровня проекты?
Alexey
@Butochnikov
May 07 2014 19:56
ждал бумажную версию с его автографом, но ... ладно
Orel
@2byte
May 07 2014 19:57
@twent он крут, я по нему лару изучал
Roman
@TeroBlaZe
May 07 2014 19:58
FusionInvoice слишком замудреный какой-то код
Alexey
@Butochnikov
May 07 2014 19:58
а мне по организации кода сайт сообщества франции нравился... https://github.com/laravel-france/website
хотя обычный сервис провайдер
Alexander Egorov
@Amegatron
May 07 2014 19:58
@twent насчет твоей авторизации, у меня аналогичная штука - логин либо по юзернейму, либо по мылу, но я не делаю два Auth::attempt - в идеале это не эффективно, ибо будут делаться два запроса к БД. Вместо этого проверяется, что именно ввел пользователь: логин или мыло (у меня по правилам в логине не может быть "@", поэтому проверка делается просто на наличие "@"). И в зав-ти от этого подставляются соотв-ие креденшелы в attampt ... Код на ноуте, поэтому могу ошибиться, примерно так:
$creds = ['password' => Input::get('password')];

$login = Input::geT('login');
if (strpos($login, '@')) {
    $creds['email'] = $login;
} else {
    $creds['username'] = $login;
}

if (Auth::attempt($creds)) {
    // ...
}
@Butochnikov С Днюхой! =) 0:02 по МСК =)
slider23
@slider23
May 07 2014 20:04
@Butochnikov Кстати да, уже можно, поздравляю ! :)
Twent
@twent
May 07 2014 20:05
Присоединяюсь к поздравлениям @Amegatron, @slider23, всех благ, @Butochnikov !
Brezhnev Ivan
@vanchelo
May 07 2014 20:06
Успехов тебе в жизни и в поисках себя)
Alexey
@Butochnikov
May 07 2014 20:08
Спасибо всем за поздравления!
Twent
@twent
May 07 2014 20:09
если кто найдет у себя архив с @FusionInvoice буду премного благодарен за ссылку
slider23
@slider23
May 07 2014 20:10
@twent так вот же, пробегало в чате: https://github.com/Siliconsoul/FusionInvoice
@vanchelo нашел
проект в целом замудреный, непростой, но это пример как надо писать большие серьезные приложения
хотя я бы убрал оттуда модульность, оно конкретно там не нужно
@twent еще вот это можешь посмотреть: https://github.com/LaravelIO/laravel.io Тут поменьше уровней абстракции
Roman
@TeroBlaZe
May 07 2014 20:14
Ну раз уж и я здесь, то я тоже присоединяюсь к поздравлениям и желаю @Butochnikov во всём успехов :)
Twent
@twent
May 07 2014 20:16
@slider23 но где же там контроллеры, модели, вьюхи? На что можно посмотреть?
В laravel.io все нашел, спасибо.
slider23
@slider23
May 07 2014 20:17
Там все разбито помодульно. Вот Users: https://github.com/Siliconsoul/FusionInvoice/tree/master/app/FI/Modules/Users
Orel
@2byte
May 07 2014 20:18
@Butochnikov поздравляю от всей души, спасибо за то, что нас всех собрал :clap:
Twent
@twent
May 07 2014 20:19
@slider23 вот оно как.. спасибо, буду разбираться. А для чего это сделано?
Roman
@TeroBlaZe
May 07 2014 20:20
Так что, как мне быть, если допустим записи в базе о счёте нет, но баланс надо получить, хоть 0. Где лучше и универсальнее сделать проверку на то есть ли у юзера модель счёта, чтобы не вызывать Несуществующее своёство "баланс" у модели с Счета? В контроллере не вариант, во вьюхе криво смотрится, в моделе самый раз вроде как, но не знаю как лучше
Alexey
@Butochnikov
May 07 2014 20:22
@2byte и @TeroBlaZe и вам спасибо. скоро и группе год. ))
когда все начинал и представить не мог, что нас так много будет
Brezhnev Ivan
@vanchelo
May 07 2014 20:23
)
Alexey
@Butochnikov
May 07 2014 20:23
без вас всех не получилось бы сообщества
Brezhnev Ivan
@vanchelo
May 07 2014 20:24
не, без меня было бы спокойнее)
я не со всеми могу адекватно контактировать)
Alexey
@Butochnikov
May 07 2014 20:25
напрашиваешься на комплимент?
Brezhnev Ivan
@vanchelo
May 07 2014 20:25
мудрости не хватает и терпимости
нее)
я критикую себя
вот на эту тему щас слушаю https://www.youtube.com/watch?v=iQaO-DJop7g
что ответственность несет всегда отправитель
Alexey
@Butochnikov
May 07 2014 20:26
ты такой какой есть. и с тобой все хорошо. продолжай помогать, у тебя это хорошо получается.
Roman
@TeroBlaZe
May 07 2014 20:26
ну теперь в сообществе ларочки еще пополнение))
Brezhnev Ivan
@vanchelo
May 07 2014 20:27
ага, че-то людей много но не все активничают
Orel
@2byte
May 07 2014 20:27
Я буду всегда )
Brezhnev Ivan
@vanchelo
May 07 2014 20:28
иной раз удивляюсь сдержанности некоторых активистов
как у них так получается
как научится?
Alexey
@Butochnikov
May 07 2014 20:28
неделя до ларакона. теперь они лайв блогинг делать будут, моя идея им понравилась, смотрю.
завтра анонс в группе сделаю
Orel
@2byte
May 07 2014 20:29
Может уже вакансии в России скоро будут на лару?
Alexey
@Butochnikov
May 07 2014 20:29
но у нас будет своя. кто хочет помогать - пишите.
Orel
@2byte
May 07 2014 20:30
@Butochnikov вакансия?
Brezhnev Ivan
@vanchelo
May 07 2014 20:30
своя конфа?
Alexey
@Butochnikov
May 07 2014 20:30
кто следил со мной за прошлым лараконом?
@2byte нет не вакансия. но вакансии есть на лару.
не много, но попадаются
Orel
@2byte
May 07 2014 20:32
@Butochnikov конфа?
slider23
@slider23
May 07 2014 20:32
@TeroBlaZe в eloquent-модели делай метод getBalanceAttribute() http://laravel.com/docs/eloquent#accessors-and-mutators
Orel
@2byte
May 07 2014 20:32
Laravel - красив, умен, богат, популярен
Alexey
@Butochnikov
May 07 2014 20:33
@2byte видел мою "трансляцию" laracon в Амстердаме?
Brezhnev Ivan
@vanchelo
May 07 2014 20:33
покажи
Orel
@2byte
May 07 2014 20:33
@Butochnikov неа
slider23
@slider23
May 07 2014 20:33
Я не видел
Alexey
@Butochnikov
May 07 2014 20:33
так Вконтакте посты выкладывал... все два дня
Brezhnev Ivan
@vanchelo
May 07 2014 20:33
))
Alexey
@Butochnikov
May 07 2014 20:34
организаторы до этого не догадались
теперь поняли, что это круто и сами теперь так делать будут
Brezhnev Ivan
@vanchelo
May 07 2014 20:34
а ты запатентовал?
Alexey
@Butochnikov
May 07 2014 20:34
прямого видео же нет
@vanchelo )))
Brezhnev Ivan
@vanchelo
May 07 2014 20:35
а че бы и нет, идея стоящая
Alexey
@Butochnikov
May 07 2014 20:35
теперь Макс Сургай обещал помочь
должно получится лучше, чем в прошлый раз.
так, что если кто с инглишом дружит и хочет помочь с "трансляцией" прошу, вместе будем вести.
Orel
@2byte
May 07 2014 20:38
@Butochnikov ты на англиском писал?
Alexey
@Butochnikov
May 07 2014 20:38
на русском
Roman
@TeroBlaZe
May 07 2014 20:38
кстати я этот чат нашел случайно введя в гугле "laravel Русский чат", открыл статью хабра и оттуда сюда
Brezhnev Ivan
@vanchelo
May 07 2014 20:38
прикольно)
Alexey
@Butochnikov
May 07 2014 20:38
в меню группы ссылка есть и статье
slider23
@slider23
May 07 2014 20:38
А когда эта трансляция была ? Я вроде во вконтакт регулярно захожу, лента у меня небольшая, но этого в упор не помню :)
Alexey
@Butochnikov
May 07 2014 20:39
@slider23 сейчас точно скажу
Orel
@2byte
May 07 2014 20:39
Посмотрю днем, всем спокойной ночи, мне иногда снится как я пишу код, а точнее продумываю архитиктуру, как на яву
Brezhnev Ivan
@vanchelo
May 07 2014 20:39
приятных!
Alexey
@Butochnikov
May 07 2014 20:39
Доброй ночи
Roman
@TeroBlaZe
May 07 2014 20:40
Пока
Alexey
@Butochnikov
May 07 2014 20:41
вот листайте http://vk.com/wall-53758340?q=laracon
с 30 августа
мое "рабочее место" для слежения было http://laravel.su/laracon.eu
slider23
@slider23
May 07 2014 20:43
"30 августа" - а, тогда понятно, меня еще не было.
Alexey
@Butochnikov
May 07 2014 20:44
надеюсь повторю этот "подвиг"...
Brezhnev Ivan
@vanchelo
May 07 2014 20:45
ага)
Ekuzkamaza
@Ekuzkamaza
May 07 2014 20:45
Присоединяюсь к поздравлениям. Группа очень правильная сформировалась грамотные и адекватные люди.
Alexey
@Butochnikov
May 07 2014 20:45
Спасибо
Brezhnev Ivan
@vanchelo
May 07 2014 20:45
я бывает зайду в чат другой, а там все сильно крутые)
slider23
@slider23
May 07 2014 20:45
ок, я спать, всем до завтра :)
Brezhnev Ivan
@vanchelo
May 07 2014 20:46
спокойной ночи!
Alexey
@Butochnikov
May 07 2014 20:46
Доброй ночи
Brezhnev Ivan
@vanchelo
May 07 2014 20:46
есть люди крутые и в тоже время простые, а бывает наоборот
в смысле крутые спецы
вот у нас и крутые и дружелюбные
Alexey
@Butochnikov
May 07 2014 20:47
))
Brezhnev Ivan
@vanchelo
May 07 2014 20:48
я не чувствую себя не в своей тарелке
никто не издевается и не оскорбляет)
и не выказывает своего превосходства
Alexey
@Butochnikov
May 07 2014 20:48
согласен
Roman
@TeroBlaZe
May 07 2014 20:48
у меня подобное ощущение от оф. чата сложилось
там тоже всё просто относительно, не считая не родного языка)
Brezhnev Ivan
@vanchelo
May 07 2014 20:49
значит ты понимаешь о чем я)
Ekuzkamaza
@Ekuzkamaza
May 07 2014 20:51
Спокойной ночи!
Roman
@TeroBlaZe
May 07 2014 20:51
Спокойной
Brezhnev Ivan
@vanchelo
May 07 2014 20:51
и доброй)
Twent
@twent
May 07 2014 20:55
Всем спасибо и спокойной ночи. Было приятно оказаться в этом чате.
Alexey
@Butochnikov
May 07 2014 20:56
доброй ночи
Roman
@TeroBlaZe
May 07 2014 20:56
@twent Доброй ночи
Brezhnev Ivan
@vanchelo
May 07 2014 20:56
доброй!
Roman
@TeroBlaZe
May 07 2014 20:57
я пожалуй на круглосуточное дежурство останусь))
Алексей Данчин
@Aleksey-Danchin
May 07 2014 20:58
Хочу поздравить с днем рождения Алексея Буточникова! Админ нашей группы в VK, который выкладывает новости и благодаря которому я познакомился и увлекся Laravel! Успехов, здоровья и спасибо за твой информационный труд, теска =D
На счет даты дня рождения признаюсь не знаю, но вк подсказывает, что это сегодня.
Alexey
@Butochnikov
May 07 2014 20:59
@Lehad Благодарю. рад стараться для все вас.
Roman
@TeroBlaZe
May 07 2014 21:04
я кстати про лару год назад узнал)) изобретал как-то свой велосипед, противился всяких фреймворков, и наткнулся на ютубе на JREAM и его обзор этого фреймворка и влюбился:))
Twent
@twent
May 07 2014 21:09
Узнал о нем несколько дней назад. И решил, что делать диплом буду определенно с помощью этой штуки.
Brezhnev Ivan
@vanchelo
May 07 2014 21:10
Roman
@TeroBlaZe
May 07 2014 21:17
@vanchelo только досмотрел презентацию)
Brezhnev Ivan
@vanchelo
May 07 2014 21:17
=)
Brezhnev Ivan
@vanchelo
May 07 2014 21:24
он говорит что если чел даже крутой спец но не разделяет цели компании или плохо контактирует с остальной командой надо расставаться
в краткосрочной перспективе компания потеряет, а в долгосрочной наоборот
Roman
@TeroBlaZe
May 07 2014 21:27
да, он здравые вещи говорил
Mikhail Donskoy
@mdnsk
May 07 2014 21:43
@Butochnikov с днем рождения! Спасибо за развитие русского сообщества Laravel! Желаю вам многие годы быть великодушным диктатором LaravelRUS
Twent
@twent
May 07 2014 21:44
Встречали что-нибудь лучшее в качестве средства разработки/редактирования кода, чем AWD для андроид?
Brezhnev Ivan
@vanchelo
May 07 2014 21:45
я только на ноуте работаю, с планшета не приходилось, да и нет у меня его)
а со смарта не удобно
это так если кракозябру исправить по быстрому)
Twent
@twent
May 07 2014 21:56
Интересуюсь, так как нужно ехать в деревню на три дня, Под рукой из компьютеров будет только смарт. Оптимальный вариант читать доку в электронном формате, благо имеется. Но и несколько проектов скачал, хочется скорее разобраться в коде.
Roman
@TeroBlaZe
May 07 2014 21:56
ох уж эти деревни...
Brezhnev Ivan
@vanchelo
May 07 2014 21:56
понял)
Alexey
@Butochnikov
May 07 2014 21:58
@BaldaI Спасибо. А почему диктатором?
Roman
@TeroBlaZe
May 07 2014 21:59
кстати мутаторы и акцессоры то что нужно если нужны форматированные данные всегда, но как получить оригинальные данные, если они меняют динамическую переменную, да и вообще это не решает вопроса с тем как быть, если модели не существует, но переменная из неё нужна, чтоб не выдавало Trying to get property of non-object
Brezhnev Ivan
@vanchelo
May 07 2014 22:00
$user->getAttribute('name') ?
если модели нет то можно сделать $model = User::first() ?: new User;
получится что у тебя $model всегда будет объектом
Roman
@TeroBlaZe
May 07 2014 22:04
не, у меня немного иной случай, модель юзера есть, а вот дочерняя модель счет с полем баланс может и не быыть, но баланс должен выводиться всегда, а у меня получается ошибка Trying to get property of non-object т.к модели счета нет
Brezhnev Ivan
@vanchelo
May 07 2014 22:04
покажи код
в акцессоре как раз прописываешь то что я тебе прописал
только вместо юзера модель баланса
ну и конечно по своему коду ориентируйся
Alexander Egorov
@Amegatron
May 07 2014 22:06
@TeroBlaZe дык делай во вьюхе проверку
если null, то пустой список выводи, ну или там сообщение
Roman
@TeroBlaZe
May 07 2014 22:08
блин не знаю какую часть кода показать чтоб понятно было. А вот в каждой вьюхе проверять на нул да еще и форматировать это ужасно выглядит... наверняка нужно модель правильно организовать
Brezhnev Ivan
@vanchelo
May 07 2014 22:08
покажи именно код там где ты получаешь баланс
в моделе юзера?
Roman
@TeroBlaZe
May 07 2014 22:08
@vanchelo сейчас попробую код максимально коротко и ясно показать
Alexander Egorov
@Amegatron
May 07 2014 22:09
можно эту проверку вынести в отдельный шаблон и его инклюдить из всех мест, где эта проверка нужна
если конечно вывод одинаковый везде
Maxim
@Big-Shark
May 07 2014 22:10
@Butochnikov С днем рождения, счастья тебе, здоровья, и всего самого наилучшего)
Alexander Egorov
@Amegatron
May 07 2014 22:10
http://www.sbshare.ru/
http://www.sbshare.ru/planets
и там и там инклюдится под-шаблон для превьюхи планеты. В нем делается проверка, является ли автор нуллом, и если нулл, то выводится "аноним"
Brezhnev Ivan
@vanchelo
May 07 2014 22:10
уже и спать пора)
Alexey
@Butochnikov
May 07 2014 22:11
@Big-Shark Благодарю за поздравление.
Alexander Egorov
@Amegatron
May 07 2014 22:11
я решил перед сном вскрыть 40 бустеров в HS =) 3 легендарки =)))
теперь можно и спать ложиться :D
Brezhnev Ivan
@vanchelo
May 07 2014 22:11
ого
Maxim
@Big-Shark
May 07 2014 22:12
@TeroBlaZe Можно еще юзать презенторы
Brezhnev Ivan
@vanchelo
May 07 2014 22:13
а пример покажешь? мне тоже интересно
Roman
@TeroBlaZe
May 07 2014 22:14
class User extends Eloquent {
    public function invoice() {
        return $this->hasOne('Invoice');
    }
public function getBalance(){
return is_null($this->invoice) ? 0 : number_format($this->invoice->balance) ;
}
}
в контроллере User::fint(1)->invoice->balance возвращает Trying to get property of non-object
а если User::fint(1)->getBalance() то вроде как то что нужно, но опять же, мне и сырые данные нужно вернуть, не писать же две функции!?
Alexander Egorov
@Amegatron
May 07 2014 22:15
@TeroBlaZe раз "иногда" нужно и сырые данные, то в любом случае нужна проверка на null
ну либо дефолтный объект возвращать
как говорит @vanchelo
public function getInvoice() {
    return is_null($this->invoice) ? new Invoice : $this->invoice;
}
Roman
@TeroBlaZe
May 07 2014 22:19
сейчас попробую применить
у меня уже просто параноидальные залипания постоянно происходят, из-за того, что я переписываю в своем коде по несколько раз одно и тоже
Brezhnev Ivan
@vanchelo
May 07 2014 22:30
@Big-Shark презентеры смотрю вещь полезная) спс
гы, прикольная лицензия у этого презентера http://www.dbad-license.org/
The "Dont Be a Dick" Public License
Roman
@TeroBlaZe
May 07 2014 22:36
хахаха и правда подняло настроение))
Maxim
@Big-Shark
May 07 2014 22:44
@vanchelo презентеры еще защищают от 1 очень важной вещи, запросы во вью)