These are chat archives for LaravelRUS/chat

27th
Jul 2015
Chimit
@chimit
Jul 27 2015 03:03
Друзья, подскажите, как правильно вынести некоторый функционал в отдельную функцию из экшена контроллера?
Maxim
@Big-Shark
Jul 27 2015 03:03
а в чем сложность?
Chimit
@chimit
Jul 27 2015 03:05
раньше я выносил в отдельную папку Library и подключал, но мне кажется, это как-то слишком)
как это обычно делается?
просто вынести в отдельную функцию в том же контроллере?
Maxim
@Big-Shark
Jul 27 2015 03:05
угу
Chimit
@chimit
Jul 27 2015 03:06
ясно, спасибо!
4gekkman
@4gekkman
Jul 27 2015 03:20
Всем доброго утречка
Кто-нибудь сталкивался с таким
Redis::subscribe вызывает 504 Gateway Time-out на nginx, независимо от места применения. Причём, возникает некий бесконечный цикл, который пишет в laravel.log такую ошибку:
local.ERROR: exception 'Predis\Connection\ConnectionException' with message 'Error while reading line from the server. [tcp://127.0.0.1:6379]' in /home/vagrant/projects/zaste.ru/vendor/predis/predis/src/Connection/AbstractConnection.php:146
Maxim
@Big-Shark
Jul 27 2015 05:45
ну наверное у тебя бесконечный цикл
Oleg
@Malezha
Jul 27 2015 09:02
Здравствуйте, я все еще вожусь с reactphp и laravel 5.1
Нашел интересную реализацию, но застрял с апгрейдом загрузчика до 5 версии ларавеля.
В частности метод getStack, сейчас сменили работу куки и сессия и я не могу понять, как мне теперь это все адаптировать. Может есть гуру фрейморка, который подскажут, в какую сторону двигаться?
Oleg
@Malezha
Jul 27 2015 09:20
Или же будет проще переписать сам HttpKernel?
Paul Klementyev
@klermonte
Jul 27 2015 09:23
Хм, классная, но непонятная штука:D
Oleg
@Malezha
Jul 27 2015 09:25
@klermonte да у меня вообще проблема чисто с куками - они не устанавливаются и не обрабатываются. И решения тут целых два: переписать загрузчик, а точнее метод getStack или переписать HttpKernel специально под ларавель. Второе проще, наверное)
Paul Klementyev
@klermonte
Jul 27 2015 09:28
Ну, думаю правильно было бы написать отдельный класс бутстрапа специально для ларавел 5, я так понимаю тот что есть он для 4?
Oleg
@Malezha
Jul 27 2015 09:32
Да, он для 4. Проблема в том, что в 5 поменяли немного все, а я не знаю как именно теперь переписать под 5.
Paul Klementyev
@klermonte
Jul 27 2015 09:33
ну я так понял, что getApplication() теперь должен контейнер вернуть
а не реквайерить /start.php
Oleg
@Malezha
Jul 27 2015 09:34
Апп я уже вернул, у меня проблема с
        $stack
            ->push('Illuminate\Cookie\Guard', $this->app['encrypter'])
            ->push('Illuminate\Cookie\Queue', $this->app['cookie'])
            ->push('Illuminate\Session\Middleware', $this->app['session'], $sessionReject);
Сейчас этих классов просто нет)
Хотя тот же Illuminate\Cookie\Guard сейчас имеет вид Illuminate\Cookie\Middleware\EncryptCookies, но новая реализация не имплементирует интерфейс.
Paul Klementyev
@klermonte
Jul 27 2015 09:39
короче, как я понял, стек - это стек мидлверов
так что тебе нужно туда запихнуть все то, что есть в http/kernel
в дефолтном приложении это
        'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
        'Illuminate\Cookie\Middleware\EncryptCookies',
        'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
        'Illuminate\Session\Middleware\StartSession',
        'Illuminate\View\Middleware\ShareErrorsFromSession',
        'App\Http\Middleware\VerifyCsrfToken',
под этими именами (первый параметр push()) тебе надо положить инстансы этих мидлверов, ну а это уже надо смотреть в сервис провайдерах ядра, что за штуки там забиндены в контейнер
Paul Klementyev
@klermonte
Jul 27 2015 09:44
а не не не не
второй и последующий параметры push() это параметры для конструктора этих мидлверов
Oleg
@Malezha
Jul 27 2015 09:45
Спасибо, сейчас попробую.
Paul Klementyev
@klermonte
Jul 27 2015 09:47
т.е. например для кук:
$stack
            ->push('Illuminate\Cookie\Middleware\EncryptCookies', $this->app['encrypter']);
и так далее
параметры смотри в конструкторах этих мидлверов
Oleg
@Malezha
Jul 27 2015 09:49
Хм, это сработает для дефолтного приложения, но для других нужно будет дописвать.
butschster
@butschster
Jul 27 2015 09:51
Привет, ребятишки
Oleg
@Malezha
Jul 27 2015 09:51
Привет
Oleg
@Malezha
Jul 27 2015 09:58
К сожалению не помогло, куки так и не устанавливаются(
Paul Klementyev
@klermonte
Jul 27 2015 10:09
Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse добавил?
 $stack
            ->push('Illuminate\Cookie\Middleware\EncryptCookies', $this->app['encrypter'])
            ->push('Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse', $this->app['cookie']);
Oleg
@Malezha
Jul 27 2015 10:11
Да, обязательно
Сейчас хочу вардампну сам респонз.
Подозрение, что заголовков куки там нет.
symbios_zi
@symbiosss
Jul 27 2015 10:12
а я бабосы за laracasts плачу )
Paul Klementyev
@klermonte
Jul 27 2015 10:13
 $stack 
    ->push('Illuminate\Cookie\Middleware\EncryptCookies', $this->app['encrypter']) 
    ->push('Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse', $this->app['cookie'])
    ->push('Illuminate\Session\Middleware\StartSession', $this->app['session']);
вот так должно сработать
не забудь рестартануть воркеров
Oleg
@Malezha
Jul 27 2015 10:14
Такс, $syResponse->headers->getCookies() возвращает мне мои куки, но вот $syResponse->headers->all() почему то нет :/

Заголовки

array(3) {
  'cache-control' =>
  array(1) {
    [0] =>
    string(8) "no-cache"
  }
  'date' =>
  array(1) {
    [0] =>
    string(29) "Mon, 27 Jul 2015 10:10:18 GMT"
  }
  'content-type' =>
  array(1) {
    [0] =>
    string(24) "text/html; charset=UTF-8"
  }
}

Куки

array(2) {
  [0] =>
  class Symfony\Component\HttpFoundation\Cookie#222 (7) {
    protected $name =>
    string(10) "XSRF-TOKEN"
    protected $value =>
    string(276) "eyJpdiI6IldCZnhxWW1ONkVUdTUyTjgyRnJyOVE9PSIsInZhbHVlIjoib21uV0V6dlV4NnhybGNPRFF6QmxDWGhWN1FlSVNGdkpHc0xrVnhBaGhrSFZjV0tud3BTTjZaZkNmU1p2UmlCeURwQkp0MWxyem9CbmVTQjllbmk1MHc9PSIsIm1hYyI6IjNkNWNkNjFhYzhhOWMxYTdmMjlkZDVhZDJlOGMxOThmMTEwMmM5ZmNjMWZhYjY0MTkxZjQzOTIzOTU3ZjM4MzYifQ=="
    protected $domain =>
    NULL
    protected $expire =>
    int(1437999223)
    protected $path =>
    string(1) "/"
    protected $secure =>
    bool(false)
    protected $httpOnly =>
    bool(false)
  }
  [1] =>
  class Symfony\Component\HttpFoundation\Cookie#237 (7) {
    protected $name =>
    string(15) "laravel_session"
    protected $value =>
    string(280) "eyJpdiI6InhlWHQ5YUhqMTNIMUVyZE4zUE9Eb0E9PSIsInZhbHVlIjoiOW41ejVib2xRZk9YcVB1UjRQblpGVGhFVVwvU2haT3U2XC9PZTlUSmQ1WlRBUDZ4a0VxT1wvZzdnQzZxcWo0d0ZWXC81OFpQUCs5SWxIaCtXYUF4UkFkekVRPT0iLCJtYWMiOiIwNDQ5NmI3OTg2ODI0NDRlYTUyNmIyNjQ0OWQ0YjdlMGJiOWY2N2RmNTY0YTRjN2Q0YWI5MmE3YTE1MTQ5Y2Y0In0="
    protected $domain =>
    NULL
    protected $expire =>
    string(10) "1437999223"
    protected $path =>
    string(1) "/"
    protected $secure =>
    bool(false)
    protected $httpOnly =>
    bool(true)
  }
}
Извиняюсь за полотно
Paul Klementyev
@klermonte
Jul 27 2015 10:18
$syResponse->headers->all() точно должен включать в себя куки?
Oleg
@Malezha
Jul 27 2015 10:19
А разве нет?
Получение всех заголовков ответа должно включать куки.
Paul Klementyev
@klermonte
Jul 27 2015 10:21
ну типа раньше возвращались?
Oleg
@Malezha
Jul 27 2015 10:22
Сейчас погляжу в коде, это компонетн симфонии вроде как
Лол, нет)
Paul Klementyev
@klermonte
Jul 27 2015 10:24
так в чем сейчас проблема?)
Oleg
@Malezha
Jul 27 2015 10:25
Мне интересно, как раньше работал этот HttpKernel)
Paul Klementyev
@klermonte
Jul 27 2015 10:26
так а сейчас не работает?
Oleg
@Malezha
Jul 27 2015 10:27
Он тупо не пишет куки)
Paul Klementyev
@klermonte
Jul 27 2015 10:27
т.е. в браузере их нет?
ну вернее в ответе
Oleg
@Malezha
Jul 27 2015 10:27
Нет, в ответе нет.
Сейчас отвечает просто заголовками, без кук
Paul Klementyev
@klermonte
Jul 27 2015 10:28
но тем не менее $syResponse->headers->getCookies() возвращает куки))
Oleg
@Malezha
Jul 27 2015 10:29
Да
Paul Klementyev
@klermonte
Jul 27 2015 10:32
такое ощущение, что этот бридж просто напросто забыл про куки, ибо куки через all() вроде не возвращаются, только через getCookies()
Oleg
@Malezha
Jul 27 2015 10:34
Ага и писалось это все для симфонии 2.3, а никак не 2.6
Paul Klementyev
@klermonte
Jul 27 2015 10:35
ну, там в composer.json 2.6 ведь
Oleg
@Malezha
Jul 27 2015 10:35
Я по этому и удивляюсь)
Вообще, для чистоты эксперимента, нужно забацать демо приложение на симфонии и попробовать его подцепить.
Paul Klementyev
@klermonte
Jul 27 2015 11:01
в симфони бутстрапе все проще:D там нативный стек просто возвращается
Oleg
@Malezha
Jul 27 2015 11:03
Ну да $response->send() =)
Решено было вообще отказаться от этого бриджа и взять https://github.com/nazo/laravel-reactphp/blob/master/src/HttpSession.php
Тут уже и работа с куками и реквесты ларавеловские
Paul Klementyev
@klermonte
Jul 27 2015 11:08
а как же автобалансировщик?)
Oleg
@Malezha
Jul 27 2015 11:09
Так я же просто бридж другой буду юзать, балансировщик останется.
Paul Klementyev
@klermonte
Jul 27 2015 11:11
мда, ну я не понял нифига, на самом деле:D мож ты в репу оформишь? я б посмотрел, очень любопытная херня эта, поднять ларавел на реакте
Oleg
@Malezha
Jul 27 2015 11:14
Да, сейчас сделаю. Кстати в самом загрузчике нафиг не нужно прописывать мидельвари, ларавель сам все подхватывает и обрабатывает. Вот только нужно придумать, как поудобнее получать app, а то у меня хардкод
        if (file_exists(__DIR__ . '/../../../../bootstrap/autoload.php') && file_exists(__DIR__ . '/../../../../bootstrap/app.php')) {
            require_once __DIR__ . '/../../../../bootstrap/autoload.php';
            $this->app = require_once __DIR__ . '/../../../../bootstrap/app.php';
        }

        return $this->app;
