These are chat archives for LaravelRUS/chat

1st
Mar 2015
LaravelButler

Приветствуем Вас, @deamoon, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Константин Брызгалин
@constb
Mar 01 2015 04:01
@CodeDesign91 документация по пхп на русском? спасибо, не надо.
тем кто ищет доки по программированию на русском надо просто сменить язык программирования. на 1С например. )))
а если серьёзно - для программиста отсутствие свободного владения английским хотя бы письменным - это большой минус.
Роман Сохарев
@greabock
Mar 01 2015 05:04
@constb даже читая, часто бегаю в словарик. Но ничего - жив )
hvarts
@hvarts
Mar 01 2015 06:00
hola
Ребята, я с 4 ветки laravel пришел. 5-ю глобально поменяли?
LaravelButler

Приветствуем Вас, @hvarts, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Роман Сохарев
@greabock
Mar 01 2015 06:02
@hvarts ну не так уж и глобально
в целом, я без острой боли перешел... ну не считая выпила наеймспейсинга на конфигах.
LaravelButler

Приветствуем Вас, @soumak77, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Viktor Grachev
@azuron
Mar 01 2015 07:25
Доброго дня всем:)
Ребята подскажите пожалуйста чем вы пользуетесь или как вы осуществляете процесс проектирования сложных БД? В сети полно примеров как создать блог или систему таксков или еще что то простое. Но вот когда встает задача создать сложное приложение в котором нужно задать логику, например интернет магазин или что то связанное с бухгалтерией. Приложение со сложно структурой и базой данных. Как вы решаете эти вопросы чем вы пользуетесь для проектирования таких баз данных? Может есть какие то правила как это делать или руководства? Дайте пожалуйста совет.
slider23
@slider23
Mar 01 2015 07:31
Да садимся и думаем. Можно с листочком бумаги. Не знаю, как тут можно по-другому.
Вот есть типы eloquent-отношений. Вот есть задача - что нужно сделать. И сводишь одно с другим.
@hvarts вот тут описано, что появилось нового: http://laravel.su/docs/5.0/releases
Viktor Grachev
@azuron
Mar 01 2015 07:37
@slider23 Согласен полностью) Я всегда так и делал проектировал изначально базу. Но в последнее время когда возникают задачи проектировать базы с различными условиями, например есть пост у него есть комментарии и теги а теги разные, если вывести так то будет это и тд. Те когда есть сложная структура в приложении у меня мозг закипает как перенести все эти связи в базу данных)) Извиняюсь за глупые вопросы просто видимо сказывается недостаток опыта)
slider23
@slider23
Mar 01 2015 07:37
Надо просто выучить отношения, чтобы прям ночью разбуди - сможешь объяснить без запинки.
Роман Сохарев
@greabock
Mar 01 2015 07:37
@azuron тут главное понимать, что есть сущности-модели, какими отношениями они связаны. А дальше все у всех по разному. Слайдер вот просто список таблиц и полей составляет. Я люблю визуализацию, и схемки рисую.
slider23
@slider23
Mar 01 2015 07:39
Пост и комментарии - это классическое один ко многим, посты и тэги - классическое многие ко многим
счета и заказы - многие ко многим
Viktor Grachev
@azuron
Mar 01 2015 07:40
@greabock Схемки просто прекрасно) они позволяют увидеть всю картину целиком и не держать все в голове! Я так понимаю нет универсального пути или порядка как правильно проектировать базы чтобы избежать проблем в дальнейшем?
Роман Сохарев
@greabock
Mar 01 2015 07:40
@slider23 да отношений-то по сути два типа: подчиненные и сочиненные ) а все эти "один к одному" и "многие ко многим" , "многие к одному" только людей путают =)
Viktor Grachev
@azuron
Mar 01 2015 07:40
Видимо вопрос проектирования все решают по разному исходя из своего личного опыта.
slider23
@slider23
Mar 01 2015 07:41
чтобы не было проблем - стараться по минимуму использовать хаки типа "здесь мне лениво делать отдельную таблицу, пусть в поле просто значения через запятую будут лежать"
Viktor Grachev
@azuron
Mar 01 2015 07:41
@slider23 хахаха даа это уж точно уже пару раз сам наступил на эти грабли)) теперь так не делаю
slider23
@slider23
Mar 01 2015 07:42
но иногда такое делать можно, если точно знаешь, что эти значения-через-запятую будут затребоваться одним куском
Если нужно делать выборки по каким-то сущностям (посты одной категории, т.е. по категории), то эта сущность должна быть выше по иерархии. Т.е. категория hasMany посты . А не Пост hasOne карегория
На это новички натыкаются как правило
Viktor Grachev
@azuron
Mar 01 2015 07:45
Я к тому задал этот вопрос, если провести аналогию. Чтобы не делать велосипедов есть фреймворки css и php и вообще существует великое множество полезных инструментов реализующих задачи правильным и удобным способом. А вот например в проектировании баз данных есть только программы для их создания и визуализации, но нет чего то более могучего и поддерживающего разработчика с сложных ситуациях.
Роман Сохарев
@greabock
Mar 01 2015 07:45
@slider23 belongsTo ))
ой.. я не так прочитал
slider23
@slider23
Mar 01 2015 07:46
А больше я не могу представить, где еще можно накосячить в проектировании..
кроме этого и массовой денормализации-через-запятую
Viktor Grachev
@azuron
Mar 01 2015 07:48
@slider23 Да да я и сам наткнулся на это) но теперь таки связи понимаю правильно) я с трудом пока понимаю как создавать сложные связи между сущностями в базе, чтобы заложить гибкую структуру и логику. Просто мне уже стыдно и неудобно дергать каждый раз опытных товарищей при создании сложных баз и приложений. Хотелось бы понять сам принцип построения)
Роман Сохарев
@greabock
Mar 01 2015 07:51
о, дружище... вообще вся оптимизация любой структуры и любых отношений и даже самого кода сводится к простому выражению:
ax + bx = (a+b)x
в общем, если что-то повторяется - выноси за скобки )
Viktor Grachev
@azuron
Mar 01 2015 07:53
@greabock да как говорится если видишь что то сложное разложи это на более простые составляющие))
спасибо вам за беседу буду дальше заниматься и набираться опыта))
qwan2021415
@qwan2021415
Mar 01 2015 08:13
,
LaravelButler

