Обновить
3
0
NickyX3 @NickyX3

Пользователь

Отправить сообщение

Заглянув в «скомпилированные» файлы того же Blade или Twig вы увидите примерно это самое. На картинке как раз Blade, у Twig там будет php класс

Поддерки IDE для чего? Вызвать из фасада одну функцию? Хотя для неё я таки в аннотации положил описание, так что автокомлит работает, да

Или вы про поддержку шаблонов blitz? Тут я вам ничем помочь не могу, хотя можно использовать к примеру Smarty или Twig плагины для IntelliJ IDEA/PHPStorm и просто накрутить в их конфиге двойные фигурные скобки.

Да, но фича Blitz это не сам цикл.
К примеру одним синтаксисом {{ BEGIN block }}{{ END }} там одинаково решается два случая.

$dataOne = ['a'=>1,'b'=>2];
$dataTwo = [
  ['a'=>3,'b'=>4],
  ['a'=>5,'b'=>6]
];
$render['block1'] = $dataOne;
$render['block2'] = $dataTwo;
{{ BEGIN block1 }}{{ $a, $b }}{{ END }}
{{ BEGIN block2 }}{{ $a, $b }}{{ END }}
// rendered block1
1, 2
// rendered block2
3, 4
5, 6

Ну и конечно, по-моему мнению все эти «аккуратные» решения от Blade и есть избыток логики в шаблоне, пусть местами удобной. Я ни в коей мере не говорю, что это плохо. В итоге постепенно пепеползаем на Blade, но этот адаптер как раз сделан для того, чтоб какое-то время прицепив Blitz шаблоны существующие запустить какие-то участки кода до полного рефакторинга.

Вы не поверите! Ну раз началась такая пьянка.

Blade, однострочный if с проверкой что переменная вообще существует тянет за собой php-код (isset) в шаблон

@if( isset($var) ){{ $var }}@else some @endif

Blitz

{{ IF $var }}{{ $var }}{{ ELSE }}some{{ END }}
или вообще однострочник
{{ if($var,$var,'some') }}

Blade, пробег в цикле по списку опять с проверкой что оно существует

@isset($collection)
@foreach($collection as $entry)
blabla
@endforeach
@endisset

Blitz, нет $collection - нет цикла, есть - будет повторяться.

{{ BEGIN collection }}
blabla
{{ END }}

Да много такого, что в Blitz решается как минимум меньшей писаниной, хотя не отрицаю, Blade заставит определить всё, что может быть в шаблоне.

Самого шаблонизатора? Тут на вкус и цвет. Суть статьи в том, как использовать конкретный альтернативный шаблонизатор в Laravel, да еще немного расширить его возможности ближе к нативному Blade.
P.S> Я бы конечно мог обсудить то, что мне нравится в Blitz, и не нравится в Blade/Twig/etc. Но прямо если сильно интересно

у Ergo вообще есть Paper Wallet. Как говорится, холоднее не бывает

Нормальный горный велосипед на самом деле за исключением съемников (ну там каретки, кассеты, топкепы у вилок) крутится двумя шестигранниками. А совсем приличный - одним

Ну я 80% своей хонды могу разобрать ключами на 10 и 12. Остальные 20% на 14

ну как из коробки. Требуется либо встройка, либо другая дисктетка nVidia. Это штатное поведение, не важно linux или win. Я имел ввиду, но "ноги" такого режима растут из гибридных ноутбучных технологий.
В этом смысле майнинг варинты AMD будут повеселее. Во-первых там нет лока страпов на чипе, во-вторых даже у тех карт где вообще не распаяны выходы, в теории можно распаять hdmi, а в некоторых (например Sapphire RX470 ME) есть распаянный DVI-D.

Получилось круто. Круче только если бы автор сделал это из настоящего Лего с покадровой анимацией. Но боюсь это заняло бы пару лет

Заводите через крипту на биржу где есть p2p, и просите покупателя вывести на рф карту, какие проблемы?

Лучше вообще DC-DC типа 2796 или как там его

Немного не так. Там, где инженеры Хонды обходятся двумя гайками на 10, инженеры BMW делают четыре болта под Torx и хомутик

Это рабоает только в связках Intel + nVidia с бубном (модифицированные драйвера ноутбучные с гибридным видео)

Все зависит от размера файла и что вы с распарсенными данными будете делать, сразу обрабатывать каждую строчку, или какие-то блоки строчек, или все целиков в память потащите. Генератор однозначно экономнее чем какой-нить вызов file/file_get_content/SplFileInfo->getContent. Но по сравнению с построчным чтением через fread не так чтоб экономит, но разделяет код обработки от собствено чтения

Я гружу блоки по сотне записей (чтоб не каждую в базу пихать, а bulk-запросом обновлять в базе сразу пачкой)

Правильно это убирать в конце строки оба символа "\r" и "\n", при этом в середине убирать не надо.

Это решается одной строчкой, которая постоянно применялась еще в Perl 20 лет назад - trim() или rtrim(). Заменять переводы строк через str_replace это вообще плохая практика

Ну генератор имеет смысл если хочешь вынести чтение файла в отдельный метод

Именно. Экономит память, лучше даже в генераторе просто читать строчки, а парсить (str_getcsv) уже снаружи. Более универсально, кмк

В одном из проектов у нас подобным образом импортируются оплаты-платежки в самописную систему для менеджеров. Бухгалтерия в другом городе, присылают CSV.

Автор прохо читал доку TW.

Мало того, что можно выкидывать не нужное. А по хорошему TW это средство разработки а не продакшена. Я лично финалю все tw наборы классов в input.css через apply
Всмысле из чего-то подобного

<div class="mt-4 p-8 bg-black text-white">

Можно сделать

<div class="some-class">
.some-class{
  @apply mt-4 p-8 bg-black text-white
}

Встроенные функции типа fgetcsv хорошо, да. В данном случае если файлы могут быть сильно большими еще лучше использовать генератор и str_getcsv

По мне так вообще динамические свойства это плохая практика везде, за исключением stdClass (что и подтверждается авторами php). Единственное место когда я это юзал - это создать такой динамический объект "на лету" и сразу отдать в json например.

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, HTML-верстальщик
Средний
Git
JavaScript
HTML
CSS
Адаптивная верстка
Веб-разработка
JQuery