Paul Klementyev
@klermonte
Jul 27 2015 11:17
тогда реализуй обычный бутстрап интерфейс, а не стекед
а с этим подключением я хз че даже посоветовать, никак вроде не задекорируешь
Yura Borue
@yuraborue
Jul 27 2015 12:07
Привет!
А есть ли какой-то софт, который по моим моделям нарисуем картинку со схемой БД ?
Oleg
@Malezha
Jul 27 2015 12:07
Ох, было бы все так просто) Теперь эта зараза не может распарсить параметры POST
LightAir
@LightAir
Jul 27 2015 12:07
@yuraborue привет. есть
Oleg
@Malezha
Jul 27 2015 12:22
@klermonte в общем, все работает, но я не хочу пока выкладывать, пока не разберусь с multipart. Разбор пока вообще не работает на ReactPHP, так что будут хаки)
Yura Borue
@yuraborue
Jul 27 2015 12:25
@LightAir А как он называется?
LightAir
@LightAir
Jul 27 2015 12:25
Yura Borue
@yuraborue
Jul 27 2015 12:25
@LightAir Спасибо большое)
bearn666
@bearn666
Jul 27 2015 12:40
Народ всем привет. Подскажите как правильно в моделе указать что таблица "Вопросы" имеет родителя в таблице "Пользователи". Но в таблице "Вопросы" есть два поля, от какого пользователя вопрос, какому...
public function owner()
    {
        return $this->belongsTo('App\User');
    }
YAAP
@yaapis
Jul 27 2015 12:45
@bearn666 Все там же в доке...
 /**
 * Get the user that owns the phone.
 */
public function user()
{
    return $this->belongsTo('App\User', 'foreign_key', 'other_key');
}
http://laravel.com/docs/5.1/eloquent-relationships
Paul Klementyev
@klermonte
Jul 27 2015 12:47
или если у тебя в таблице вопросов есть поле user_id, то именно оно будет использовано как foreign key, если ты не указал его явно
bearn666
@bearn666
Jul 27 2015 12:48
@yaapis @klermonte Спасибо!
tema-proximo
@tema-proximo
Jul 27 2015 13:28
Всем привет. Есть сайт на codeigniter 1.6 без админки. Чтобы не писать ее, хочу прикрутить laravel с каким-нибудь компонентом админки. Как думаете насколько оправданный такой франкенштейн?
Paul Klementyev
@klermonte
Jul 27 2015 13:29
ну а че, sleeping owl admin не составит большого труда поставить, коннектишься к той же базе и все
Const
@umren
Jul 27 2015 13:30
@tema-proximo нормальный франкенштейн, сам видел такой проект) админка на симфони, а сайтик на ларавеле
tema-proximo
@tema-proximo
Jul 27 2015 13:31
Единственное чего боюсь, воткнуться с роутингом
@klermonte @umren Спасибо
Const
@umren
Jul 27 2015 13:33
@tema-proximo в моем случае админка была на поддомене, может это упростит твой случай
wiyfn
@wiyfn
Jul 27 2015 14:11
Кто то сталкивался из настройкой Socialite для google. Возникает ошибка ClientException in Middleware.php line 69: Client error: 403. Через другие соц. сети работает все отлично.
Roman Tsiupa
@dracony
Jul 27 2015 14:12
Вот теперь я могу начать перетягивать вас к себе: http://habrahabr.ru/post/263551/ =)
Maxim
@Big-Shark
Jul 27 2015 14:13
@dracony ой да хватит уже
Roman Tsiupa
@dracony
Jul 27 2015 14:13
)))
@wiyfn Google otkljuchil svoj servis openid
u nih teperj svoja sistema
na kakuju v soialite supporta po hodu net
Const
@umren
Jul 27 2015 14:16
@dracony сайт забавный, но на нем ссылки на гитхаб нету
Roman Tsiupa
@dracony
Jul 27 2015 14:16
hm, da
YAAP
@yaapis
Jul 27 2015 14:17
Ребят, в 5ке IdeHelperServiceProvider кто где прописывает? Нежели все напрямую в app конфиге без учета дев\прод окружения?
Oleg
@Malezha
Jul 27 2015 14:18
@yaapis через промежуточный провайдер регистрирую.
YAAP
@yaapis
Jul 27 2015 14:19
@Malezha Т.е. в апп инит кастомного провайдера, а в нем - нужные провайдеры, вроде хелпера?
Const
@umren
Jul 27 2015 14:19
@dracony пролистал туториал, странно что так много велосипедов в фреймворке
Dinar Garipov
@garf
Jul 27 2015 14:19
@dracony Че-то yii напоминает местами :)
Oleg
@Malezha
Jul 27 2015 14:20
@yaapis да, так и делаю.
Const
@umren
Jul 27 2015 14:20
@dracony orm уже есть хорошие, шаблонизаторов полно, миграций я так понял нету
YAAP
@yaapis
Jul 27 2015 14:21
@Malezha почему не в AppService... ?
Yura Borue
@yuraborue
Jul 27 2015 14:21
А есть что-то обратное к http://laravelsd.com/ ? то есть уже по существующим моделям построить картинку-схему, а не наоборот
Roman Tsiupa
@dracony
Jul 27 2015 14:21
@umren ну вот миграции имхо действительно велосипед бы был, они в принципе отделены от кода как и например пхпюгит
так что использую любые на здоровъе
а велосипедов полно, тбо если б мне нравилось существующие то не надо было бы и писать
например я не знаю лучшего темплейтинга, я же специально писал чтоб лучше тех что есть был.
Const
@umren
Jul 27 2015 14:22
@dracony ну я хвалю за проделанный труд, но велосипеды не превзошли то что есть уже в коммьюнити, а так бы мог значительно времени сэкономить)
Roman Tsiupa
@dracony
Jul 27 2015 14:22
ну назови какой-то ОРМ, я скажу чем мой лучше)
Oleg
@Malezha
Jul 27 2015 14:23
@yaapis только из за barryvdh/laravel-debugbar, который требует If you use a catch-all/fallback route, make sure you load the Debugbar ServiceProvider before your own App ServiceProviders.
Maxim
@Big-Shark
Jul 27 2015 14:23
@dracony роуты в массива?
Roman Tsiupa
@dracony
Jul 27 2015 14:23
@gaaarfild О_о чем?
Dinar Garipov
@garf
Jul 27 2015 14:24
@dracony Да хз! Я не конкретно. Общей какой-то атмосферой что ли.
Лаконичности не хватает
Которая есть в Ларавеле
Const
@umren
Jul 27 2015 14:24
@dracony doctrine, eloquent, propel
по поводу пропел точно не скажу, не пользовалься, но выглядит ок
Maxim
@Big-Shark
Jul 27 2015 14:24
пропел пушка)
Roman Tsiupa
@dracony
Jul 27 2015 14:24
@Big-Shark ну можно конечно инстансов самому насоздавать если больше нравится. Но такой колдовщины как в ларе, где можно динамически с любого класса воткнуть новый роут в систему то такой каши нет)
Oleg
@Malezha
Jul 27 2015 14:25
Вся фишка нового ОРМ в Вы можете даже описать связи (one-to-one, one-to-many, many-to-many) между реляционными таблицами и коллекциями MongoDB и работать с ними используя тот же синтаксис. На данный момент никакой другой PHP ORM не поддерживает такого уровня интеграции.
Roman Tsiupa
@dracony
Jul 27 2015 14:25
это не "вся фишка" ))
Const
@umren
Jul 27 2015 14:25
с монгой орм и не нужна
Maxim
@Big-Shark
Jul 27 2015 14:25
@dracony мне ненравится программирование на маммивах, как в юии и симфони, так что я пасс использовать это
тут пхп7 грядет, а людям нравятся древности.
Roman Tsiupa
@dracony
Jul 27 2015 14:26
@umren ну например доктрина отжырает память, так ка должна хранить все инстансы сущгостей серез весь рантайм
Const
@umren
Jul 27 2015 14:26
язык запросов достаточно ок, а модели для гибкой схемы это ересь)
Roman Tsiupa
@dracony
Jul 27 2015 14:26
если работать с 1000+ сущностей то рам заплчет
Const
@umren
Jul 27 2015 14:26
@dracony доктрине отжирает, но доктрин отлично работает
Roman Tsiupa
@dracony
Jul 27 2015 14:27
@Big-Shark ммм, в конфигах не программирование) в конфигах конфигурация. Роутом является все что импелемнтирует интерфейс
Const
@umren
Jul 27 2015 14:27
если дальше идти, то пхп тоже отжирает
Roman Tsiupa
@dracony
Jul 27 2015 14:27
можешь свои програмно засунуть в трансятор
без конфигов
@umren в доктрине не связять множество стетй с множеством тегов за один заход
Const
@umren
Jul 27 2015 14:27
на этот счет есть понятие "good enough" по ресурсам, что бы не напрягать на этот счет
Roman Tsiupa
@dracony
Jul 27 2015 14:27
придется по одному
Maxim
@Big-Shark
Jul 27 2015 14:28
@dracony можно все что угодно, но если этого нет в описании, и это не бест вей фреймверка, то у нас разные пути)
Roman Tsiupa
@dracony
Jul 27 2015 14:29
ну это же быстрый старт. Ну я не позиционирую его как "наклепать на колене за 10 минут", тут ниша больше в сторону норм архитектуры и ТДД
@umren у пропела большая проблема генерирование кода сущностей
Maxim
@Big-Shark
Jul 27 2015 14:30
@dracony с каких пор это стало проблеммой?
Roman Tsiupa
@dracony
Jul 27 2015 14:30
в итоге ваш клас привязан к базе данных полньстью
Const
@umren
Jul 27 2015 14:30
@dracony ну ты молодец, столько работы сделал..) правда вот я прошел туториал и использовать незахотел
точней пролистал его
могу объяснить почему
Roman Tsiupa
@dracony
Jul 27 2015 14:31
с радостью послушаю =)
Const
@umren
Jul 27 2015 14:31
1) много велосипедов, велосипеды которые поддерживает 1 человек это "неожиданные" баги, предпочту фреймворк который использует проверянные решения
когда мне нужно сделать перфоманс операцию в доктрине, то я сделаю запрос просто
что бы миллионы там связывать
это редкость
Roman Tsiupa
@dracony
Jul 27 2015 14:32
ну она не умеет таких запросов чтоб связать многие ко многим в пивот таблицу оним запросом
Const
@umren
Jul 27 2015 14:32
good old sql никто не отменял, у всех orm есть свои ограничения
работают в 90% случаев
или меньше даже
Maxim
@Big-Shark
Jul 27 2015 14:32
@dracony почему генерированный класс привязывает нас к базе данных?
Const
@umren
Jul 27 2015 14:33
@dracony 2 проблема, это синтаксис всего, глянь документацию ларавельки например, а тут отдает каким то код игнайтером про который я стараюсь забыть
Roman Tsiupa
@dracony
Jul 27 2015 14:33
там прям в клас запросы генерятся
ммм а чем например синтаксис ОРМ сильно другой от ларки?
Dinar Garipov
@garf
Jul 27 2015 14:34
@umren Мне больше YII напомнил :)
@dracony Он может и не другой. Но, если он такой же или похожий, в чем преимущество перехода? Если в остальном есть минусы.
Const
@umren
Jul 27 2015 14:34
орм чем то похожи, местами
Roman Tsiupa
@dracony
Jul 27 2015 14:34
$orm->query('project')
    ->where('name', 'Quickstart')
    ->or(function($query) {
        $querty
            ->where('tasksTotal', '>', 2)
            ->or('tasksDone', '<', 5);
    })
    ->find();