Приветствуем Вас, @qwan2021415, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Viktor Grachev
@azuron
Mar 01 2015 08:14
@greabock кстати подскажи пожалуйста в чем ты рисуешь такие красивые диаграммы таблиц?
LaravelButler

Приветствуем Вас, @lakesare, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Константин Брызгалин
@constb
Mar 01 2015 09:05
ну вот, только стоило отойти пообедать, а тут такие интересные темы поднимаются. мои 5 коп. по поводу проектирования структуры БД.
я работаю в студии, поэтому у меня 9 из 10 проектов приходят ко мне в виде набора макетов, как правило уже свёрстанных (как гонять шваброй верстальщика чтобы он выдавал юзабельную вёрстку - отдельная тема), поэтому я начинаю с того что распечатываю все макеты на принтере и прохожу по ним с карандашом размечая во-первых все размеры ресайза для изображений которые мне надо будет сделать, а во-вторых все свойства отдельных сущностей и связей между ними. сразу возникают и вопросы, которые нужно уточнять у заказчика. по факту вырабатывается пресловутый "набор бумажек", на которых есть все сведения, это всё превращается в начальную структуру БД, которую я создаю в Navicat for MySQL - у неё же есть режим ER-диаграмм, и такую диаграмму я после начального этапа проектирования - тоже распечатываю. после этого повторно прохожу все макеты, прочитываю каждую строчку ТЗ, на распечатке диаграммы карандашом же делаю все пометки - где что добавить и исправить, после этого делается "финальная" структура. Финальная в кавычках - потому что редко бывает такое чтобы заказчик не "вспомнил" о чём-нибудь в последний момент, или не захотел изменений после того как проект уже написан и практически сдан. ))
сейчас правда работаю над проектом, по которому есть ТЗ, но дизайн ещё на уровне проработки концепта. я пишу админскую часть чисто по ТЗ и проектирую базу прямо в ларовских миграциях. пишу и сиды сразу, так что когда вносятся какие-то изменения - homestead ssh, php artisan migrate:refresh --seed и все дела. правок много, но из-за того что всё хранится под контролем версий и база каждый раз сбрасывается и наполняется с нуля - всё довольно просто. к тому же сиды сразу становятся дампом и рабочим набором данных для тестов, что довольно удобно.
JhaoDa
@jhaoda
Mar 01 2015 09:26
Я по старой доларавелевской привычке фигачу структуру в HeidiSQL, потом пишу миграции. А последний раз сразу писал миграции.
Max
@roquie
Mar 01 2015 09:45
использую Valentina studio - визуально создаешь бд рисуя схемки, ставишь связи и вся эта красота уже в виде готового sql кода (по сущ. базе тоже сам строит диаграммы). Затем конвертирую sql в миграции ларавела. Экономит время. Видно бд целиком, а не файликами-миграций.
Роман Сохарев
@greabock
Mar 01 2015 09:50
@azuron diagrams.seaquail.net
Max
@roquie
Mar 01 2015 09:51
Снимок экрана 2015-03-01 в 12.55.24.png
чтото вроде такого )
JhaoDa
@jhaoda
Mar 01 2015 09:57
Кому что, в общем
Max
@roquie
Mar 01 2015 09:57
эт да
по началу бумажка с карандашом самое то
Роман Сохарев
@greabock
Mar 01 2015 10:07
вообще, мы все (включая меня ) не для тех целей миграции пишем. Мы относимся к ним как к схеме. А на самом деле это история изменений схемы. Я всегда это знал, но в первый раз почувствовал это различие, когда мы laravel.su начинали делать.
JhaoDa
@jhaoda
Mar 01 2015 10:08
А самый первый раз как таблицы создавать?
Роман Сохарев
@greabock
Mar 01 2015 10:09
ну как, миграциями и создавать. Но вот когда ты что-то накосячил - ты просто переписываешь миграцию, однако на рабочем проекте так делать нельзя, там нужно создавать новую миграцию. Я об этой разнице говорю
JhaoDa
@jhaoda
Mar 01 2015 10:09
Согласен, так и делаю: http://i.imgur.com/qW12Qlu.png
Denis Isaychenko
@Rhincodon
Mar 01 2015 10:16
Ну как говорил j. way, если работаешь 1 и проект не в продакшене то миграции не обязательно разбивать при каждом изменении структуры, можно в старых миграциях добавлять поля, в любых других случаях миграции хранят историю изменения структуры бд.
JhaoDa
@jhaoda
Mar 01 2015 10:20
Да вроде элементарная мысль, или без ссылки на j. way у неё должного веса не будет?:)
slider23
@slider23
Mar 01 2015 10:21
Имхо, переписывать миграции очень вредно. В самом крайнем случае это делать можно
Даже если один работаешь - лучше не привыкать.
Denis Isaychenko
@Rhincodon
Mar 01 2015 10:21
@jhaoda я всего лишь вспомнил что он говорил в тему разговора, ни о каком весе не думал :)
@slider23 это можно делать если работаешь 1 и не в продакшене проэкт, зачем мне добавлять миграцию если допустим я добавил поле там через время, если я работаю один и никто в жизни не узнает что у меня не было этого поля и я его потом в исходную миграцию добавил? :)
slider23
@slider23
Mar 01 2015 10:26
Никто не узнает, конечно. Но тут вопрос в выработке привычки.
Viktor Grachev
@azuron
Mar 01 2015 10:28
@greabock Спасибо огромное за ссылочку!
Есть такая программа для работы с базами http://www.devart.com/ru/dbforge/mysql/studio/
мне ее коллега посоветовал, говорит очень удобно строить таблицы и даже визуально можно делать запросы выбирая нужные тебе поля. А на выходе получаешь sql запрос готовый. Планирую сегодня попробовать)
Orel
@2byte
Mar 01 2015 10:54
Да ну, на локале при выпуски первой версии проекта, можно править миграции, иначе их будет очень много. В migrations таблицы не хватает пк для удаления примененных и нового наката
Viktor Grachev
@azuron
Mar 01 2015 11:14
Коллеги у меня вопрос по поводу общественных полезностей. Я недавно закончил делать кусок приложения отвечающего за работу с пользователями. Редактирование прав, профиля пароля и тд. Вот хотел бы выложить данные материалы на пользу сообщества может кому пригодится, чтобы время не терять в будущем) На новом сайте laravel.su я не нашел раздела куда можно разместить полезную ссылочку или статью. Подскажите как лучше донести до сообщества полезные материалы дабы они не затерялись на просторах чатика?
slider23
@slider23
Mar 01 2015 11:36
Сделай пока gist на гитхабе - http://gist.github.com .
Viktor Grachev
@azuron
Mar 01 2015 11:46
@slider23 хорошо понял напишу все в гист
Константин Брызгалин
@constb
Mar 01 2015 11:50
что-то dbForge сильно зарезанная в бесплатной редакции. правда у моей navicat вообще нет бесплатной редакции, но зато её на торрентах найти - пара пустяков )
хотя судя по описанию у dbForge есть нормальная работа с ER-диаграммами, в навикате они несколько неудобные. и управления пользователями мне тоже в ней не хватает - приходится отдельно пхпмайадмин держать...
Maxim
@Big-Shark
Mar 01 2015 11:53
Я очень долго пользовался только консолью для mysql, потом начал еще использовать emma, сейчас на mysql workbench перешол. Так что я некогда не мог понять всю эту любовь в ЕР диаграмам и прочему.
Константин Брызгалин
@constb
Mar 01 2015 11:57
@Big-Shark я тоже как-то по бумажкам прибивался и в пхпмайадмине всё набивал. а потом попробовал и как-то втянулся - удобно наглядно. распечатал и пока работаешь над проектом - достаточно один листок под рукой держать чтобы не путаться где что как обозвал и что к чему прицеплено...
Maxim
@Big-Shark
Mar 01 2015 11:58
@constb очень и очень редко я чтото распечатываю, мне обычно проще переключится на модельку и глянуть)
Константин Брызгалин
@constb
Mar 01 2015 12:02
@Big-Shark я как-то раньше тоже без распечаток обходился - вообще безбумажное производство было, а потом настроил чтобы по сетке на офисный принтер задачи скидывать и втянулся. =) с бумажками удобно, можно вокруг себя разложить и карандашом по ним чиркать - их на стол много влазит, а мониторов как ни крути всего два - на них влазит ограниченное количество окон. =)
Brezhnev Ivan
@vanchelo
Mar 01 2015 12:49
@/all как вы считаете, так делать можно?
$this->app->singleton('Illuminate\Contracts\Auth\Authenticatable', function ($app) {
    $user = $app['auth']->user();

    return $user;
});
работает оно как положенно
public function someMethod(Authenticatable $user)
хочу юзать DI
или в конструктор function __construct(Authenticatable $user)
скорее вот так будет правильнее
$this->app->singleton('Illuminate\Contracts\Auth\Authenticatable', function ($app) {
    $user = $app['auth']->user();

    return $user ?: $app['App\User'];
});
Brezhnev Ivan
@vanchelo
Mar 01 2015 12:55
но тогда мы привязываемся к конкретной модели
никто не подскажет? (
return $user ?: $app->make($app['config']->get('auth.model'));
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:01
return $user ?: $app['auth']->getProvider()->createModel();
hvarts
@hvarts
Mar 01 2015 13:11
Ребят, в чем проблема может быть? Я пытаюсь сделать миграцию бд. alt
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:11
проблема с правами
hvarts
@hvarts
Mar 01 2015 13:11
Правами mysql?
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:11
установи в .env нужного юзера и базу
да
оно же пишет Access denied
значит прав нет
hvarts
@hvarts
Mar 01 2015 13:12
Где .env находится?
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:12
в корне приложения
hvarts
@hvarts
Mar 01 2015 13:12
В 4 lare по другому было, спасибо!
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:13
да, в 4-ке иначе
JhaoDa
@jhaoda
Mar 01 2015 13:19
И опять лениво было доки почитать
@vanchelo ты хочешь сэкономить на $auth->user()?
LaravelButler

Приветствуем Вас, @assurrussa, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Brezhnev Ivan
@vanchelo
Mar 01 2015 13:20
@jhaoda нет, я хочу юзать DI
JhaoDa
@jhaoda
Mar 01 2015 13:21
@vanchelo ну так юзай Guard
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:21
юзал
JhaoDa
@jhaoda
Mar 01 2015 13:21
И?
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:21
пока эту хрень не придумал
мне нужен только юзер
ты мне лучше ответь так можно юзать или нет)
если незя я не буду
вариантов много)
JhaoDa
@jhaoda
Mar 01 2015 13:22
@vanchelo ну оно работает?
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:22
сэкономить ничего не хочу
просто так мне показалось красивее
да, работает
в контроллерах меньше кода
JhaoDa
@jhaoda
Mar 01 2015 13:23
Но тебя напрягает вопрос академичности и логичности такого кода?
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:23
декомпозиция или как оно там называется)
не, не академичности
хочу грань нащупать)
что, где, когда)
JhaoDa
@jhaoda
Mar 01 2015 13:24
А я вот не помню — если юзер не залогинен, то $auth->user() что вернёт? null?
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:24
да
ArtMik
@ArtMik
Mar 01 2015 13:24

