@laravel_pro

Страница 781 из 2014
Daniel
26.09.2017
07:42:05
как быть с функциями тогда?

Oscar
26.09.2017
07:42:12
в шаблонах не должно быть програмной логики, не считая того, что позволяет blade, он конечно позволяет выстрелить себе в ногу, но рассчитывает на адекватность

а что с функциями?

Google
Daniel
26.09.2017
07:42:30
краткий пример function renderNode($item) { echo "<li>"; echo "<b>{$item->name}</b>"; if ( $item->children()->count() > 0 ) { echo "<ul>"; foreach($item->children as $child) renderNode($child); echo "</ul>"; } echo "</li>"; } echo "<ul>"; foreach($nodes as $node) renderNode($node); echo "</ul>";

Oscar
26.09.2017
07:42:34
передаешь в шаблон анонимную функцию и выполняешь

Daniel
26.09.2017
07:42:36
как такое реализовать на blade?

Oscar
26.09.2017
07:42:59
view('tpl', ['renderNode' => function() {}])

Daniel
26.09.2017
07:43:18
хм... пошел тестить)

спасибо за подсказку)

Игорь
26.09.2017
07:54:30
Пацаны

Я щото не понимаю как рептзитории работают

Смотрю примеры в инете

Это мне что, нада делать New UserRepository и потом к нему - >find юзать

Я думал они через статик работают ?

Или его нужно один екземпляр на всю аппку делать?

Daniel
26.09.2017
07:57:35
view('tpl', ['renderNode' => function() {}])
не, всё равно не могу въехать. Можешь подсказать ссыль в документации, где это встречается?

Google
Александр
26.09.2017
07:57:58
(new UserRepository)->find(...)

Это мне что, нада делать New UserRepository и потом к нему - >find юзать

Oscar
26.09.2017
07:58:49
https://bosnadev.com/2015/03/07/using-repository-pattern-in-laravel-5/

немного устарел материал, но в нем все довольно неплохо

Игорь
26.09.2017
07:59:09
По его примеру и делал

Oscar
26.09.2017
08:00:10
ну репозиторий в целом нужен в тех ситуациях, когда модели используют в больших количествах нестандартный функционал

https://github.com/andersao/l5-repository

а почему бы это не юзать?

Игорь
26.09.2017
08:01:09
а почему бы это не юзать?
Чтобы юзать, нужно понять как работает, иначе будет про то черная коробка ?

Oscar
26.09.2017
08:02:16
почитай тогда именно про паттерн

что это такое и для чего

многие вопросы отпадут

https://habrahabr.ru/post/248505/

Игорь
26.09.2017
08:02:51
Спасибо

Oscar
26.09.2017
08:03:19
Да не за что, я просто погуглил за тебя и заодно свои знания освежил)

Игорь
26.09.2017
08:12:21
Блин

Google
Игорь
26.09.2017
08:12:30
Я это совсем не так представлял

??‍♂?

Но тогда по сути у меня может быть только один репозиторий, который будет работать во всем приложении https://refactoring.guru/ru/design-patterns/catalog Может кому пригодится

F01134H
26.09.2017
08:15:45
return response()->download($pathToFile);

бля

куда по умолчанию смотрит это дерьмо?

все папки в стораже перетыкал

Игорь
26.09.2017
08:30:30
Через консоль найди

(;¬_¬)
26.09.2017
08:30:54
return response()->download($pathToFile);
а полный путь не пробовал указывать?

F01134H
26.09.2017
08:31:03
усе ужл

(;¬_¬)
26.09.2017
08:31:05
ну там App::storagePath()

F01134H
26.09.2017
08:32:25
да все уже

Daniel
26.09.2017
08:32:32
кароче говоря, я уже перепробовал все способы передачи функции в шаблон. Даже app/Utilities.php. Не пашет и всё тут :/

Daniel
26.09.2017
08:32:50
не исключено

F01134H
26.09.2017
08:33:02
зачем тебе передавать функцию в шаблон?

Daniel
26.09.2017
08:34:08
потому что мне надо как-то вывести ветки nested set, что далается примерно так: function renderNode($item) { echo "<li>"; echo "<b>{$item->name}</b>"; if ( $item->children()->count() > 0 ) { echo "<ul>"; foreach($item->children as $child) renderNode($child); echo "</ul>"; } echo "</li>"; }

сей код находится, допустим, в контроллере

F01134H
26.09.2017
08:34:42
я бы сделал как то так $func = function($count) { return $count + 1; } return view()->with('func', $func); // tempate.blade.php {{ $func(1) }}