Const
@umren
Jul 27 2015 14:34
про роуты тебе сказали
в массивах это жесть
Dinar Garipov
@garf
Jul 27 2015 14:35
Роуты вот реально иишные как будто
Const
@umren
Jul 27 2015 14:35
по сравнению с роутерами в симфони или ларавеле двойная жесть
Unkodero
@Unkodero
Jul 27 2015 14:35
Здравствуйте, поможете немного? Есть модель, нужно сделать проверку при добавлении новой записи, если какое-либо поле пусто - устанавливать некое значение из некого места (лол). Пытался сделать вот так - code.re/89V ничего не вышло.
Maxim
@Big-Shark
Jul 27 2015 14:35
@dracony ну так это для скорости, да и все эти билдеры можно переписать под другую бд
Dinar Garipov
@garf
Jul 27 2015 14:35
@Unkodero Что это за статики?
Unkodero
@Unkodero
Jul 27 2015 14:36
@gaaarfild Cannot make static method Illuminate\Database\Eloquent\Model::create() non static in class App\Sites
Roman Tsiupa
@dracony
Jul 27 2015 14:36
@Big-Shark нет, это парадигма такая. он полностью активрекорд, и кстати в следующей версии будет тако же как доктрина с ентити менедлером
Maxim
@Big-Shark
Jul 27 2015 14:37
@gaaarfild <?php $url=$this->httpPath( пробелы не потерял?
Roman Tsiupa
@dracony
Jul 27 2015 14:37
они сами скащали что генерация не гут
Maxim
@Big-Shark
Jul 27 2015 14:37
@dracony в следующей версии все равно классы будут генерится, просто структура поменяется, на дата маппер
Roman Tsiupa
@dracony
Jul 27 2015 14:38
@umren то есть если подход в ОРМке другой, и задачи решает такие какие другие не могут идеологически ( связи с монго например) то это уже не велосипед
Maxim
@Big-Shark
Jul 27 2015 14:38
@dracony можно линк где они написали что генерация не гуд?
Roman Tsiupa
@dracony
Jul 27 2015 14:38
велосипед это если был клон илоквента например с тем же фунецыоналом
Const
@umren
Jul 27 2015 14:39
@dracony ну то есть связи с монго это единственный аргумент?
что бы написать свой eloqunt
eloquent)
Roman Tsiupa
@dracony
Jul 27 2015 14:39
@Big-Shark ща найду скину
идея в том была что егенрированный код это уже изначально получается ком паста
Const
@umren
Jul 27 2015 14:40
сделал бы это в eloquent, отправил бы на рассмотрение
Roman Tsiupa
@dracony
Jul 27 2015 14:40
но там долгий пост
butschster
@butschster
Jul 27 2015 14:40
@dracony о! это про меня
Maxim
@Big-Shark
Jul 27 2015 14:40
@dracony 0_0 с чего это?
butschster
@butschster
Jul 27 2015 14:40
| велосипед это если был клон илоквента например с тем же фунецыоналом
Roman Tsiupa
@dracony
Jul 27 2015 14:40
копи паста*
@umren илоквент фиг норм заекстендиш
Dinar Garipov
@garf
Jul 27 2015 14:41
@Big-Shark А я терял? =)
Roman Tsiupa
@dracony
Jul 27 2015 14:41
там все держится на "чтоб по быстрому"
кстати!
Const
@umren
Jul 27 2015 14:41
@dracony придумал бы как заэкстендить, прикрутил бы монгу
@dracony профита тебе было бы значительно больше
Maxim
@Big-Shark
Jul 27 2015 14:42
@dracony ок, у тебя есть энтите новостей, и ты генерируешь такой класс
class News extends Entity
{
  public function setTitle($title)
  {
    $this->_set('title', $title);
  }
  ...
}
Roman Tsiupa
@dracony
Jul 27 2015 14:43
ну это не фугецыонал расшияер
а создаеш сущность
при чем здесь напрмер поддржка монго?
это намного ниже уровнем
Maxim
@Big-Shark
Jul 27 2015 14:43
@gaaarfild тьфу ты, то не тебе, то @dracony
Roman Tsiupa
@dracony
Jul 27 2015 14:43
или оптимизация какая-то
Maxim
@Big-Shark
Jul 27 2015 14:44
@dracony так по такому же принцепу и репозитории работают, они знают с какой моделью работают и какие поля у нее есть
Roman Tsiupa
@dracony
Jul 27 2015 14:44
я кстати постил на форум ларки недавно
точнее давно
год назад
топик о том
как если просто пройтись форичем
по выборке 1000 сущностей то память протекает
закинул всю инфу
мне ответили: ололо зачем тебе столько
butschster
@butschster
Jul 27 2015 14:45
Предлагаю заценить реализацию генератора разделов для админики http://laravel.kodicms.ru/backend/datasource/1
в KodiCMS
Roman Tsiupa
@dracony
Jul 27 2015 14:45
так и не пофиксили
потом закинул пост о том как для того чтоб "по быстрому" наделали дыр в бзопасности
скинул на реддит
народ за апвоутил, пришел Тейлор, сказал ололо
затем все таки пофиксил
только дальше коряво
Const
@umren
Jul 27 2015 14:47
ну вот, можешь сотрудничать!) зачем все переписывать только, не ясно))
Roman Tsiupa
@dracony
Jul 27 2015 14:47
(по сей день в ларе нельзя иметь "римембер ми" токен не двох устройствах нараз
так по тому что там криво все =(
начиная уже с "фасадов" с которых все коммюнити смеется
Maxim
@Big-Shark
Jul 27 2015 14:48
@dracony а вот такая конструкция ->query('project') выдаст подсказку?
Roman Tsiupa
@dracony
Jul 27 2015 14:49
мало того что статика повсюду, так еще и назвали паттерном который вобще не при делах
выдаст подсказку для Query класа
Maxim
@Big-Shark
Jul 27 2015 14:49
простог ?
но не для projectQuery, верно?
Roman Tsiupa
@dracony
Jul 27 2015 14:50
но вот докблоки еще дописать для этого надо ( я уже начал кстати)
ну нет конечно
Maxim
@Big-Shark
Jul 27 2015 14:50
а как такие док блоки можно написать?
Roman Tsiupa
@dracony
Jul 27 2015 14:50
ведь метод query() возвращает строго квери интерфейс
это ООП, один метод не может возвращать разные вещи формально
в джаве ты бы делал так:
ProjectQuery = (ProjectQuery) orm.query('project');
olenindenis
@olenindenis
Jul 27 2015 14:52
Приветствую, господа кодеры! Прошу прощения за возможно странный вопрос. Может кто то подскажет, существует ли в l5 какая то реализация работы с многопоточностью?
Roman Tsiupa
@dracony
Jul 27 2015 14:52
тебе так никто не выдаст подсказку
я уже молчу о том как лара тормозит: https://www.techempower.com/benchmarks/#section=data-r9&hw=peak&test=fortune&l=sg
Paul Klementyev
@klermonte
Jul 27 2015 14:53
@olenindenis нет, максимум ты можешь запустить несколько queue listeners и "параллельно" разгребать очередь. Но это многопроцессовость
Roman Tsiupa
@dracony
Jul 27 2015 14:54
я честно бы не потратил кучу времени если бы что-то было норм ( поэтому нет миграций, так как Phinx идеально работает)
Maxim
@Big-Shark
Jul 27 2015 14:54
@dracony вот для этого в пропеле и генерируют код)
Roman Tsiupa
@dracony
Jul 27 2015 14:54
но можно и без этого
создай фабрику
Maxim
@Big-Shark
Jul 27 2015 14:55
вручную создавать queryProject() ?
Roman Tsiupa
@dracony
Jul 27 2015 14:55
с методами ProjectQuery()
и поставь анотацию
Orel
@2byte
Jul 27 2015 14:55
@olenindenis есть pthreads для пыха, но он ужасен
Const
@umren
Jul 27 2015 14:55
@olenindenis это не задача laravel, и в пхп нету многопоточности
olenindenis
@olenindenis
Jul 27 2015 14:55
@klermonte спасибо. Этот вариант уже рассматривал как альтернативу но есть подозрение, что должна быть реализация типа http://habrahabr.ru/sandbox/76140/ для l5 или l4.
Roman Tsiupa
@dracony
Jul 27 2015 14:56
даже не пытайся
многопоточность
Paul Klementyev
@klermonte
Jul 27 2015 14:56
@olenindenis ну это отдельное расширение php, о котором не слишком хорошие слухи ходят
Roman Tsiupa
@dracony
Jul 27 2015 14:56
убъеш память
Maxim
@Big-Shark
Jul 27 2015 14:56
@dracony это придется сделать в слишком большом количество файлов, да и создать все эти файлы нужно
Roman Tsiupa
@dracony
Jul 27 2015 14:56
зачем?
olenindenis
@olenindenis
Jul 27 2015 14:56
@dracony да я все понимаю, просто пытаюсь адекватно, обоснованно отмазаться от реализации очередного велосипеда :)
Roman Tsiupa
@dracony
Jul 27 2015 14:56
так эиу фабрику передавай в конструктор
Const
@umren
Jul 27 2015 14:56
@olenindenis с другой стороны в вебе многопоточность почти никогда не нужна
Maxim
@Big-Shark
Jul 27 2015 14:57
@dracony считай энтите файл, файл коллекции, файл репозитория, файл билдера.
Roman Tsiupa
@dracony
Jul 27 2015 14:57
@Big-Shark смотри:
olenindenis
@olenindenis
Jul 27 2015 14:57
@umren многопоточность актуальна для бота (парсера)
Const
@umren
Jul 27 2015 14:57
@olenindenis guzzle вроде умеет
Roman Tsiupa
@dracony
Jul 27 2015 14:58
function __call($method, $params) {
     if(strpos('Query', $method)) {
          $name = str_replace('Query', '', $method);
          return $this->orm->query($name);
     }
    // takoe zhe dlja Entity i query
}
olenindenis
@olenindenis
Jul 27 2015 14:58
@dracony по поводу "даже не пытайся". Я точно помню, что в пхп нет и возможно пока не будет нативной реализации многопоточности но мне тычат stream_select и я не знаю, что ответить на это.
Paul Klementyev
@klermonte
Jul 27 2015 14:58
@umren ты про curl_multi_exec?
Roman Tsiupa
@dracony
Jul 27 2015 14:58
teperj
dlja podskazok
// * @method ProjectQuery projectQuery() get project query
Const
@umren
Jul 27 2015 15:00
@klermonte он там фоллбеком и стримы умеет
Roman Tsiupa
@dracony
Jul 27 2015 15:00
достаточно будет добавить по строчке такого блока
для одсказок
и все
@olenindenis это не многопоточность
это все равно один процес
Maxim
@Big-Shark
Jul 27 2015 15:01
@dracony и это делать вручную для каждого энтите?
Roman Tsiupa
@dracony
Jul 27 2015 15:01
просто очередь
одну строку добавлять трудно?
9q10ww01es7qhsz1
@9q10ww01es7qhsz1
Jul 27 2015 15:01
Использую https://github.com/sleeping-owl/admin
Возникла необходимость перед сохранением модели проверять значение одного инпута. И если инпут пуст, генерировать это значение случайным образом.
Как это возможно реализовать? Используя этот пакет, доступа к самим моделям/контроллерам вроде бы не имею.
Paul Klementyev
@klermonte
Jul 27 2015 15:01
@dracony строго говоря на однопроцессорном компьютере вообще нет параллелизма. Спасают всякие гипертрейдинги
Maxim
@Big-Shark
Jul 27 2015 15:01
@dracony так мне для каждого свой квери нужно, также я хочу понимать какой энтите вернулся
Roman Tsiupa
@dracony
Jul 27 2015 15:02
@Big-Shark пропел мог бы лучше вот такие классы генерить чем целые ентити
Maxim
@Big-Shark
Jul 27 2015 15:02
@dracony а это уже не по 1 строке
Roman Tsiupa
@dracony
Jul 27 2015 15:02
мм так чтом
но в квере самой ты можешь прописать что ее findOne() возвратит
Maxim
@Big-Shark
Jul 27 2015 15:03
@dracony спорный какойто аргумент
Const
@umren
Jul 27 2015 15:03
@olenindenis в случае с парсером можешь много процессов запускать, но это не многопоточность
Roman Tsiupa
@dracony
Jul 27 2015 15:03
@Big-Shark а кстати как такое в ларке работает
ведь у вас тоже генерации нет
через плагин к ЫДЕ?
Maxim
@Big-Shark
Jul 27 2015 15:03
@dracony ваша орм тоже могла такие глассы генерировать
Roman Tsiupa
@dracony
Jul 27 2015 15:03
ну неплохая идея вобщем
Maxim
@Big-Shark
Jul 27 2015 15:03
@dracony а кто сказал что я использую ларавель?
Roman Tsiupa
@dracony
Jul 27 2015 15:03
а)
и еще ине не нравится то что в пропеле все методы в свалке
смтори
addTask(), removeTask(), removeAllTasks()
оно ведь нагенерит их вагон
в один клас
а у меня
9q10ww01es7qhsz1
@9q10ww01es7qhsz1
Jul 27 2015 15:05
Maxim
@Big-Shark
Jul 27 2015 15:05
ну да, в 1 класс у которого связь с тасками
Roman Tsiupa
@dracony
Jul 27 2015 15:05
$project->tasks->remove() , $project->tasks->add()
разделено
так даще с выпадайками удобнее
чем искать в огромном списке
и сразу видно что можно делать с тасками
Maxim
@Big-Shark
Jul 27 2015 15:05
@dracony ну тут на любителя, не вижу ничего плохого в addTask, да и по сути от вызовет тот же $project->tasks->add()
Roman Tsiupa
@dracony
Jul 27 2015 15:06
плохо когда их много
и класс на тысячи строк
получается
и + разбиение как я написал это по SOLID-у и все дела
Maxim
@Big-Shark
Jul 27 2015 15:07
@dracony ну когда ты начинаешь набирать название, их сразу становится мало) Зато когда тебе надо сделать фильтрацию и ты пишешь filterBy и видишь все поля, это очень помогает, не надо вспоминать кто, как и что там назвал
Roman Tsiupa
@dracony
Jul 27 2015 15:07
ну это если у тебя ыде
я например в брекетс пишу
Maxim
@Big-Shark
Jul 27 2015 15:08
@dracony не будет у тебя класса на тысячу строк, от такого минимального дублирования, сейчас в этом плане в пропел не все гладко, но я надеюсь это исправят)
Roman Tsiupa
@dracony
Jul 27 2015 15:08
и мне приходится в пропеле ктрл+ф искать
Maxim
@Big-Shark
Jul 27 2015 15:08
@dracony ну да, пропел без иде деньги на ветер)
Roman Tsiupa
@dracony
Jul 27 2015 15:09
ну вот) я конечно понимаю что у каждого свой вкус, но именно поэтому у меня не велосипед )
Maxim
@Big-Shark
Jul 27 2015 15:09
А я ничего не говорил про велосипед, я говорил про то почему не буду пользоваться
Roman Tsiupa
@dracony
Jul 27 2015 15:09
кстати например поддержка монго в пропеле поэтому трудной будет
Maxim
@Big-Shark
Jul 27 2015 15:10
для этого есть как минимум 2 причины, 1 роуты в массивах (да и вообще много всего в массивах)
2 не удобная для меня орм
Roman Tsiupa
@dracony
Jul 27 2015 15:10
так как надо фактичеси полностю новую систему классов генерить
Maxim
@Big-Shark
Jul 27 2015 15:11
@dracony ну а никто и не ожидал что это будет легко, чем больше строгости в системе,тем сложней ее адаптировать
Roman Tsiupa
@dracony
Jul 27 2015 15:11
и еще
если бы в пхп были именованные параметры
как в питоне
делал бы без массивов
но имхо
синтаксис
false, true, true, false, 15
в конфиге печаль
надо помнить где какой параметр
        'defaults' => array(
            'processor' => 'greet',
            'action'       => 'default'
        )