Скажите, разве вот такой код:

public function getRemove($id)
{
    $test = Test::find($id);
    $test->delete();
}

не должен удалять строку и все связанные с ней строки?

Brezhnev Ivan
@vanchelo
Mar 01 2015 13:25
не должен
JhaoDa
@jhaoda
Mar 01 2015 13:25
@vanchelo ну тогда и тебе надо возвращать null, а не пустую модель
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:25
только строку
@jhaoda а если вернуть Null не будет пхп ругаться что получил не объект?
JhaoDa
@jhaoda
Mar 01 2015 13:25
@vanchelo ха... будет, да
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:25
да вообще у меня это юзается только за посредниками
ArtMik
@ArtMik
Mar 01 2015 13:26
@vanchelo а вот так он удалит связанные комменты? правильно?
public function getRemove($id)
{
    $test = Test::find($id);
    $test->comments()->delete();
}
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:26
поэтому Null не может быть
hvarts
@hvarts
Mar 01 2015 13:26
Ребят, в новой ларе фичу @Form() убрали?
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:26
да
ArtMik
@ArtMik
Mar 01 2015 13:26
Это кому?
JhaoDa
@jhaoda
Mar 01 2015 13:26
@hvarts что за фича такая? Ты про генератор форм?
hvarts
@hvarts
Mar 01 2015 13:26
@jhaoda да
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:26
@ArtMik если у тебя настроены FK в базе то удалятся и в первом варианте
JhaoDa
@jhaoda
Mar 01 2015 13:27
@hvarts это теперь отдельный пакет — https://github.com/LaravelCollective/html
ArtMik
@ArtMik
Mar 01 2015 13:27
@vanchelo у меня связи в моделях прописаны. Этого мало?
hvarts
@hvarts
Mar 01 2015 13:28
@jhaoda никогда не использовал пакеты для лары. Есть смысл вообще?
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:28
для первого варианта мало
для второго правильно всё
JhaoDa
@jhaoda
Mar 01 2015 13:28
@hvarts ЩТА?
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:28
можно повесить на модель слушателя
ArtMik
@ArtMik
Mar 01 2015 13:28
Хм
JhaoDa
@jhaoda
Mar 01 2015 13:28
@vanchelo ты это видишь?
Он не использовал ни одного пакета
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:28
чтобы при удалении удалялись все связанные данные
@jhaoda ага)))
JhaoDa
@jhaoda
Mar 01 2015 13:28
@hvarts о каком смысле ты спрашиваешь?
hvarts
@hvarts
Mar 01 2015 13:29
@jhaoda юзал то, что лежало в коробке
JhaoDa
@jhaoda
Mar 01 2015 13:29
Тебе или нужна фича, или не нужна
hvarts
@hvarts
Mar 01 2015 13:29
@jhaoda сторонние пакеты не использовал
JhaoDa
@jhaoda
Mar 01 2015 13:29
Теперь эта фича не в коробке
Можно от этого страдать, можно поставить пакет
И никаких разговоров о смысле
hvarts
@hvarts
Mar 01 2015 13:30
@jhaoda ко всему привыкнуть можно, просто не нашел в доке как теперь формы юзаются
Brezhnev Ivan
@vanchelo
Mar 01 2015 13:31
@hvarts никак, или руками или пакет ставить
LaravelButler

