{"id":568,"date":"2023-11-01T04:48:16","date_gmt":"2023-11-01T04:48:16","guid":{"rendered":"https:\/\/rishikantsri.in\/blog\/?p=568"},"modified":"2023-11-02T03:45:15","modified_gmt":"2023-11-02T03:45:15","slug":"laravel-tips","status":"publish","type":"post","link":"https:\/\/rishikantsri.in\/blog\/laravel-tips\/","title":{"rendered":"Laravel Tips"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1) <strong>Writing view content within the closure<\/strong><\/h2>\n\n\n\n<p>you can write the view content within the closure itself using the <code>response()<\/code> function to create a custom response directly in the route closure. Here&#8217;s how you can do it:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:19.799999237060547px;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1f1f1f\"><span style=\"background:#a37ced;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1f1f1f\">PHP<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"use Illuminate\\Support\\Facades\\Route;\n\nRoute::get('\/thank-you', function () {\n    $content = &quot;\n        &lt;!DOCTYPE html&gt;\n        &lt;html&gt;\n        &lt;head&gt;\n            &lt;title&gt;Thank You&lt;\/title&gt;\n        &lt;\/head&gt;\n        &lt;body&gt;\n            &lt;h1&gt;Thank you for your message!&lt;\/h1&gt;\n            &lt;p&gt;We appreciate your feedback.&lt;\/p&gt;\n            &lt;button onclick=\\&quot;window.location.href = '\/';\\&quot;&gt;Go Back to Homepage&lt;\/button&gt;\n        &lt;\/body&gt;\n        &lt;\/html&gt;\n    &quot;;\n\n    return response($content, 200)\n        -&gt;header('Content-Type', 'text\/html');\n});\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F97583\">use<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Illuminate<\/span><span style=\"color: #BBBBBB\">\\<\/span><span style=\"color: #79B8FF\">Support<\/span><span style=\"color: #BBBBBB\">\\<\/span><span style=\"color: #79B8FF\">Facades<\/span><span style=\"color: #BBBBBB\">\\<\/span><span style=\"color: #79B8FF\">Route<\/span><span style=\"color: #B392F0\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">Route<\/span><span style=\"color: #F97583\">::<\/span><span style=\"color: #B392F0\">get<\/span><span style=\"color: #BBBBBB\">(<\/span><span style=\"color: #FFAB70\">&#39;\/thank-you&#39;<\/span><span style=\"color: #BBBBBB\">,<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">function<\/span><span style=\"color: #B392F0\"> () {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    $content <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #FFAB70\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFAB70\">        &lt;!DOCTYPE html&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFAB70\">        &lt;html&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFAB70\">        &lt;head&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFAB70\">            &lt;title&gt;Thank You&lt;\/title&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFAB70\">        &lt;\/head&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFAB70\">        &lt;body&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFAB70\">            &lt;h1&gt;Thank you for your message!&lt;\/h1&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFAB70\">            &lt;p&gt;We appreciate your feedback.&lt;\/p&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFAB70\">            &lt;button onclick=\\&quot;window.location.href = &#39;\/&#39;;\\&quot;&gt;Go Back to Homepage&lt;\/button&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFAB70\">        &lt;\/body&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFAB70\">        &lt;\/html&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFAB70\">    &quot;<\/span><span style=\"color: #B392F0\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    <\/span><span style=\"color: #F97583\">return<\/span><span style=\"color: #B392F0\"> response<\/span><span style=\"color: #BBBBBB\">(<\/span><span style=\"color: #B392F0\">$content<\/span><span style=\"color: #BBBBBB\">,<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">200<\/span><span style=\"color: #BBBBBB\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">        <\/span><span style=\"color: #F97583\">-&gt;<\/span><span style=\"color: #B392F0\">header<\/span><span style=\"color: #BBBBBB\">(<\/span><span style=\"color: #FFAB70\">&#39;Content-Type&#39;<\/span><span style=\"color: #BBBBBB\">,<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #FFAB70\">&#39;text\/html&#39;<\/span><span style=\"color: #BBBBBB\">)<\/span><span style=\"color: #B392F0\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">}<\/span><span style=\"color: #BBBBBB\">)<\/span><span style=\"color: #B392F0\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>In this example, we&#8217;ve included the HTML content directly within the closure as a string and returned it as a response using the <code>response()<\/code> function. We set the HTTP status code to 200 (OK) and specify the content type as &#8216;text\/html&#8217;.<\/p>\n\n\n\n<p>This approach can be useful for simple cases where you want to define the view content directly in the route closure, but for more complex views or when you want to follow a more organized approach, it&#8217;s often better to use separate Blade view files as shown in the previous response.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2) <strong>Useful Laravel CLI Commands<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:19.79998779296875px;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1f1f1f\"><span style=\"background:#a37ced;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1f1f1f\">PHP<\/span><\/span><span role=\"button\" tabindex=\"0\" data-code=\"php artisan -version            | php artisan -V    |   php artisan key:generate  \nPHP artisan serve               | php artisan help  |   php artisan storage:link \nphp artisan down                | php artisan up    |   php artisan list\n\nphp artisan optimize            |  php artisan optimize:clear                  | php artisan config:clear\nphp artisan cache:clear         |  composer dump-autoload                      | php artisan route:clear\nphp artisan view:clear           \n\nphp artisan make:migration blog  | php artisan migrate   | php artisan migrate:rollback --step=1 \nphp artisan make:model DailyMotivation -m   | \nphp artisan make:model DailyMotivation -mcr     *try fs also\n\nLaravel Run Specific Migration\nphp artisan migrate --path=\/database\/migrations\/2019_12_04_131405_create_payments_table.php\n\n\nphp artisan make:seeder AdminTableSeeder    |  \nphp artisan make:controller SuperAdmin\/DailyMotivationalController  --resource\nphp artisan make:middleware UsersMiddleware |  php artisan queue:table\nphp artisan make:job SendEmailJob           |  php artisan make:event SendMail\nphp artisan make:listener SendMailFired --event=&quot;SendMail&quot;\n\nphp artisan make:provider ClientsServiceProvider | php artisan make:rule OlympicYear\nphp artisan make:auth | php artisan queue:work --tries=3 OR --once --queue=JobQueueName\nphp artisan make:mail |\nphp artisan migrate --pretend  * this will show query about to fired on migration \n\nLaravel 9 New Commands\n***********************\nphp artisan about  |  php artisan db:show (need doctrine\/dbal package) | php artisan db:table users  \nphp artisan stubs:publish\n\n    \n    With Laravel 9, you can &quot;php artisan docs yourquery&quot;!\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">php artisan <\/span><span style=\"color: #F97583\">-<\/span><span style=\"color: #B392F0\">version            <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\"> php artisan <\/span><span style=\"color: #F97583\">-<\/span><span style=\"color: #B392F0\">V    <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\">   php artisan key:generate  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">PHP artisan serve               <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\"> php artisan help  <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\">   php artisan storage:link <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan down                <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\"> php artisan up    <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\">   php artisan list<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan optimize            <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\">  php artisan optimize:clear                  <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\"> php artisan config:clear<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan cache:clear         <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\">  composer dump<\/span><span style=\"color: #F97583\">-<\/span><span style=\"color: #B392F0\">autoload                      <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\"> php artisan route:clear<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan view:clear           <\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan make:migration blog  <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\"> php artisan migrate   <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\"> php artisan migrate:rollback <\/span><span style=\"color: #F97583\">--<\/span><span style=\"color: #B392F0\">step<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #F8F8F8\">1<\/span><span style=\"color: #B392F0\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan make:model DailyMotivation <\/span><span style=\"color: #F97583\">-<\/span><span style=\"color: #B392F0\">m   <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan make:model DailyMotivation <\/span><span style=\"color: #F97583\">-<\/span><span style=\"color: #B392F0\">mcr     <\/span><span style=\"color: #F97583\">*try<\/span><span style=\"color: #B392F0\"> fs also<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">Laravel Run Specific Migration<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan migrate <\/span><span style=\"color: #F97583\">--<\/span><span style=\"color: #B392F0\">path<\/span><span style=\"color: #F97583\">=\/<\/span><span style=\"color: #B392F0\">database<\/span><span style=\"color: #F97583\">\/<\/span><span style=\"color: #B392F0\">migrations<\/span><span style=\"color: #F97583\">\/<\/span><span style=\"color: #F8F8F8\">2019_12_04_131405<\/span><span style=\"color: #B392F0\">_create_payments_table<\/span><span style=\"color: #F97583\">.<\/span><span style=\"color: #B392F0\">php<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan make:seeder AdminTableSeeder    <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan make:controller SuperAdmin<\/span><span style=\"color: #F97583\">\/<\/span><span style=\"color: #B392F0\">DailyMotivationalController  <\/span><span style=\"color: #F97583\">--<\/span><span style=\"color: #B392F0\">resource<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan make:middleware UsersMiddleware <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\">  php artisan queue:table<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan make:job SendEmailJob           <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\">  php artisan make:event SendMail<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan make:listener SendMailFired <\/span><span style=\"color: #F97583\">--<\/span><span style=\"color: #B392F0\">event<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #FFAB70\">&quot;SendMail&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan make:provider ClientsServiceProvider <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\"> php artisan make:rule OlympicYear<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan make:auth <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\"> php artisan queue:work <\/span><span style=\"color: #F97583\">--<\/span><span style=\"color: #B392F0\">tries<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #F8F8F8\">3<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">OR<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">--<\/span><span style=\"color: #B392F0\">once <\/span><span style=\"color: #F97583\">--<\/span><span style=\"color: #B392F0\">queue<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\">JobQueueName<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan make:mail <\/span><span style=\"color: #F97583\">|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan migrate <\/span><span style=\"color: #F97583\">--<\/span><span style=\"color: #B392F0\">pretend  <\/span><span style=\"color: #F97583\">*<\/span><span style=\"color: #B392F0\"> this will show query about to fired <\/span><span style=\"color: #79B8FF\">on<\/span><span style=\"color: #B392F0\"> migration <\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">Laravel <\/span><span style=\"color: #F8F8F8\">9<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">New<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">Commands<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">***********************<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan about  <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\">  php artisan db:show <\/span><span style=\"color: #BBBBBB\">(<\/span><span style=\"color: #B392F0\">need doctrine<\/span><span style=\"color: #F97583\">\/<\/span><span style=\"color: #B392F0\">dbal package<\/span><span style=\"color: #BBBBBB\">)<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #B392F0\"> php artisan db:table users  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">php artisan stubs:publish<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    With Laravel <\/span><span style=\"color: #F8F8F8\">9<\/span><span style=\"color: #BBBBBB\">,<\/span><span style=\"color: #B392F0\"> you can <\/span><span style=\"color: #FFAB70\">&quot;php artisan docs yourquery&quot;<\/span><span style=\"color: #F97583\">!<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>More Artisan commands : <a href=\"https:\/\/artisan.page\/\">https:\/\/artisan.page\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1) Writing view content within the closure you can write the view content within the closure itself using the response() function to create a custom response directly in the route closure. Here&#8217;s how you can do it: In this example, we&#8217;ve included the HTML content directly within the closure as a string and returned it [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[79],"tags":[44,3,80,4],"_links":{"self":[{"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/posts\/568"}],"collection":[{"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/comments?post=568"}],"version-history":[{"count":6,"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/posts\/568\/revisions"}],"predecessor-version":[{"id":603,"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/posts\/568\/revisions\/603"}],"wp:attachment":[{"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/media?parent=568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/categories?post=568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rishikantsri.in\/blog\/wp-json\/wp\/v2\/tags?post=568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}