так читабельнее
@umren и кстати в ларке тоже массивы в роутах
Route::get('user/profile', array('as' => 'profile', 'uses' => 'UserController@showProfile'));
DenisAlliswell
@DenisAlliswell
Jul 27 2015 15:15
парни всем привет!
Maxim
@Big-Shark
Jul 27 2015 15:16
@dracony в ларе массив хотя бы 1 уровня, и если ты накосячилЮ будет понятно где, у тебя же, фиг поймешь
Roman Tsiupa
@dracony
Jul 27 2015 15:16
один фиг приходится массив писать
DenisAlliswell
@DenisAlliswell
Jul 27 2015 15:16
кто как админ часть реализует?
готовая юзаете или сами?
Maxim
@Big-Shark
Jul 27 2015 15:16
@dracony можно использовать классы и set функции,
Unkodero
@Unkodero
Jul 27 2015 15:16
Использую https://github.com/sleeping-owl/admin
Возникла необходимость перед сохранением модели проверять значение одного инпута. И если инпут пуст, генерировать это значение случайным образом.
Как это возможно реализовать? Используя этот пакет, доступа к самим моделям/контроллерам вроде бы не имею.
тоже интересует
Roman Tsiupa
@dracony
Jul 27 2015 15:17
@Big-Shark так тебе скажет. На самом деле это просто вложенные роуты:
и 90% этого писать не надо и так
зачастую там просто:
Maxim
@Big-Shark
Jul 27 2015 15:18
@dracony ага, напишу я 'processor' => ['greet'], за често 'processor' => 'greet', и получу сообщение что одидалась страка а не массив, или вообще будент строка Array, а потом разберайся что там случилось, такое еще с юии знакомо
Roman Tsiupa
@dracony
Jul 27 2015 15:18
    'view' => array(
        'path'     => 'project/view/<id>',
        'defaults' => array(
            'processor' => 'project',
            'action'    => 'view'
        )
    ),