Приветствуем Вас, @Akay7, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

LaravelButler

Приветствуем Вас, @takumi987, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Artur Gafurov
@assurrussa
Mar 01 2015 14:01
Господа, у меня вопрос?! лучше самому админку создать или же пользоваться готовыми пакетами и допиливать их?) первый раз начал работать с Laravel - новичок ещё)
Brezhnev Ivan
@vanchelo
Mar 01 2015 14:02
я бы готовый взял
sleeping-owl/admin или cruddy/cruddy
Artur Gafurov
@assurrussa
Mar 01 2015 14:13
@vanchelo Спасибо попробую!
Max
@roquie
Mar 01 2015 15:47
никому раньше не доводилось использовать разные хандлеры monolog'а для разных типов ошибок? Простой пример - логи debug и info пусть валяются в файлах, а о критичных ошибках сообщать на мыло.
dimys
@dimys
Mar 01 2015 15:55
Всем привет. Подскажите как в Route::get указать значение namespace, чтобы контроллеры искались в нужной папке?
Max
@roquie
Mar 01 2015 15:56
@dimys http://laravel.su/docs/5.0/routing
ctrl+f "Чтобы не писать полный неймспейс к каждому контроллеру,"
dimys
@dimys
Mar 01 2015 16:03
@Roquie Может есть еще другие варианты?
Max
@roquie
Mar 01 2015 16:08
@dimys а чем этот не подходит?
JhaoDa
@jhaoda
Mar 01 2015 16:10
Мне тоже интересно
dimys
@dimys
Mar 01 2015 16:12
Подходит, просто спросил, может еще как-то можно его указать.
JhaoDa
@jhaoda
Mar 01 2015 16:12
Ну еще можно открыть сервис-провайдер роутов и посмотреть, как там сделано
Хотя там сделано так же, с мизерными отличиями
dimys
@dimys
Mar 01 2015 16:14
Посмотрел, всем спасибо.
dimys
@dimys
Mar 01 2015 16:34
This message was deleted
Route::group(['namespace' => 'App\Controllers'] , function(){
//
});
На выходе получил namespace App\Http\Controllers\App\Controllers т.е. значения объединились. Как переопределить namespace ?
JhaoDa
@jhaoda
Mar 01 2015 16:44
@dimys зачем?
@dimys у тебя контроллеры лежат не в папке App\Http\Controllers?
dimys
@dimys
Mar 01 2015 16:46
Нет, я хочу сделать модульную структуру.
JhaoDa
@jhaoda
Mar 01 2015 16:49
@dimys ну значит ещё раз загляни в сервис-провайдер роутов
Только внимательней гляди, обращая особое внимание на $this->namespace
dimys
@dimys
Mar 01 2015 16:59
@jhaoda Можно конечно в самом сервис-провайдере исправить, но это как-то не хорошо.
Brezhnev Ivan
@vanchelo
Mar 01 2015 17:00
это хорошо
это не ядро
всё что не входит в ядро можно под нож
JhaoDa
@jhaoda
Mar 01 2015 17:09
@dimys сервис-провайдер для того и придуман, что его можно править
Ибо это сервис-провайдер твоего приложения, а не фереймворка
Brezhnev Ivan
@vanchelo
Mar 01 2015 17:12
@jhaoda путается наверное еще человек
заголовок
Роман Сохарев
@greabock
Mar 01 2015 17:49
странная у них модель монетизации... такой 10р кидаешь и "прокнет/не прокнет". C одной стороны сумма смехотворная. А с другой, на лотерею какую-то похоже ))
Brezhnev Ivan
@vanchelo
Mar 01 2015 17:55
)
Max
@roquie
Mar 01 2015 19:10
есть ли русский гиттер для php? а не только для отдельного фреймворка :) 5 минут гугления помогли найти php-ua, который еле живой
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:11
создай
JhaoDa
@jhaoda
Mar 01 2015 19:11
Там, поди, вообще трэш, угар и содомия
Max
@roquie
Mar 01 2015 19:12
неа, пустынно
@vanchelo да мне вопрос задать бы по di )
JhaoDa
@jhaoda
Mar 01 2015 19:12
А где тогда все те, кто не читает маны, не гуглит, а сразу спрашивает?
а вот
JhaoDa
@jhaoda
Mar 01 2015 19:13
До нас-то доходит лишь малая часть этих граждан
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:13
там и люди есть
Max
@roquie
Mar 01 2015 19:13
тут тоже есть https://gitter.im/php-ua/php
Max
@roquie
Mar 01 2015 19:14
не особо они активны в чате как тут ) над народу побольше )
@jhaoda к сожалению есть просто психологический тупик, когда манов начитался, гуглов нагуглился, а моск в смятку и не понимает
JhaoDa
@jhaoda
Mar 01 2015 19:15
Ну я не про эти случаи же
Max
@roquie
Mar 01 2015 19:16
:)
у меня как раз такой
Роман Сохарев
@greabock
Mar 01 2015 19:16