Daniel
26.09.2017
08:35:02
погугил, предлагают вынести всё это в app/Utilities.php

Google
Daniel
26.09.2017
08:41:12
я бы сделал как то так $func = function($count) { return $count + 1; } return view()->with('func', $func); // tempate.blade.php {{ $func(1) }}
return view('categories.index', compact('nodes'))->with('rendernode', $rendernode); Parse error: syntax error, unexpected 'return' (T_RETURN)

капец, завис на такой мелочи, аж стыдно

F01134H
26.09.2017
08:41:49
знач нельзя функции передавать чоли

Daniel
26.09.2017
08:42:32
остался последний вариант с helper.php

пошел тестить

свершилось! черех helpers.php кому интересно, то: // app/helpers.php <?php if (! function_exists('myGetDate')) { function myGetDate() { // your code } } затем в composer.json "autoload": { "files": [ "app/helpers.php" ] } затем composer dump-autoload и в конце {{ myGetDate() }}

Александр
26.09.2017
08:49:33
Через провайдер правильнее наверное

Daniel
26.09.2017
08:50:52
я уже был готов фигачить php код в blade шаблоне))

Дмитрий
26.09.2017
08:53:00
краткий пример function renderNode($item) { echo "<li>"; echo "<b>{$item->name}</b>"; if ( $item->children()->count() > 0 ) { echo "<ul>"; foreach($item->children as $child) renderNode($child); echo "</ul>"; } echo "</li>"; } echo "<ul>"; foreach($nodes as $node) renderNode($node); echo "</ul>";
Почему бы не сделать всё средствами blade? Более что когда будет с blade меньше и авглядить он будет лучше, учитывая echo не будет. Почему не заюзать @include() ? <ul> @foreach($nodes as $node) @include('node', $node) @endforeach </ul>а в node.blade.php <li> <b>{{$node->name}}</b>; @if($node->children()->count() > 0 ) <ul> @foreach($node->children as $child) @include('node', $child) @endforeach </ul> @endif </li>

Дмитрий
26.09.2017
08:54:01
я уже был готов фигачить php код в blade шаблоне))
Зато теперь ты нафигачил html в php

Daniel
26.09.2017
08:54:19
логично

@include('node', $child) - оно же нормально вызовет само себя?

Nikolai
26.09.2017
08:55:32
Ребят подскажите как лучше в бд хранить например статус заказа? Использовать enum или связь делать?

Дмитрий
26.09.2017
08:55:34
@include('node', $child) - оно же нормально вызовет само себя?
попробуй, я на одном из проектов юзал что-то типо того, рекурсия там отрабатывала нормально

@include('view.name', ['some' => 'data'])

логично
<ul> @foreach($nodes as $node) @include('node', ['node' => $node]) @endforeach </ul>и так <li> <b>{{$node->name}}</b>; @if($node->children()->count() > 0 ) <ul> @foreach($node->children as $child) @include('node', ['node' => $child]) @endforeach </ul> @endif </li>

Google
Дмитрий
26.09.2017
09:04:17
О. спасибо) так работает)
И тебе спасибо! Я как лох бы и не знал бы как код в Телеграме красиво постить)

Daniel
26.09.2017
09:04:57
тяжко, однако, из верстки в бекенд переходить... но гораздо интереснее задачи)

Дмитрий
26.09.2017
09:06:34
тяжко, однако, из верстки в бекенд переходить... но гораздо интереснее задачи)
Главное что у тебя есть своевременное ощущение что ты делаешь что-то не так, остальное практика и время!

Ребят подскажите как лучше в бд хранить например статус заказа? Использовать enum или связь делать?
Я бы создал табличку со статусами (id, name). А так всё зависит от того, что тебе конкретно в итоге нужно. Чем понятнее, проще, и перспективней, тем и лучше, жестких правил на этот счет нет.

Your
26.09.2017
09:19:16
Всем привет. Как правильно проинсталлить JwtGuard? По гайду с гитхаба не получается (

Config:clear все решил)

Alexey
26.09.2017
10:22:11
всем привет, кто http://www.maatwebsite.nl/laravel-excel/docs/export юзал?

Есть проблема, когда записей не много (до 200) экспорт успешный, когда записей 900+ пустой лист

в лимит памяти точно не упирается

в чем еще может быть проблема?

Yura
26.09.2017
10:24:49
Дебагер молчит?

Alexey
26.09.2017
10:25:44


пустые массивы

а если выборку меньше сделать - то все данные есть

при этом массив данных обнуляется именно после $sheet->fromModel($data);

или $sheet->fromArray($data);

в самой же $data - все данные есть

Страница 781 из 2014