ну строки аррей не будет точно
надо попробавть кстати что скажет
ща
Unkodero
@Unkodero
Jul 27 2015 15:19
Эт самое, так поможете?
Maxim
@Big-Shark
Jul 27 2015 15:19
@dracony это у тебя такое, а у меня роуты всегда именнованые, всегда прописаны методы доступа, нормальный пусть до контролера, переменные обезательные ,не обязательные и тд
Roman Tsiupa
@dracony
Jul 27 2015 15:20
view - именован
Maxim
@Big-Shark
Jul 27 2015 15:20
@Unkodero сова проснется и поможет, а вообще жто в модели можно разобрать
Roman Tsiupa
@dracony
Jul 27 2015 15:20
путей до контроллера вобще нет
процессор выбирается исходя из параметров
Unkodero
@Unkodero
Jul 27 2015 15:20
@Big-Shark лично я и хочу в модели все сделать, но что-то не получается, http://code.re/89V
Roman Tsiupa
@dracony
Jul 27 2015 15:20
тоесть роутинг не знает ни о каких контроллерах
ага, необязательные
а если надо поменять 5-ю необязательную переменную?
всерано придется написать все предидушие
Maxim
@Big-Shark
Jul 27 2015 15:21
@Unkodero это очень странный код, очень странный.
Unkodero
@Unkodero
Jul 27 2015 15:22
@Big-Shark лол, да, потому что хз как это реализовать
Maxim
@Big-Shark
Jul 27 2015 15:22
@dracony ну если это для вывода дерева допустим, то да
Oleg
@Malezha
Jul 27 2015 15:22
@Unkodero в доках есть ивенты http://laravel.com/docs/5.1/eloquent#events
Roman Tsiupa
@dracony
Jul 27 2015 15:22
@Big-Shark а авторизации в роутах вобще не место
Maxim
@Big-Shark
Jul 27 2015 15:23
@Unkodero может код почитать, попробовать потом без админки, потом с админкой?
Paul Klementyev
@klermonte
Jul 27 2015 15:23
@Unkodero напиши в моделе сеттер для этого аттрибута
public function setAttrNameAttribute($value) {
    if (empty($value)) {
        $this->attrName = rand(1, 100);
    }
}
Maxim
@Big-Shark
Jul 27 2015 15:23
@dracony когда я писал про методы доступа я имел ввиду гет, пост и тд
Roman Tsiupa
@dracony
Jul 27 2015 15:23
@Big-Shark Симфони фаервол по паттернах настривает, но мне это не нравится так как опять привязка к урлу
а, у меня тож есть
Maxim
@Big-Shark
Jul 27 2015 15:24
@DenisAlliswell все юзают https://github.com/sleeping-owl/admin
Roman Tsiupa
@dracony
Jul 27 2015 15:24
'methods' => ['GET']
@Big-Shark но я вот сделаю авторизацию по параметрах роутов
а не по урлу как в симфони
таким образом при изменение урла
Maxim
@Big-Shark
Jul 27 2015 15:25
@dracony так я не говорю что ее нетЮ я говорю что все это увеличивает сложность массива, допустим норм будет если я забуду что методы в массиве, и пропишу просто 'GET'
Roman Tsiupa
@dracony
Jul 27 2015 15:25
не надо трогать фаервол
@Big-Shark тоже заработает) для этого проверка есть)
Maxim
@Big-Shark
Jul 27 2015 15:25
@dracony я про фаирвол не говорил)
Roman Tsiupa
@dracony
Jul 27 2015 15:25
ну я за него сам вспомнил
u nih tam vobsche 3.14-zdec
Maxim
@Big-Shark
Jul 27 2015 15:27
@dracony я просто за такой вариант
route::create('name', 'project/view/<id>')->setDefaultProcessor('project')->setDefaultaction('view')
Roman Tsiupa
@dracony
Jul 27 2015 15:27
тут проблема в том
что по тру ООП это не тру
так как можно создать объект
который без необходимых параметров
тогда уже надо билдер
Maxim
@Big-Shark
Jul 27 2015 15:28
@dracony ну роут без пути и имени не допускается, вот и все
Roman Tsiupa
@dracony
Jul 27 2015 15:28
return route::start('name', 'project/view/<id>')->setDefaultProcessor('project')->setDefaultaction('view')->build();
ну объект то все равно создастся неверный
а вот с таким подходом где билд в конце
это лучше
но
статика
конечно
Vlad Shcherbin
@VladShcherbin
Jul 27 2015 15:30
не дай бог нам такой ужас в роутах писать
Maxim
@Big-Shark
Jul 27 2015 15:30
статика для примера
Roman Tsiupa
@dracony
Jul 27 2015 15:30
можно было б какой-то рантайм сделать для них
типа чтобы переменная билдера доступная была
@Big-Shark но как видишь @VladShcherbin даже твой вариант не нравится
Maxim
@Big-Shark
Jul 27 2015 15:31
можно $routerManager->addRoute('name', 'project/view/<id>')->setDefaultProcessor('project')->setDefaultaction('view');
Roman Tsiupa
@dracony
Jul 27 2015 15:31
ну мне вс равно не нравится то что на пол пути поломаный роут
Maxim
@Big-Shark
Jul 27 2015 15:31
@dracony да у него жс перед глазами)
Roman Tsiupa
@dracony
Jul 27 2015 15:31
который фиксится по ходу
Maxim
@Big-Shark
Jul 27 2015 15:31
почему поломаный?
Roman Tsiupa
@dracony
Jul 27 2015 15:32
ну $routerManager->addRoute('name', 'project/view/<id>')->setDefaultProcessor('project')
Maxim
@Big-Shark
Jul 27 2015 15:32
надо решить что обязательные параметры, а что нет
Roman Tsiupa
@dracony
Jul 27 2015 15:32
на этой стадии он еще ге валиден
а если вот так
$routes->add($buider->buildRoute('name', 'project/view/<id>')->setDefaultProcessor('project')->setDefaultaction('view')->build());
to do vyzova build() routa ne suchestvujet
toestj ty bilder konigurirujesh
Maxim
@Big-Shark
Jul 27 2015 15:33
обязательные парамтеры надо убрать в функцию, не обязательные через set)
Roman Tsiupa
@dracony
Jul 27 2015 15:33
a potom build() vozvraschet rout
Maxim
@Big-Shark
Jul 27 2015 15:33
а сейчас я спать, всем бб
Roman Tsiupa
@dracony
Jul 27 2015 15:33
bye)
SekToRCoM
@SekToRCoM
Jul 27 2015 16:20
Добрый вечер. Кто-нибудь работал в связке laravel+nginx+php-fpm?
Roman Tsiupa
@dracony
Jul 27 2015 16:20
ogo
kakoj redkostnyj stek
SekToRCoM
@SekToRCoM
Jul 27 2015 16:21
Так вот, каждая страница на сайте говорит мне 404 not found (nginx)
Roman Tsiupa
@dracony
Jul 27 2015 16:22
tak a konfig nginxa nastroil/
?
perezapiustil ?
SekToRCoM
@SekToRCoM
Jul 27 2015 16:22
ISP manager
Roman Tsiupa
@dracony
Jul 27 2015 16:23
ne znaju chto takoe
SekToRCoM
@SekToRCoM
Jul 27 2015 16:23
Это как на обычных хостингах.
bearn666
@bearn666
Jul 27 2015 16:23