не особо они активны в чате как тут ) над народу побольше )

Ну... мы же стараемся. Я вот во всех своих статьях ссылаюсь на этот чатик. Ссылки на мои статьи на хабре публикуют. Если бы я на хабре публиковался, то может и еще выше конверсия была бы. Однако на хабре не очень жалуют лару, и я просто очкую оказаться закиданным какашками.

JhaoDa
@jhaoda
Mar 01 2015 19:17
Ну так ты спроси про DI, может и мы чо смогём
Max
@roquie
Mar 01 2015 19:20
@greabock на хабре увидят статику и пугаются сразу. А дальше въехать не посилам, либо поначалу воспринимают все в штыки )
Роман Сохарев
@greabock
Mar 01 2015 19:20
Статику?
Max
@roquie
Mar 01 2015 19:20
угу
Роман Сохарев
@greabock
Mar 01 2015 19:21
объясни, я не понял о чем ты
ты о фасадах что ли?
JhaoDa
@jhaoda
Mar 01 2015 19:21
Про paamaiym nekudotayim он, ага
Max
@roquie
Mar 01 2015 19:21
"Однако на хабре не очень жалуют лару, и я просто очкую оказаться закиданным какашками."
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:22
пусть остаются в неведении)
JhaoDa
@jhaoda
Mar 01 2015 19:22
Они, видимо, думают, что там внутре синглтоны?
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:22
ага)
Роман Сохарев
@greabock
Mar 01 2015 19:22
@Roquie @jhaoda простите, я может тормоз, но я по прежнему ничего не понял...
JhaoDa
@jhaoda
Mar 01 2015 19:22
И что Фаулер придет за ними?
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:22
многие думают что в ларе всё на статике
Route::get
и т.д.
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:23
они не заглядывали под копот
но вообще непонятно зачем в пхп сделали такое разделение
в других ЯП вроде как один способ обращения
а пхп сумел отличится)
JhaoDa
@jhaoda
Mar 01 2015 19:24
В Ц++ я тоже помню двоеточия двойные
Роман Сохарев
@greabock
Mar 01 2015 19:24
@jhaoda а что это за заклинание в ссылке? =)))
я просто не замечал никогда ))
JhaoDa
@jhaoda
Mar 01 2015 19:25
@greabock цитирую — «Оно на самом деле значит "двойное двоеточие" - на иврите!»
Роман Сохарев
@greabock
Mar 01 2015 19:25
жесть
JhaoDa
@jhaoda
Mar 01 2015 19:26
Зив то ли еврей сразу был, то ли изучал иврит в это время
Роман Сохарев
@greabock
Mar 01 2015 19:26
да, они евреи - это известно
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:28
ну вот три ЯП отличились)))
я был о руби лучшего мнения)
Max
@roquie
Mar 01 2015 19:29
вопрос про DI: смотрел сорцы silex, slim и вижу одну картину - есть главный класс Application (or Slim), где в конструкторе в контейнер кидаются объекты и затем используются только в этом классе. Т.е. во всех остальных класах применение контейнера я не вижу. Так и должно быть?
Интересует пример, как использовать контейнер в библиотеке, без прямого инжекта в конструктор у зависимых классов
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:31
показывай классы
Max
@roquie
Mar 01 2015 19:32
всм?
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:32
в Silex юзают Pimple если не ошибаюсь
Max
@roquie
Mar 01 2015 19:32
именно
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:32
в Slim я не в курсе какой DI используется
Max
@roquie
Mar 01 2015 19:32
наследуется
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:32
покажи пример
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:32

ты пишешь про

есть главный класс Application (or Slim), где в конструкторе в контейнер кидаются объекты и затем используются только в этом классе.

