<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Anastas Mironov]]></title><description><![CDATA[I am a Laravel Backend Developer]]></description><link>https://blog.l80.ru</link><generator>RSS for Node</generator><lastBuildDate>Tue, 12 May 2026 06:17:19 GMT</lastBuildDate><atom:link href="https://blog.l80.ru/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Laravel tip #4. Запускаем Job из tinker]]></title><description><![CDATA[Запускаем tinker:
php artisan tinker

И вводим следующий код, с заменой на свой job:
Queue::push(new App\Jobs\InspireJob());]]></description><link>https://blog.l80.ru/laravel-tip-4-zapuskaem-job-iz-tinker</link><guid isPermaLink="true">https://blog.l80.ru/laravel-tip-4-zapuskaem-job-iz-tinker</guid><category><![CDATA[Laravel]]></category><category><![CDATA[laravel tip]]></category><dc:creator><![CDATA[Anastas Mironov]]></dc:creator><pubDate>Tue, 28 Nov 2023 03:33:34 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/505eectW54k/upload/c17fb551d67c89642784c8f870262f75.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Запускаем <code>tinker</code>:</p>
<pre><code class="lang-bash">php artisan tinker
</code></pre>
<p>И вводим следующий код, с заменой на свой <code>job</code>:</p>
<pre><code class="lang-php">Queue::push(<span class="hljs-keyword">new</span> App\Jobs\InspireJob());
</code></pre>
]]></content:encoded></item><item><title><![CDATA[Laravel tip #3. Проверяем отправку почты через tinker]]></title><description><![CDATA[Запускаем tinker :
php artisan tinker

И отправляем почту следующим кодом:
Mail::send([], [], fn ($msg) => $msg->to('ast@l80.ru')->subject('Test subject')->text('Test body'));]]></description><link>https://blog.l80.ru/laravel-tip-3-proveryaem-otpravku-pochty-cherez-tinker</link><guid isPermaLink="true">https://blog.l80.ru/laravel-tip-3-proveryaem-otpravku-pochty-cherez-tinker</guid><category><![CDATA[Laravel]]></category><category><![CDATA[laravel tip]]></category><dc:creator><![CDATA[Anastas Mironov]]></dc:creator><pubDate>Tue, 28 Nov 2023 03:30:30 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/s9CC2SKySJM/upload/b022cf74bda1623c31212fde27c864e0.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Запускаем <code>tinker</code> :</p>
<pre><code class="lang-bash">php artisan tinker
</code></pre>
<p>И отправляем почту следующим кодом:</p>
<pre><code class="lang-php">Mail::send([], [], <span class="hljs-function"><span class="hljs-keyword">fn</span> (<span class="hljs-params">$msg</span>) =&gt; $<span class="hljs-title">msg</span>-&gt;<span class="hljs-title">to</span>(<span class="hljs-params"><span class="hljs-string">'ast@l80.ru'</span></span>)-&gt;<span class="hljs-title">subject</span>(<span class="hljs-params"><span class="hljs-string">'Test subject'</span></span>)-&gt;<span class="hljs-title">text</span>(<span class="hljs-params"><span class="hljs-string">'Test body'</span></span>))</span>;
</code></pre>
]]></content:encoded></item><item><title><![CDATA[Laravel tip #2. Создаем тестовые роуты без отправки в GIT]]></title><description><![CDATA[Создаем файл в папке роутов /routes/test.php

Добавляем этот файл в .gitignore

Добавляем в файл RouteServiceProvider.php в функцию boot следующий код:


$this->routes(function () {
        // ...

        if (file_exists(base_path('routes/test.php')...]]></description><link>https://blog.l80.ru/laravel-tip-2-sozdaem-testovye-routy-bez-otpravki-v-git</link><guid isPermaLink="true">https://blog.l80.ru/laravel-tip-2-sozdaem-testovye-routy-bez-otpravki-v-git</guid><category><![CDATA[Laravel]]></category><category><![CDATA[laravel tip]]></category><dc:creator><![CDATA[Anastas Mironov]]></dc:creator><pubDate>Tue, 26 Sep 2023 10:36:06 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/q10VITrVYUM/upload/b2f33f683cc3419548a061195d05b514.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<ol>
<li><p>Создаем файл в папке роутов <code>/routes/test.php</code></p>
</li>
<li><p>Добавляем этот файл в <code>.gitignore</code></p>
</li>
<li><p>Добавляем в файл <code>RouteServiceProvider.php</code> в функцию <code>boot</code> следующий код:</p>
</li>
</ol>
<pre><code class="lang-php"><span class="hljs-keyword">$this</span>-&gt;routes(<span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{
        <span class="hljs-comment">// ...</span>

        <span class="hljs-keyword">if</span> (file_exists(base_path(<span class="hljs-string">'routes/test.php'</span>))) {
                Route::prefix(<span class="hljs-string">'test'</span>)-&gt;group(base_path(<span class="hljs-string">'routes/test.php'</span>));
        }
});
</code></pre>
<p>Таким образом, мы подключаем роуты из файла <code>/routes/test.php</code> только в том случае, если этот файл существует.</p>
]]></content:encoded></item><item><title><![CDATA[Laravel tip #1. Тестируем код для очередей (Job) без запуска процесса очереди]]></title><description><![CDATA[Создаем роут, который вызывает функцию 'handle':
// routes/web.php
Route::get('/test', [\App\Jobs\TestJob::class, 'handle']);

Либо запускаем tinker, создаем экземпляр класса, и вызываем функцию handle():
// php artisan tinker
app(\App\Jobs\TestJob::...]]></description><link>https://blog.l80.ru/laravel-tip-1-testiruem-kod-dlya-ocheredej-job-bez-zapuska-processa-ocheredi</link><guid isPermaLink="true">https://blog.l80.ru/laravel-tip-1-testiruem-kod-dlya-ocheredej-job-bez-zapuska-processa-ocheredi</guid><category><![CDATA[Laravel]]></category><category><![CDATA[laravel tip]]></category><dc:creator><![CDATA[Anastas Mironov]]></dc:creator><pubDate>Tue, 26 Sep 2023 10:33:43 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/cckf4TsHAuw/upload/387fe9c77fc541fc475dc5f04b74d059.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Создаем роут, который вызывает функцию 'handle':</p>
<pre><code class="lang-php"><span class="hljs-comment">// routes/web.php</span>
Route::get(<span class="hljs-string">'/test'</span>, [\App\Jobs\TestJob::class, <span class="hljs-string">'handle'</span>]);
</code></pre>
<p>Либо запускаем <code>tinker</code>, создаем экземпляр класса, и вызываем функцию <code>handle()</code>:</p>
<pre><code class="lang-php"><span class="hljs-comment">// php artisan tinker</span>
app(\App\Jobs\TestJob::class)-&gt;handle();
</code></pre>
]]></content:encoded></item><item><title><![CDATA[Рецепт чечевичного супа]]></title><description><![CDATA[Ингредиенты

Лук репчатый - 1/2 шт.

Чеснок - 1 долька

Морковь - 1 шт.

Чечевица красная - 300 г.

Томатная паста - 2 ст.л.

Оливковое Масло для обжарки

Вода ~1,5 л.

Соль, перец - по вкусу


Готовка
Чечевицу промоем на отдельной посуде.
Лук, чесно...]]></description><link>https://blog.l80.ru/recept-chechevichnogo-supa</link><guid isPermaLink="true">https://blog.l80.ru/recept-chechevichnogo-supa</guid><category><![CDATA[recipe]]></category><category><![CDATA[рецепт]]></category><dc:creator><![CDATA[Anastas Mironov]]></dc:creator><pubDate>Sun, 16 Jul 2023 05:01:16 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1689483412509/3d8e67e8-f2c0-4ac7-88d6-e3af608dd9a5.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-ingredienty">Ингредиенты</h2>
<ul>
<li><p>Лук репчатый - 1/2 шт.</p>
</li>
<li><p>Чеснок - 1 долька</p>
</li>
<li><p>Морковь - 1 шт.</p>
</li>
<li><p>Чечевица красная - 300 г.</p>
</li>
<li><p>Томатная паста - 2 ст.л.</p>
</li>
<li><p>Оливковое Масло для обжарки</p>
</li>
<li><p>Вода ~1,5 л.</p>
</li>
<li><p>Соль, перец - по вкусу</p>
</li>
</ul>
<h2 id="heading-gotovka">Готовка</h2>
<p>Чечевицу промоем на отдельной посуде.</p>
<p>Лук, чеснок нарежем мелко, морковь натрем на крупной терке. Кладем все в кастрюлю, добавим томатную пасту и обжарим на оливковом масле.</p>
<p>Чечевицу добавим в кастрюлю к овощам, добавим воду до 1,5л и варим до готовности чечевицы.</p>
<p>Когда чечевица сварилась, солим и перчим по вкусу.</p>
<p>Готовый суп пюрируем погружным блендером.</p>
<p>Готово )</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1689483142435/e2a51e92-d8a1-4d11-962f-681599974120.jpeg" alt class="image--center mx-auto" /></p>
<p>Сам добавил 2л воды, получился довольно жидким, лучше меньше воды наливать.</p>
<p>Рецепт взят отсюда и немного изменен <a target="_blank" href="https://www.iamcook.ru/showrecipe/15235">https://www.iamcook.ru/showrecipe/15235</a></p>
]]></content:encoded></item><item><title><![CDATA[Маленький пост о личном]]></title><description><![CDATA[Просто пишу о наболевшем. Я всегда хотел писать статьи, но мой идеалистичный ум давал много поводов для того чтобы не начинать писать статьи, писать свои мысли, начиная от того, что "не умею писать статьи", до безрассудных "надо написать идеальные те...]]></description><link>https://blog.l80.ru/malenkij-post-o-lichnom</link><guid isPermaLink="true">https://blog.l80.ru/malenkij-post-o-lichnom</guid><dc:creator><![CDATA[Anastas Mironov]]></dc:creator><pubDate>Fri, 21 Apr 2023 10:32:33 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/wPy71r8Hi_s/upload/319d86a00befd42da82b1ff483fc50b6.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Просто пишу о наболевшем. Я всегда хотел писать статьи, но мой идеалистичный ум давал много поводов для того чтобы не начинать писать статьи, писать свои мысли, начиная от того, что "не умею писать статьи", до безрассудных "надо написать идеальные тексты". Вот сегодня моя решимость чутка возросла, а самомнение чутка понизилось, и вот как результат, написано несколько строк текста.</p>
<p>Если вы читаете это, то у меня получилось написать один маленький пост :)</p>
]]></content:encoded></item></channel></rss>