Народ подскажите почему на Lumen не работает такой роут

$app->get('getUserMessages/{name:[A-Za-z]+}','AnswerphoneController@get_all_user_messages');

Получаю ошибку NotFoundHttpException in Application.php line 1205:

SekToRCoM
@SekToRCoM
Jul 27 2015 16:23
Я короче сменил в .htaccess на такие строки:
# nginx configuration
location / {
rewrite ^/(.*)/$ /$1 redirect;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
}
location /configuration.cfg {
deny all;
}
но оно что-то не хочет...
bearn666
@bearn666
Jul 27 2015 16:24

Замена

$app->run();

на

$request = Illuminate\Http\Request::capture();
$app->run($request);
не помогла
Paul Klementyev
@klermonte
Jul 27 2015 16:27
@bearn666 скорее всего по переданному слугу ничего не найдено, выведе в экшне просто строчку, чтобы понять работает ли вообще
@SekToRCoM у nginx конфигурации другой, он не читает .htaccess
SekToRCoM
@SekToRCoM
Jul 27 2015 16:29
@klermonte и где же в isp'е настроить конфиг?)
Paul Klementyev
@klermonte
Jul 27 2015 16:30
Пропиши в настройках хоста кореневую директорию как путькпроекту/public
SekToRCoM
@SekToRCoM
Jul 27 2015 16:30
Так и сделал.
Но каждая страница сайта, не относящаяся к / , выдает 404!
Paul Klementyev
@klermonte
Jul 27 2015 16:32
Хм, походу не редиректит на индекс
Alexey
@Butochnikov
Jul 27 2015 16:33
@SekToRCoM что у тебя за конфиг такой при php-fpm?
SekToRCoM
@SekToRCoM
Jul 27 2015 16:33
@SekToRCoM но зато главная страница отображается нормально.
@Butochnikov стандартный от isp-manager.
Alexey
@Butochnikov
Jul 27 2015 16:34
ну может. я обычно все вручную настраиваю
SekToRCoM
@SekToRCoM
Jul 27 2015 16:35
@Butochnikov я сам не смог установить nginx (точнее настроить виртуальные хосты), потому пришлось поставить isp lite.
Alexey
@Butochnikov
Jul 27 2015 16:35
в location у меня так
location / {
        try_files $uri $uri/ /index.php?$query_string;       
    }
Paul Klementyev
@klermonte
Jul 27 2015 16:36
Там точно нет возможности посмотреть конфигурации?
Alexey
@Butochnikov
Jul 27 2015 16:36
а в location ~ \.php$ все про fpm
SekToRCoM
@SekToRCoM
Jul 27 2015 16:36
Секундочку
@Butochnikov сунул это в htaccess, но, бессмысленно.
Alexey
@Butochnikov
Jul 27 2015 16:39
сунуть то ты сунул, но у тебя там куча лишнего, не знаю может это для панели твоей надо
Paul Klementyev
@klermonte
Jul 27 2015 16:40
Ау, какой .htaccess с nginx?
SekToRCoM
@SekToRCoM
Jul 27 2015 16:41
@klermonte никакой, но как с isp'ом настроить? Поставить апачи обратно, чтоль?
Либо сделать связку.
Paul Klementyev
@klermonte
Jul 27 2015 16:42
Да господи, снеси этот isp и сделай нормальный простенький вирт хост на nginx
Alexey
@Butochnikov
Jul 27 2015 16:42
@klermonte :+1:
SekToRCoM
@SekToRCoM
Jul 27 2015 16:42
@klermonte вот я не смог.
Denis Isaychenko
@Rhincodon
Jul 27 2015 16:42
в isp есть в настройках домена настройки конфига nginx для конкретного домена
SekToRCoM
@SekToRCoM
Jul 27 2015 16:43
@Rhincodon оу.
@Rhincodon ух ты, действительно.
Denis Isaychenko
@Rhincodon
Jul 27 2015 16:43
@SekToRCoM :)
только он там сбивается если редактировать через кнопку «изменить» домена что-либо, так что нужно следить за этим )
SekToRCoM
@SekToRCoM
Jul 27 2015 16:46
@Rhincodon :D, поставил ту строку. Но, теперь, мне страница скачивается :D
Denis Isaychenko
@Rhincodon
Jul 27 2015 16:48
@SekToRCoM для домена нужно включить php-fpm по всей видимости если не включено. Это как раз на кнопке «изменить» включается
Paul Klementyev
@klermonte
Jul 27 2015 16:48
@Butochnikov скинь ему весь свой конфиг)
Denis Isaychenko
@Rhincodon
Jul 27 2015 16:49
@SekToRCoM а ну и доп параметры location ~ \.php$ в конфиге должны быть с путями к обработчикам. Ну они сами прописываются в конфиг при изменении через кнопку изменить.
Обработчик php-fpm стоит
Но в конфиге нет строки location ~ \.php$
Есть ток такое:
location @php {
        fastcgi_index index.php;
        fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f admin@.ru";
        fastcgi_pass unix:/var/www/php-fpm/gamepost.sock;
        fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
        try_files $uri =404;
        include fastcgi_params;
    }
Paul Klementyev
@klermonte
Jul 27 2015 16:51
https://github.com/laravel/homestead/tree/master/scripts возьми отсюда скрипт serve.sh
И запустить его на сервере с именем сервера и корнем проекта в поюараметрах
SekToRCoM
@SekToRCoM
Jul 27 2015 16:54
@Rhincodon заменил @php на ~ \.php$, теперь ошибка 500 Internal Server Error
Denis Isaychenko
@Rhincodon
Jul 27 2015 16:54
посмотри в логах что пишет
SekToRCoM
@SekToRCoM
Jul 27 2015 16:55
О, встало.
Убрал
location ~ [^/]\.ph(p\d*|tml)$ {
            try_files /does_not_exists @php;
        }
Notice: date_default_timezone_set(): Timezone ID 'UTC+3' is invalid in /var/www/gamepost/data/www/.ru/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php on line 41 Как такое исправить? Прописать в конфиге таймзоны UTC+3?
Paul Klementyev
@klermonte
Jul 27 2015 16:59
default_timezone = Europe/Moscow в php.ini
SekToRCoM
@SekToRCoM
Jul 27 2015 16:59
И да, теперь что-то стало с phpmyadmin, 404 not found
Paul Klementyev
@klermonte
Jul 27 2015 16:59
Бедолага :D
SekToRCoM
@SekToRCoM
Jul 27 2015 17:00
Ну я же только редактировал конфиг одного домена... Что стало с phpmyadmin? (
Denis Isaychenko
@Rhincodon
Jul 27 2015 17:00
каскад проблем что-то у тебя )
попробуй сервак ребутни, может глюк
А вообще странное имя домена .ru судя по папке www/.ru/
SekToRCoM
@SekToRCoM
Jul 27 2015 17:01
@Rhincodon теперь в настройках isp'а сказано, что phpmyadmin вообще удален :D
Это я домен скрыл
Paul Klementyev
@klermonte
Jul 27 2015 17:02
Так ты ещё и в продакшн уже)
SekToRCoM
@SekToRCoM
Jul 27 2015 17:02
ЧТО? (
Denis Isaychenko
@Rhincodon
Jul 27 2015 17:03
@SekToRCoM ну поставь снова, чё тут )
ISP та ещё бодяга на самом деле
SekToRCoM
@SekToRCoM
Jul 27 2015 17:03
Поставил, всё работает, кроме ошибки с таймзоной.
Она так и осталась.
Denis Isaychenko
@Rhincodon
Jul 27 2015 17:04
ну попробуй как тебе выше написали выставить в php.ini. Там это тоже в панель выенесено слева
SekToRCoM
@SekToRCoM
Jul 27 2015 17:04
Вот, убрал. В app.php поставил 'timezone' => 'UTC'
Всё, мои проблемы решены.
Всем спасибо за помощь.
413 Request Entity Too Large nginx/1.8.0
Когда импортировал БД.
client_max_body_size 100m; нужно прописать в конфиге nginx'а.
Где его раздобыть в isp'е?
Vlad Shcherbin
@VladShcherbin
Jul 27 2015 17:10
@SekToRCoM да снеси ты это isp, сядь и за часик настрой нормально nginx. Потом 100% ещё пригодится
SekToRCoM
@SekToRCoM
Jul 27 2015 17:10
@VladShcherbin нет, я 3 дня сидел уже :D
Denis Isaychenko
@Rhincodon
Jul 27 2015 17:11
@SekToRCoM в настройках домена прямо пропиши эту настройку
@SekToRCoM в секции server внутри там
Vlad Shcherbin
@VladShcherbin
Jul 27 2015 17:11
@SekToRCoM я настроил и виртуалку, и nginx и деплой за час, в первый раз
Rafkat Galiullin
@neolite
Jul 27 2015 17:12
всем привет
Vlad Shcherbin
@VladShcherbin
Jul 27 2015 17:12
@SekToRCoM если передумаешь, держи гайд неплохой
SekToRCoM
@SekToRCoM
Jul 27 2015 17:12
Там настрйка виртуальных хостов очень долгая...
Vlad Shcherbin
@VladShcherbin
Jul 27 2015 17:14
@SekToRCoM да ладно
server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/laravel/public;
    index index.php index.html index.htm;

    server_name server_domain_or_IP;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