так и в ларавел наследуется
смотри
Max
@roquie
Mar 01 2015 19:33
угу. Не вижу хоть убей применения контейнера в других классах или хотябы как он туда попадает если есть
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:34
Тейлор делает тоже самое, только биндинги он разбросал по всему классу
а не как здесь тупо в конструкторе
что попадает?
Max
@roquie
Mar 01 2015 19:34
контейнер
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:34
щас поставлю силекс посмотрю
прикалуешься?
Application и есть контейнер
разобрался?
Max
@roquie
Mar 01 2015 19:37
видимо я запутался... класс который лежит в контейнере может использовать контейнер?
неа =\
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:38
Application наследуется от Pimple
Pimple это DI
Max
@roquie
Mar 01 2015 19:38
вкурсе
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:38
т.е. это сервис который DI умеет
Max
@roquie
Mar 01 2015 19:38
сам поставил и зарегал классы черед провайдеры
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:39
что тебе не понятно?
Max
@roquie
Mar 01 2015 19:39
ща, постараюсь оч подробно расписать ...
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:40
давай
там всё просто
Роман Сохарев
@greabock
Mar 01 2015 19:47
@vanchelo спустя два часа обсуждений: "все ж логично"
Brezhnev Ivan
@vanchelo
Mar 01 2015 19:51
)
поставил SIlex, ипать он жирный
Max
@roquie
Mar 01 2015 19:57

надеюсь не оч сумбурно вышло...

  1. Есть набор классов, которые могут использовать некоторый набор объектов в контейнере. Наследование уже используется (к di не имеет отношения).
  2. Зависимости уже прописаны в файлике boot
    $container->register(new ConfigProvider());
    $container->register(new LogProvider());

проблема: как внедрить в набор классов из п.1 контейнер без прямой передачи в конструктор. Прямая передача неприемлима, т.к. затем они (классы) будут использоваться человеками и передавать каждый раз DI - головная боль.

пока есть мысль сделать синглтон - но какт неохота

Brezhnev Ivan
@vanchelo
Mar 01 2015 19:58
ааа, вот ты о чем
Max
@roquie
Mar 01 2015 20:00
в общем хочется иметь контейнер с зависимостями у выбранных классов, но при этом чтобы оно не мешало работе с ними.
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:00
смотрю, в конструктор и не надо передавать
если речь о Silex
он автоматом в метод public function register(Container $app) при регистрации попадает
Max
@roquie
Mar 01 2015 20:01
хотел делать свой Application класс, да вот кроме 3х строк конфига и жирного конструктора туда пихать нечего ... выделил просто в boot файл..
Silex тут как пример
не более
я его не использую
тут для своей либы
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:03
тебе надо передавать не экземпляр класса а строку, полное имя класса
FQN
Max
@roquie
Mar 01 2015 20:03
?
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:03
$container->register('App\Providers\ConfigProvider');
но с Pimple такое не прокатит
Max
@roquie
Mar 01 2015 20:04
блин
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:04
но если ты юзаешь Pimple то он автоматом при $container->register()
Max
@roquie
Mar 01 2015 20:04
только ссылку на доку скопирнул
))
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:04
вызывает метод
public function register(ServiceProviderInterface $provider, array $values = array())
    {
        $provider->register($this);

        foreach ($values as $key => $value) {
            $this[$key] = $value;
        }

        return $this;
    }
$provider->register($this);
Max
@roquie
Mar 01 2015 20:04
я знаю
так и делаю
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:05
так у чем вопрос?
возьми унаследуй Pimple
Max
@roquie
Mar 01 2015 20:05
нельзя
уже используется наследование ..
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:05
либо не унаследуй а используй его в своейм приложении
Max
@roquie
Mar 01 2015 20:05
всм, как?
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:06
честно, я так и не понял что тебе нужно
зачем тебе в конструктор передавать контейнер если в пимпле иная стратегия
это тебе не ларавел
а написать свою обертку
class App {

    function __construct(Container $container) { $this->container = $container; }
    public function register($service) { тут получаешь класс и контейнер в него передаешь }

}
даже в ларе не используется DI при инициализации сервисов
$this->register(new EventServiceProvider($this));
$this->register(new RoutingServiceProvider($this));
контейнер ручками передают в конструктор
public function resolveProviderClass($provider)
{
    return new $provider($this);
}
public function register($provider, $options = array(), $force = false)
{
    if (is_string($provider))
    {
        $provider = $this->resolveProviderClass($provider);
    }
вот и ты так же сделай
Max
@roquie
Mar 01 2015 20:11

давай по порядку:

  1. имеем вендора log
  2. имеем вендора cache
  3. имеем вендора config

  4. положили это все в контейнер посредством провайдеров

  5. имеем 5 готовых классов, куда замертво вшиты вышеперечисленные вендоры.
  6. задача - выкинуть заметрво вшитые классы вендоров из конструктора и брать их из DI
  7. наследовать классы из п.5. ничего не могут

вот и ты так же сделай

чессн говоря не понял, что ты предлагаешь =\

Brezhnev Ivan
@vanchelo
Mar 01 2015 20:12
ахахаха))
мы как на разных языках говорим
в каких классах у тебя намертво вшиты вендоры?
и что значит намертво?
Max
@roquie
Mar 01 2015 20:13
в самописных )
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:13
хорошо, продолжай
покажи класс
и как ты его дергаешь
Max
@roquie
Mar 01 2015 20:14
намертво - громко сказано. Просто экземпляры создается внутри конструктора
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:14
ааа
ну так незя
вообще пимпл страшный какой-то DI
Max
@roquie
Mar 01 2015 20:16
oO
урезал, но смысл понятен
/**
     * initialize object's
     */
    public function __construct()
    {
        $this->opt = Config::getInstance();
        $this->foo = new Foo();
        $this->foo->setHandler(new BarHandler());
        if ($this->opt->get('url'))
        {
            $this->foo->setFullUrl($this->opt->get('url'));
        }
        $this->setLogger();

        if ($this->opt->get('cache.enabled'))
        {
            $driver_name = $this->opt->get('cache.driver');
            $driver = new $driver_name();
            $driver->setOptions($this->opt->get('cache.driver_options'));
            $pool = new Stash\Pool($driver);
            $this->cache_pool = $pool;
        }
    }
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:18
никогда бы не взял Silex
это недосимфони
в Di должно быть так
public function __construct(ConfigInterface $config, FooInterface $foo)
или
public function __construct(Config $config, Foo $foo)
но я не вижу чтобы Pipmle разрешал зависимости
там этого нет
потому что он не DI а SC
ServiceContainer
так он и называется Dependency Injection Container
т.е. это контейнер)
а обертку тебе самому писать надо
для внедрения сервисов из этого контейнера
а внедрение сервисов в конструктор без рефлексии не получится
собственно ларавел это и делает
Max
@roquie
Mar 01 2015 20:24
круто, но потом как мне по человечески использовать этот класс? внедрение сервисов поможет?
$mainQuery = new MainQuery();

$u = new User();
$u->find();

$b = new Book();
$b->find();

$mainQuery->setQueryObjects($u, $b, .......)->build()->call();
блин, ничерта не понимаю как им пользоваться
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:28
Pimple просто контейнер, пойми
Max
@roquie
Mar 01 2015 20:28
теория ясна, а практика нифига
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:28
он зависимости не внедряет
Max
@roquie
Mar 01 2015 20:28
ок...
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:28
ты их сам должен внедрять
Роман Сохарев
@greabock
Mar 01 2015 20:29
я вот смотрю ребят, и мне кажется что вы в терминах путаетесь
Max
@roquie
Mar 01 2015 20:29
особенно я
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:29
new SomeClass($container['config'], $container['session'])
вот так только
но при этом у тебя config должен быть в контейнере зареган
Max
@roquie
Mar 01 2015 20:29
тогда смотри что получится .....
$mainQuery = new MainQuery($container['config'], $container['session'], $container['log'], $container['cache']);

$u = new User($container['config'], $container['session']);
$u->find();

$b = new Book($container['config'], $container['session']);
$b->find();

$mainQuery->setQueryObjects($u, $b, .......)->build()->call();
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:30
Лара, например, автоматом зависимости внедряет когда ты обращаешься через её метод App::make('SomeClass')
@Roquie да, так и получится
Max
@roquie
Mar 01 2015 20:31
такую кишку использовать не хочется)
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:31
или просто передавать контейнер
а в конструкторе уже $this->config = $container['config']
Max
@roquie
Mar 01 2015 20:32
тем не менее, прикинь везде передавать контейнер? это не вариант
Роман Сохарев
@greabock
Mar 01 2015 20:32
DI - это когда создание внешних объектов не происходит в самом классе а он получает их извне.
SC - это просто "запоминалки" когда мы храним где-то что-то чтобы потом использовать
А вот когда DI и SC связываются вместе с помощью исследования классов, это уже называется IoC
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:32
@greabock вот именно
а пимпл это SC
Max
@roquie
Mar 01 2015 20:32
@greabock ураааа я хоть частично понял разницу и составляющие ... спс)
ок, если мы тогда говорим не о DI или SC, а об IoC - тут можно по нормальному работать с классами?
не передавая каждый раз контейнер в экземпляры класса и не используя наследование
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:34
Да, пиши свой класс который будет рулить
Max
@roquie
Mar 01 2015 20:34
пример?
вот там через рефлеклию достают аргументы из конструктора, смотрят на них, и подкидывают из контейнера если они там есть, если нет создают новые экземпляры
@Roquie почему выбор пал именно на Silex, а не Ларавел?
Max
@roquie
Mar 01 2015 20:41
silex не использую, он тут только для того, чтобы посмотреть как там используется di. Также в slim смотрел и гдето еще.
если ты спрашиваешь, почему я не смотрел кишки лары - да потому, что их дофига и без пинка не разберешься )
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:42
очень просто разобраться, поставь шторма
Max
@roquie
Mar 01 2015 20:42
стоит
лет 5 как
вру
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:42
и ты не можешь понять как работает там DI?
Max
@roquie
Mar 01 2015 20:43
3,5 года
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:44
используй ларика контейнер
ничего велосипедить не придется
composer require illuminate/container
это как сказал @greabock полноценный IoC
Max
@roquie
Mar 01 2015 20:45
оффтоп: а почему мое сообщение приписано к тебе?
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:46
обнови вкладку
обновивкладку
Max
@roquie
Mar 01 2015 20:46
все. лол
Роман Сохарев
@greabock
Mar 01 2015 20:46
чат лагает
Max
@roquie
Mar 01 2015 20:50

и ты не можешь понять как работает там DI?

скажу так, я не смотрел и не лез туда, т.к. до этого имел сильно малое представление как используется DI. Да и про разницу SC, DI и то что это в сумме IoC узнал ток щас.

используй ларика контейнер

))))) у меня уже в зависимостях значится illuminate/support для коллекций и фасадов ))
эх, не моя либа, а половина ларавела ))