вот и вся настройка
поменяй только домен на свой
SekToRCoM
@SekToRCoM
Jul 27 2015 17:15
@VladShcherbin а какже настройки под большое количество хостов, настройки ssl, подготовка к ddos-атакам?
Это уже конфигурирование nginx.conf
Vlad Shcherbin
@VladShcherbin
Jul 27 2015 17:16
если лениво гайды прочитать и сделать копипаст в консоль, тут я не помогу
SekToRCoM
@SekToRCoM
Jul 27 2015 17:16
Делал.
Vlad Shcherbin
@VladShcherbin
Jul 27 2015 17:17
я тебе дал ссылку на гайд, если сделаешь 1 в 1 - будет работать 100%
SekToRCoM
@SekToRCoM
Jul 27 2015 17:17
Я по-началу перерыл весь интернет в поисках нормальных доков по Apach'у. Держал сайты в 150к хостов.
Alexey
@Butochnikov
Jul 27 2015 17:18
@SekToRCoM у тебя столько хостов?
Vlad Shcherbin
@VladShcherbin
Jul 27 2015 17:19
ну, тут уже решать тебе. я сам всё это делал в воскресенье по гайдам и всё работает прекрасно
DenisAlliswell
@DenisAlliswell
Jul 27 2015 17:19
парни, как передавать массивчик из статичных переменных из модели во вьюху? только через контроллер? может есть какие-то методы?
public static function isPublishedArr() {
        return [
            self::NOT_PUBLISHED => 'Не опубликован',
            self::PUBLISHED     => 'Опубликован',
            self::DELETED       => 'Удалён',
        ];
    }
Alexey
@Butochnikov
Jul 27 2015 17:19
@SekToRCoM тебе @VladShcherbin дал рабочий конфиг, подтверждаю )
SekToRCoM
@SekToRCoM
Jul 27 2015 17:20
@Butochnikov дело не в конфиге.
А в оптимальных настройках
Alexey
@Butochnikov
Jul 27 2015 17:27
а все остальное настроишь потом, когда основное заработает
Paul Klementyev
@klermonte
Jul 27 2015 17:36
@DenisAlliswell так вызывай прям во вьюхе Model::isPublishedArr()
Роман Сохарев
@greabock
Jul 27 2015 19:08
Denis Isaychenko
@Rhincodon
Jul 27 2015 19:13
:)
orkhanalyshov
@orkhanalyshov
Jul 27 2015 19:25

Здрасте.

Не получается загрузить фото в админ-панели. (SleepingOwl Admin). Код, который отвечает за это: "FormItem::image('mainImage', 'Main Image')," (App\Admin\Bootstrap.php).

Делаю "Select image", выбираю фото, но фото не отображается и не сохраняется...

Как быть?

NickPanda
@NickPanda
Jul 27 2015 20:22
Всем привет! Хотел узнать про filesystem, допустим я загружаю картинку (на а3 или по ftp )
Какой адрес будет иметь эта картинка, если вывести ее в верстке?
Или как вообще это работает?
Evgeniy
@Ruzarh
Jul 27 2015 20:53

Всем привет. А может кто мне поможет. Есть такая табличка

CREATE TABLE `insta_logs` (
  `type` int(10) unsigned NOT NULL,
  `date` int(10) unsigned NOT NULL,
  `value` int(11) NOT NULL,
  `old_value` varchar(2000) NOT NULL DEFAULT '',
  PRIMARY KEY (`type`,`date`)
) ENGINE=InnoDB

Собственно ключ составной. Как мне указать Eloquent что бы она мне при сохранении указывала составной ключ (type , date) а не портила все своим апдейтом

update `insta_logs` set `value` = '2600', `old_value` = '1100, 200, ' where `type` = ‘1

Решить костылем я это могу.