Brezhnev Ivan
@vanchelo
Mar 01 2015 20:50
)
Max
@roquie
Mar 01 2015 20:51
есть отдельный, ну хотябы краткий ман по illuminate/container?
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:51
да, в доках ларика
Max
@roquie
Mar 01 2015 20:52
ну, я про тот ман, чтобы использовать его отдельно
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:52
а там ничего сложного
так же как и другие библиотеки
Max
@roquie
Mar 01 2015 20:53
если я б понимал, как ей пользоваться )
нет ничего необычного, когда опыт за плечами, а пока я еще на недостаточное кол-во детских грабель наступил чтобы сразу брать любой контейнер и использовать )
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:55
аналогично)
ты решил что у меня опыта за плечами тонна?
я ориентируюсь по приборам)
Max
@roquie
Mar 01 2015 20:55
дай мне свои таблетки )
Роман Сохарев
@greabock
Mar 01 2015 20:56
я тут как бы вообще самый зеленый получаюсь =\
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:56
с чего ты взял?
опыт оценивается ведь не в годах)
а в часах которые ты говнокодил)
Роман Сохарев
@greabock
Mar 01 2015 20:57
ну ты дольше меня в теме. У @Roquie 3,5 года шторм стоит... я вот только 2 года исполнилось, как начал заниматься программированием )
Brezhnev Ivan
@vanchelo
Mar 01 2015 20:58
выходит опыт это кол-во говночасов)
у меня 2 года шторм стоит)
но я начал заниматься примерно как на гите зарегался
вот с марта как раз третий год пойдет шторму)
потому что я один раза лицуху продлял
JhaoDa
@jhaoda
Mar 01 2015 20:59
Ну вот у меня на круг опыта в РНР 14 лет, с перерывами. И чо? Из них больше половины я в лучших традициях писал говнокод по современным меркам
Brezhnev Ivan
@vanchelo
Mar 01 2015 21:00
ну значит ты нам и расскажешь про IoC DI и SC)
JhaoDa
@jhaoda
Mar 01 2015 21:00
И изобретал свои фреймворки
Как истинный программист
Brezhnev Ivan
@vanchelo
Mar 01 2015 21:00
))
а есть в паблике?
JhaoDa
@jhaoda
Mar 01 2015 21:01
А ещё, как настоящий вендо-прогер, писал свой блокнот, а потом редактор для РНР
Max
@roquie
Mar 01 2015 21:01
@vanchelo лол, аналогично по времени начал кодить ) может позже на полгодика
Brezhnev Ivan
@vanchelo
Mar 01 2015 21:01
=)
JhaoDa
@jhaoda
Mar 01 2015 21:02
@vanchelo на ведёрке где-то лежит, но не в паблике
Max
@roquie
Mar 01 2015 21:02
@jhaoda оо, я тож писал блокнот. На делфи правда.
на автокомплите забил
Роман Сохарев
@greabock
Mar 01 2015 21:03
я вам честно скажу, я как начал лару изучать в мае того прошлого года, резко подниматься стал в качестве кода
Max
@roquie
Mar 01 2015 21:05
@vanchelo недавно заметил твой мэйлер у себя на фалкон-проекте. Забавно.
Brezhnev Ivan
@vanchelo
Mar 01 2015 21:06
))
JhaoDa
@jhaoda
Mar 01 2015 21:06
А Слайдер одну мою либу юзает
Шарик земной маленький, чо
Max
@roquie
Mar 01 2015 21:07
)
Роман Сохарев
@greabock
Mar 01 2015 21:08
мои либы никто не юзает... я никому не нужен... пойду напьюсь кофе...
JhaoDa
@jhaoda
Mar 01 2015 21:09
Да они просто молчат, те кто юзает
Роман Сохарев
@greabock
Mar 01 2015 21:12
хотя... виджетов 26 инсталлов есть, 5 из которых мои ))
хм... что характерно, тентаклю мало кто скачивал. Видимо, виджеты сами по себе интересуют.
Роман Сохарев
@greabock
Mar 01 2015 21:19
у меня тут как бы время появилось, я вот думаю запилить ядро под структуру, которую я описывал?
Brezhnev Ivan
@vanchelo
Mar 01 2015 21:19
давай
Роман Сохарев
@greabock
Mar 01 2015 21:19
а пилить как ересь от лары или пакетом?
Brezhnev Ivan
@vanchelo
Mar 01 2015 21:21
ересь
Роман Сохарев
@greabock
Mar 01 2015 21:24
а как ее назвать? =))
Brezhnev Ivan
@vanchelo
Mar 01 2015 21:25
EresCore
Роман Сохарев
@greabock
Mar 01 2015 21:25
XD
Brezhnev Ivan
@vanchelo
Mar 01 2015 21:25
iCore
Роман Сохарев
@greabock
Mar 01 2015 21:26
Garfang ?
LaravelButler

Приветствуем Вас, @MasterOdin, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Brezhnev Ivan
@vanchelo
Mar 01 2015 21:27
=)
Роман Сохарев
@greabock
Mar 01 2015 21:27
типа как Harfang, только Garfang
Max
@roquie
Mar 01 2015 21:30
про контейнер и компоненты лары
youtu.be/Qu6o4wTMo38?t=22m19s
Роман Сохарев
@greabock
Mar 01 2015 21:31
ну что, пошел пилить тогда
Brezhnev Ivan
@vanchelo
Mar 01 2015 21:31
успехов=)
Роман Сохарев
@greabock
Mar 01 2015 21:32
ага
Brezhnev Ivan
@vanchelo
Mar 01 2015 21:32
тока я не понял как ты решил назвать)
Роман Сохарев
@greabock
Mar 01 2015 21:32
я сам не понял
а еще я не понял, как сделать форк правильно
Max
@roquie
Mar 01 2015 21:33
нажать на кнопку
и дальше выкачать себе, использовать как свой реп
Роман Сохарев
@greabock
Mar 01 2015 21:34
это понятно. Репу же переименовать можно?
Max
@roquie
Mar 01 2015 21:34
ессно
Роман Сохарев
@greabock
Mar 01 2015 21:34
так... а как мне потом под обновления лары апать это дело?
Max
@roquie
Mar 01 2015 21:35
можно сделать симлинк
на те папки которые сам не трогаешь
Роман Сохарев
@greabock
Mar 01 2015 21:35
поподробнее
хотя... че торможу-то
все верно
Max
@roquie
Mar 01 2015 21:37
)
Роман Сохарев
@greabock
Mar 01 2015 21:37
там же в композере будет прописано
Max
@roquie
Mar 01 2015 21:37
а ну, тут темболее )
Роман Сохарев
@greabock
Mar 01 2015 21:37
только надо не "5.0.*" писать, а под конкретную версию
иначе, как оно с нашим Толиком бывает, все сломается с очередным коммитом
Max
@roquie
Mar 01 2015 21:41
даже от патча сломаться может? :o
LaravelButler

Приветствуем Вас, @SYSTEMLORD, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Роман Сохарев
@greabock
Mar 01 2015 22:05
@Roquie уж если обычные от патча ломаются, то этот темболее
VitaliiSestrenskyi
@VitaliiSestrenskyi
Mar 01 2015 22:44
привет
подскажите в шторме что нужно нажимать чтобы если прописать .form-group создавался сразу тэг <div class=".form-group"></div>
просто смотрю видео как человек это делает а сам не знаю
JhaoDa
@jhaoda
Mar 01 2015 22:55
@VitaliiSestrenskiy пишешь div.form-group и нажимаешь Tab
Может и просто.form-group можно, не пробовал