Но может есть уже решение в Eloquent
NickPanda
@NickPanda
Jul 27 2015 20:54
Слушайте, я тут наткнулся на инфу, что мол с 4.2 лара будет платной, точнее ряд модулей, вопрос такой насколько это так на самом деле?
Maxim
@MaximGlobak
Jul 27 2015 20:56
Добрый день! хотел спросить по поводу авторизации и регистрации
я делаю все как в (http://laravel.su/docs/5.0/authentication), но при заходе на страницу login получаю ошибку (NotFoundHttpException in RouteCollection.php line 143:) что это может быть? Может кто подсказать туториалы по регистрации и авторизации пользователей?
Paul Klementyev
@klermonte
Jul 27 2015 20:57
@Ruzarh элоквент не поддерживает составные ключи
@NickPanda впервые слышу
Paul Klementyev
@klermonte
Jul 27 2015 20:58
@MaximGlobak в 5 вроде из коробки работает
Evgeniy
@Ruzarh
Jul 27 2015 20:58
@klermonte а решить это как то можно ? Может встречался какой пакетик ? )
NickPanda
@NickPanda
Jul 27 2015 20:59
@MaximGlobak Данная ошибка если я не ошибаюсь говорит о том, что роутов нет и страниц не найдена
Paul Klementyev
@klermonte
Jul 27 2015 20:59
я уже предлагал тебе завести просто уникальный индекс в базе и апдейтить роу запросами с on duplicate key update
Maxim
@MaximGlobak
Jul 27 2015 20:59
@klermonte да, вот по документации делаю и получаю ошибки
Paul Klementyev
@klermonte
Jul 27 2015 21:00
@MaximGlobak хм, что за документация?
Maxim
@MaximGlobak
Jul 27 2015 21:00
@NickPanda роуты зарегистрировал и шаблон положил в view/auth/login.blade.php
Paul Klementyev
@klermonte
Jul 27 2015 21:00
@NickPanda нет, чушь полная, ты же видишь, полтора года прошло
Evgeniy
@Ruzarh
Jul 27 2015 21:01
Это совсем не выход. У mysql нет int 128, что бы я могу пихать туда такие составные ключи ((
Paul Klementyev
@klermonte
Jul 27 2015 21:01
128?О_о
NickPanda
@NickPanda
Jul 27 2015 21:01
@klermonte ну да это точно, единственное, что можно считать "платным" в ларе так это сервисы для почты и облачных хранилищ, и то это не в ларе дело)
@MaximGlobak Слушай, ты поставил 5.0 или 5.1 ?
Paul Klementyev
@klermonte
Jul 27 2015 21:02
если че, в мускуль это число не разрядность, а количество символов, ну т.е. количество разрядов в 10 системе счисления, я даже не знаю как называется число из 128 символов
@NickPanda ну кстати может он про forge говорил
Evgeniy
@Ruzarh
Jul 27 2015 21:02
Итак в некоторых местах. два 32 составляю, а ты еще прделагаешь ? Это не выход. ((
Maxim
@MaximGlobak
Jul 27 2015 21:02
@klermonte @NickPanda я правильно понимаю что ссылка должна быть /auth/login/ ?
неделю назад последнюю ставил
NickPanda
@NickPanda
Jul 27 2015 21:02
@MaximGlobak да ты правильно понимаешь какая должна быть ссылка
Paul Klementyev
@klermonte
Jul 27 2015 21:03
ну скинь роуты свои
Maxim
@MaximGlobak
Jul 27 2015 21:03
5.1

// Authentication routes...
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');

// Registration routes...
Route::get('auth/login', 'Auth\AuthController@getRegister');
Route::post('auth/login', 'Auth\AuthController@postRegister');

Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);

NickPanda
@NickPanda
Jul 27 2015 21:03
хотел узнать про filesystem, допустим я загружаю картинку (на а3 или по ftp )
Какой адрес будет иметь эта картинка, если вывести ее в верстке?
Или как вообще это работает?
Хотя как я понял, получить адреса картинкинельзя, а лишь содержимое(
Значит не удастся хранить изображения удалленно?
Paul Klementyev
@klermonte
Jul 27 2015 21:03
ну блоки кода же есть, ну
Maxim
@MaximGlobak
Jul 27 2015 21:03
сорри
NickPanda
@NickPanda
Jul 27 2015 21:04
@klermonte а что такое forge , гугл выдал лишь игрушки((
Maxim
@MaximGlobak
Jul 27 2015 21:04
// Authentication routes...
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');

// Registration routes...
Route::get('auth/login', 'Auth\AuthController@getRegister');
Route::post('auth/login', 'Auth\AuthController@postRegister');

Route::controllers([
    'auth' => 'Auth\AuthController',
    'password' => 'Auth\PasswordController',
]);
Paul Klementyev
@klermonte
Jul 27 2015 21:04
вот гляди, те роуты, что ты до Route::controllers прописал, они же регистрируются Route::controllers, повторяешься
NickPanda
@NickPanda
Jul 27 2015 21:04
@MaximGlobak роуты, если не ошибаюсь у тебя корректные..
Paul Klementyev
@klermonte
Jul 27 2015 21:05
Evgeniy
@Ruzarh
Jul 27 2015 21:05
@klermonte я знаю что такое битовая маска. Почему все считают что я зеленый девелопер? Я в ларавеле зелен ) Т.к. я его использую только кусочками. В основоном всегда пишу запросы руками, т.к. часто использую составные ключи. Но уже надоело, решил разобраться. Что бы юзать его. Но часто выходит что он то не умеет, это не так. Хотя приятные неожиданности тоже есть )
NickPanda
@NickPanda
Jul 27 2015 21:05
@klermonte ну как я помню, он их перекрывает же не?
Maxim
@MaximGlobak
Jul 27 2015 21:05
может вот в чем проблема, только что заметил, он меня редиректит на /home
Paul Klementyev
@klermonte
Jul 27 2015 21:06
это мидлвер делает
auth мидлвер
@Ruzarh тебе сколько значений надо хранить в битовой маске, неужели бигинта не хватит?
NickPanda
@NickPanda
Jul 27 2015 21:07
@MaximGlobak все правильно, у тебя не прописан home маршрут, а редиректит в слчае успешной авторизации!!
@klermonte я правильно понял что forge - это настроенные VDS и предоставляют как хостинг я правильно понял?
Paul Klementyev
@klermonte
Jul 27 2015 21:08
@NickPanda а ну кстати да)
@klermonte а я хз че это, оно платное, значит мне не интересно:D:D:D
NickPanda
@NickPanda
Jul 27 2015 21:08
@klermonte просто как я понял из описания это типа того
Maxim
@MaximGlobak
Jul 27 2015 21:08
@NickPanda я в AuthController прописал
protected $redirectPath = '/';
Evgeniy
@Ruzarh
Jul 27 2015 21:09
@klermonte в этом случае может и хватит. Но придется ногу себе отстрелить. А в аналититке нехватит. ))
Как в случае бигИнта мне выбрать все по типу ?
Суть что это не жизнесопсобно будет. Тут проблемы с orm, а не со структурой ((
Paul Klementyev
@klermonte
Jul 27 2015 21:09
@NickPanda еще вот че есть, https://envoyer.io/
NickPanda
@NickPanda
Jul 27 2015 21:09
@MaximGlobak стоп после чего он выкидывает ошибку то?
Paul Klementyev
@klermonte
Jul 27 2015 21:10
@Ruzarh тут вроде говорят, что в бигинте 64 разряда, у тебя больше параметров?
NickPanda
@NickPanda
Jul 27 2015 21:10
@klermonte про это я как то не очень понял https://envoyer.io/
Плюс все это сервисы, а сам фрейм бесплтный в итоге)
Paul Klementyev
@klermonte
Jul 27 2015 21:11
@Ruzarh ну есть всякие побитовые операции же, я думал раз ты про битовые маски заикнулся то шаришь в этом
Evgeniy
@Ruzarh
Jul 27 2015 21:11
@klermonte Тут проблемы с orm, а не со структурой ((
С проектированием таблиц у меня вроде знания пока не подводили )
Paul Klementyev
@klermonte
Jul 27 2015 21:11
@NickPanda ну к слову о платном ларавеле, вот 2 сервиса
Evgeniy
@Ruzarh
Jul 27 2015 21:11
This message was deleted
@klermonte а может ты тогда знаешь, что они в индекс не попадают ?
Paul Klementyev
@klermonte
Jul 27 2015 21:12
@Ruzarh ну короче насколько бы не было проблем с архитектурой базы, к сожалению она не совместима с элоквентом
Evgeniy
@Ruzarh
Jul 27 2015 21:12
Да, я думал просто может что я не могу найти(( Спасибо ))
Maxim
@MaximGlobak
Jul 27 2015 21:14
@NickPanda Все правильно, я был авторизованным и он меня редиректил на /home, как сделал logout вроде другие ошибки полезли, Спасибо! буду разбираться дальше
greabock @greabock вздыхает
Роман Сохарев
@greabock
Jul 27 2015 21:15
мне бы ваши проблемы
NickPanda
@NickPanda
Jul 27 2015 21:16
хотел узнать про filesystem, допустим я загружаю картинку (на а3 или по ftp )
Какой адрес будет иметь эта картинка, если вывести ее в верстке?
Или как вообще это работает?
Хотя как я понял, получить адреса картинкинельзя, а лишь содержимое(
Значит не удастся хранить изображения удалленно?
Maxim
@MaximGlobak
Jul 27 2015 21:16
Извините, я только начал изучать php & laravel
NickPanda
@NickPanda
Jul 27 2015 21:17
@MaximGlobak ну может стоить немного изучить php, а потом уже изучать фреймы?)
Роман Сохарев
@greabock
Jul 27 2015 21:18
я думаю сложно изучать технологию, в отрыве от производства ))
хотя на голом пыхе погвнокодить не мешало бы, конечно XD
Paul Klementyev
@klermonte
Jul 27 2015 21:19
Да все норм, помогли же парню
NickPanda
@NickPanda
Jul 27 2015 21:19
@klermonte @greabock может мне кто поможет то?(
Paul Klementyev
@klermonte
Jul 27 2015 21:19
Че эт, ещё как удастся, вкотаче только сегодня была ссылка на соответствующую статью
Иди в сообщество, там статья про s3
Роман Сохарев
@greabock
Jul 27 2015 21:23
@NickPanda я с амазоном не работал
NickPanda
@NickPanda
Jul 27 2015 21:24
@greabock дела не в амазоне, просто я хочу хранить файлы в облака (картинки) и просто получать их и выводить в верстке
@klermonte я дмаю мне нужно типо этого https://laravel-news.com/2015/07/laravel-media-library-package/
@klermonte ибо у Криса, идет перемиещение в public
Evgeniy
@Ruzarh
Jul 27 2015 21:25
Вдруг кому понадобится с такой же проблемой встретится ))
    protected $primaryKeys = ['type', 'date'];
    protected function setKeysForSaveQuery(Builder $query)
    {
        if (property_exists($this, 'primaryKeys')) {
            foreach ($this->primaryKeys as $key) {
                $query->where($key, '=', $this->_getAttr($key));
            }

            return $query;
        }
       return parent::setKeysForSaveQuery($query);
    }
    protected function _getAttr($attr)
    {
        if (isset($this->original[$attr])) {
            return $this->original[$attr];
        }

        return $this->getAttribute($attr);
    }
NickPanda
@NickPanda
Jul 27 2015 21:27
@Ruzarh вопросик а куда это чудное писать то?
Profbis
@profbiss
Jul 27 2015 21:27
Всем привет!
Evgeniy
@Ruzarh
Jul 27 2015 21:28
Ну я сделал базовую модель Eloquent. В ней и распологаю
<?php namespace App\Model;

use App\Services\Connections;
use Illuminate\Database\Eloquent\Model;

abstract class BaseModel extends Model
{
Profbis
@profbiss
Jul 27 2015 21:28
Может кто помочь? Тут такое странное дело. Вот эти 2 слова не равны друг другу
Сулюкина Cулюкина
NickPanda
@NickPanda
Jul 27 2015 21:29
@profbiss ээм а чем сравниваешь?
Profbis
@profbiss
Jul 27 2015 21:29
mb_detect_encoding - string(5) "UTF-8"
mb_detect_encoding - string(5) "UTF-8"
var_dump - string(8) "Cулюкина"
var_dump - string(8) "Сулюкина"
strcasecmp - int(-110)
При простом сравнении == получаю false
Проблема не в том что они не равны. Как понять какое из них правильное не битое?
Evgeniy
@Ruzarh
Jul 27 2015 21:30
«a» и «а» тоже не равны друг другу ) (EN - RU )
Profbis
@profbiss
Jul 27 2015 21:31
Не тот случай
что то с кодировкой...
Profbis
@profbiss
Jul 27 2015 21:36
На всякий случай перед сравнение попробовал
    $value = str_replace('C', 'С', $value);
    $value = str_replace('a', 'а', $value);
Evgeniy
@Ruzarh
Jul 27 2015 21:46
Ну в данном случае, в одном случае первая буква заглана латинская, а во втором кирилица. С кодировкой вроде все ок.
Profbis
@profbiss
Jul 27 2015 21:52
А почему детектится как utf-8?
там так то 1251...
Evgeniy
@Ruzarh
Jul 27 2015 21:54
ну то что детектится, это вилами на воде пишется очень часто (( А вот то что с первые буквы из разных алфавитов, это точно.
Profbis
@profbiss
Jul 27 2015 21:55
ord вывел 209
хм русская С
Роман Сохарев
@greabock
Jul 27 2015 22:07
str_replace('C', 'С', $value);
мне жаль программиста, который будет работать с кодом после тебя...
у него же здоровье душевное пошатнется...
Profbis
@profbiss
Jul 27 2015 22:10
Да мне плевать....
Этот скрипт отработает всего один раз и улетит в помойку
Ладно бы если писал то что в последующем повторно будет использоваться
Роман Сохарев
@greabock
Jul 27 2015 22:14
воу-уоу-оу... полегче! Я ж не знал, что ты такой крутой... пойду дальше свои никчемные сайтики ковырять...
Ariel-spb
@Ariel-spb
Jul 27 2015 22:49
приветы) у меня почему -то ларавел сам не генерирует роуты. есть идеи?
2.PNG
1.PNG
Ariel-spb
@Ariel-spb
Jul 27 2015 22:55
а все понятно, вопрос снят