<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: waziri ally amiri</title>
    <description>The latest articles on DEV Community by waziri ally amiri (@waziridev).</description>
    <link>https://dev.to/waziridev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1135123%2Fccd78a29-efc1-4e7b-b606-b5283cd3cf24.png</url>
      <title>DEV Community: waziri ally amiri</title>
      <link>https://dev.to/waziridev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/waziridev"/>
    <language>en</language>
    <item>
      <title>How to Use Laravel Blade Templating Engine with a Pure Vanilla PHP Project?</title>
      <dc:creator>waziri ally amiri</dc:creator>
      <pubDate>Wed, 17 Jul 2024 17:47:28 +0000</pubDate>
      <link>https://dev.to/waziridev/how-to-use-laravel-blade-templating-engine-with-a-pure-vanilla-php-project-5h1a</link>
      <guid>https://dev.to/waziridev/how-to-use-laravel-blade-templating-engine-with-a-pure-vanilla-php-project-5h1a</guid>
      <description>&lt;p&gt;Today, I challenged myself to implement a Laravel MVC (Model, View, Controller) approach using pure vanilla PHP. To tackle this, I utilized the standard Laravel Blade templating engine for the view part of the project, but without installing Laravel since my project is purely vanilla PHP. Here’s how I achieved this integration; &lt;/p&gt;

&lt;p&gt;I started by installing a package called &lt;strong&gt;Blade&lt;/strong&gt; by &lt;strong&gt;JensSegers&lt;/strong&gt; using the following Composer command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer require jenssegers/blade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This package allows the Blade templating engine to be used as a standalone package, making it compatible with any PHP project, not just Laravel.&lt;/p&gt;

&lt;p&gt;Next, I ran the following command to update the illuminate/view dependency of the package to version 11.7.0, as the package does not work correctly with versions below 11.7.0:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer require illuminate/view:11.7.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, I created a database called "pdotest" with a table called "post," which has columns "name" and "body." I populated this table with data ('this is post name from database displayed using Blade template engine', 'this is post body from database displayed using Blade template engine') respectively and connected to it by creating Database.php file in root of my project and put following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 


class Database {

    private $host = "localhost";
    private $database ="pdotest";
    private $username = "root" ;
    private $password =  '';

public function connect(){
    try {

        $conn = new PDO("mysql:host=$this-&amp;gt;host;dbname=$this-&amp;gt;database",$this-&amp;gt;username,$this-&amp;gt;password);

        // $conn-&amp;gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        // $conn = $conn-&amp;gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


        return $conn;

    } catch (PDOException $e) {

        echo "Connection failed: " . $e-&amp;gt;getMessage();

    }
}

}


?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, I created a directory called "Models" for all database manipulations. Inside this directory, I created a file named Post.php to handle operations on the "post" table. Within this file, I defined a method called post to retrieve a post by its ID, as shown below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
require './Database.php';

class Post {

   public $conn;

   private $table="post";

   public function __construct() {
    $this-&amp;gt;conn = (new Database)-&amp;gt;connect(); // Access directly (less secure)
}


public function getPost($id){

    $stmt= "SELECT * FROM $this-&amp;gt;table WHERE id = :id";

    $stmt =  $this-&amp;gt;conn-&amp;gt;prepare($stmt);

    $stmt-&amp;gt;bindParam(':id', $id, PDO::PARAM_INT);

    $stmt-&amp;gt;execute();

    return $result = $stmt-&amp;gt;fetch();

}


}


?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, I created index.php to act as a router, connecting my controller, view, and model. Inside it, I imported all my views and cache paths, which I will create for placing my Blade views and cache files. These paths were then passed to the Blade class, which comes with the Blade package we installed at the beginning. I then passed this Blade instance to the PostController class, which I will create, and called the post method of that class to get a post by its ID in the future.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php
require __DIR__ . '/vendor/autoload.php';
use Jenssegers\Blade\Blade;
require 'Controllers/ControllerPost.php';

$views = __DIR__ . '/views';

$cache = __DIR__ . '/cache';

if (!is_dir($cache)) {
    mkdir($cache, 0755, true);
}

$blade = new Blade($views, $cache);

// Simulate routing (In a real application, use a routing library)
$controller = new PostController($blade);

$controller-&amp;gt;post();

?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, I created a "controllers" directory at the root of my project. Inside it, I received the Blade variable from index.php (the router), called the getPost method of the Post model to get a post by its ID, and passed that post to a Blade view called "homepage."&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php 
require 'Models/Post.php';


class PostController{

  protected $blade;

    public function __construct($blade) {
        $this-&amp;gt;blade = $blade;
    }

  public function post(){

    $post = (new Post)-&amp;gt;getPost(1);

    echo $this-&amp;gt;blade-&amp;gt;render('homepage', ['post' =&amp;gt; $post]);


  }

}




?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, I created a directory called "views" and a file named homepage.blade.php at the root of the project. Inside this file, I simply displayed the name of the post passed from the PostController, as shown below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&amp;lt;h1&amp;gt;{{$post['name']}}&amp;lt;/h1&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, I created a "cache" directory in the root of my project to store Blade cache files, which helps to improve the performance of my project.&lt;/p&gt;

&lt;p&gt;Now, when you visit &lt;a href="http://localhost/laravel-blade-without-laravel/index.php" rel="noopener noreferrer"&gt;http://localhost/laravel-blade-without-laravel/index.php&lt;/a&gt; in your browser, you will see the name of the post displayed as "this is post name from database displayed using Blade template engine."&lt;/p&gt;

&lt;p&gt;Thank you for following along with this post on using the Laravel Blade templating engine in a pure vanilla PHP project. I hope it helps you in your development journey. My name is Waziri Ally Amiri, a web developer from Moshi, Tanzania. I specialize in working with Laravel and love to help others get started with this powerful framework. Feel free to reach out if you have any questions or need further assistance.&lt;/p&gt;

</description>
      <category>devblog</category>
      <category>laravel</category>
      <category>php</category>
      <category>waziridev</category>
    </item>
    <item>
      <title>Why you should never use the date validation rule without the data_format rule in Laravel</title>
      <dc:creator>waziri ally amiri</dc:creator>
      <pubDate>Fri, 10 Nov 2023 11:45:16 +0000</pubDate>
      <link>https://dev.to/waziridev/why-you-should-never-use-the-date-validation-rule-without-the-dataformat-rule-in-laravel-2jje</link>
      <guid>https://dev.to/waziridev/why-you-should-never-use-the-date-validation-rule-without-the-dataformat-rule-in-laravel-2jje</guid>
      <description>&lt;p&gt;Hellow fellow Artisan,&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;date&lt;/strong&gt; validation rule in Laravel checks that a field is a valid date. However, it does not specify the format of the date. This can lead to errors if the user enters the date in a different format than expected.&lt;/p&gt;

&lt;p&gt;Example if user enter incorrect date like this &lt;strong&gt;20000-02-20&lt;/strong&gt;  where instead of four digits(2000) for year five digit(200000)  set , this will cause your application to break with this error below. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j5G3EHVf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ldsf05u7gsw4uutpruc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j5G3EHVf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ldsf05u7gsw4uutpruc.png" alt="Image description" width="800" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To avoid your application from break , you should avoid using only &lt;strong&gt;date rule&lt;/strong&gt; like &lt;br&gt;
&lt;code&gt;'item.date_of_birth' =&amp;gt; 'required|date|before:' .today()-&amp;gt;subYears(7)-&amp;gt;format('Y-m-d')&lt;/code&gt;&lt;br&gt;
but you must use it with date_format() rule like this &lt;/p&gt;

&lt;p&gt;&lt;code&gt;'item.date_of_birth' =&amp;gt; 'required|date|date_format:Y-m-d|before:' .today()-&amp;gt;subYears(7)-&amp;gt;format('Y-m-d')&lt;/code&gt; &lt;br&gt;
so that instead of your application to break, user will get the validation error.&lt;/p&gt;

&lt;p&gt;Happy Coding !&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;About the Author&lt;/strong&gt;&lt;br&gt;
Hi there, I'm a Full Stack Developer based in Tanzania with a passion for Laravel, Livewire, VueJs, TailwandCss, and web development. As a freelancer, I'm always ready to take on exciting projects and collaborate on remote work related to Laravel.&lt;/p&gt;

&lt;p&gt;If you're looking for a dedicated Laravel developer who can help you bring your web application to life or enhance your existing Laravel project, feel free to reach out to me. I'm eager to work with you to create robust and innovative solutions for your business needs.&lt;/p&gt;

&lt;p&gt;You can contact me at [&lt;a href="mailto:wazirially1994@gmail.com"&gt;wazirially1994@gmail.com&lt;/a&gt;] or connect with me at [&lt;a href="https://github.com/WAZIRI123"&gt;https://github.com/WAZIRI123&lt;/a&gt;] and WhatsApp via:[+255653039317].&lt;/p&gt;

&lt;p&gt;Let's turn your Laravel project into a success story together!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to use multiple checkboxes in Livewire3</title>
      <dc:creator>waziri ally amiri</dc:creator>
      <pubDate>Fri, 10 Nov 2023 10:58:38 +0000</pubDate>
      <link>https://dev.to/waziridev/how-to-use-multiple-checkboxes-in-livewire3-1jpm</link>
      <guid>https://dev.to/waziridev/how-to-use-multiple-checkboxes-in-livewire3-1jpm</guid>
      <description>&lt;p&gt;Livewire is a powerful framework for building dynamic web applications. One of its features is the ability to easily bind checkboxes to Livewire properties. This allows you to create multiple checkbox inputs that are all bound to the same Livewire property, and the value of the property will be updated whenever any of the checkboxes are checked or unchecked.&lt;/p&gt;

&lt;p&gt;To use multiple checkboxes in Livewire version three, you can use the following steps:&lt;/p&gt;

&lt;p&gt;Create a public property in your Livewire component to store the values of the checkboxes. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public $classes = [];
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In your Blade view, loop through the checkbox options and generate a checkbox input for each option. Be sure to set the &lt;strong&gt;wire:model&lt;/strong&gt; attribute of the checkbox inputs to the name of your Livewire property. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@foreach ($classes as $c )
    &amp;lt;x-tall-crud-checkbox class="ml-2" wire:model="classes" value="{{$c-&amp;gt;id}}" /&amp;gt; {{$c-&amp;gt;name}}
@endforeach
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;the value of &lt;strong&gt;public $class&lt;/strong&gt; propery now will be the array contain array of class ids that user checked like this&lt;br&gt;&lt;br&gt;
&lt;code&gt;$class=[&lt;br&gt;
  0 =&amp;gt; 1&lt;br&gt;
  1 =&amp;gt; 2&lt;br&gt;
]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;so you can now do whatever you want with those array in your component.&lt;/p&gt;

&lt;p&gt;Happy Coding!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;About the Author&lt;/strong&gt;&lt;br&gt;
Hi there, I'm a Full Stack Developer based in Tanzania with a passion for Laravel, Livewire, VueJs, TailwandCss, and web development. As a freelancer, I'm always ready to take on exciting projects and collaborate on remote work related to Laravel.&lt;/p&gt;

&lt;p&gt;If you're looking for a dedicated Laravel developer who can help you bring your web application to life or enhance your existing Laravel project, feel free to reach out to me. I'm eager to work with you to create robust and innovative solutions for your business needs.&lt;/p&gt;

&lt;p&gt;You can contact me at [&lt;a href="mailto:wazirially1994@gmail.com"&gt;wazirially1994@gmail.com&lt;/a&gt;] or connect with me at [&lt;a href="https://github.com/WAZIRI123"&gt;https://github.com/WAZIRI123&lt;/a&gt;] and WhatsApp via:[+255653039317].&lt;/p&gt;

&lt;p&gt;Let's turn your Laravel project into a success story together!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Empowering Your Laravel Application with Custom Validation Rules</title>
      <dc:creator>waziri ally amiri</dc:creator>
      <pubDate>Wed, 08 Nov 2023 07:58:19 +0000</pubDate>
      <link>https://dev.to/waziridev/empowering-your-laravel-application-with-custom-validation-rules-575n</link>
      <guid>https://dev.to/waziridev/empowering-your-laravel-application-with-custom-validation-rules-575n</guid>
      <description>&lt;p&gt;Hello, fellow Artisan!&lt;br&gt;
Laravel's validation system is known for its comprehensive set of built-in rules that ensure data integrity and user input correctness. However, there are cases where these built-in rules might not cover your specific validation requirements. This is where custom validation rules step in, allowing you to tailor the validation process to your unique needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating Custom Validation Rules&lt;/strong&gt;&lt;br&gt;
To define a custom validation rule in Laravel, you'll need to use a special Laravel Artisan command called php artisan make:rule. Let's illustrate this with an example. Suppose you have an attribute called start_date in your Laravel validation attributes, and you want to ensure that this date is either today or in the future, but not in the past. Since Laravel doesn't provide a built-in rule for this, you can create a custom validation rule.&lt;/p&gt;

&lt;p&gt;To create your custom rule, run the following Artisan command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:rule StartDateBeforeToday
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command generates a Laravel class named &lt;strong&gt;StartDateBeforeToday&lt;/strong&gt;, which extends the &lt;strong&gt;ValidationRule&lt;/strong&gt; interface and includes a validate method. Here's what the class might look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;namespace App\Rules;

use Carbon\Carbon;
use Closure;
use Illuminate\Contracts\Validation\Rule;

class StartDateBeforeToday implements Rule
{
    public function validate($attribute, $value, $fail)
    {
        if (!(Carbon::parse($value)-&amp;gt;isToday() || Carbon::parse($value)-&amp;gt;isFuture())) {
            $fail('The :attribute must be a date that is today or in the future.');
        }
    }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside the validate method, you can implement your custom validation logic. In this case, we're using the &lt;strong&gt;Carbon library&lt;/strong&gt; to check if the date is today or in the future. If the validation fails, we call &lt;strong&gt;$fail&lt;/strong&gt; with the error message we want to display to the user.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using Your Custom Validation Rule&lt;/strong&gt;&lt;br&gt;
Now that you've created your custom validation rule, you can use it in your Laravel application. Here's an example of how to incorporate the StartDateBeforeToday rule into your validation logic:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$this-&amp;gt;validate([
    'item.name' =&amp;gt; ['required', 'string', 'max:255'],
    'item.slug' =&amp;gt; [
        'required', 'string', 'max:255',
        Rule::unique('exams', 'slug')-&amp;gt;ignore($this-&amp;gt;exam-&amp;gt;id)-&amp;gt;whereNull('deleted_at')
    ],
    'item.description' =&amp;gt; ['nullable', 'string'],
    'item.start_date' =&amp;gt; ['required', 'date', new StartDateBeforeToday],
    'item.end_date' =&amp;gt; ['required', 'date', 'after_or_equal:item.start_date'],
]);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the validation array, you can see how we apply the &lt;strong&gt;StartDateBeforeToday&lt;/strong&gt; rule to the item.start_date attribute. Laravel will automatically invoke your custom validation rule when validating the data, ensuring that the start_date is either today or in the future.&lt;/p&gt;

&lt;p&gt;Custom validation rules empower you to extend Laravel's validation capabilities to meet your specific requirements, making your application more robust and user-friendly.&lt;/p&gt;

&lt;p&gt;Happay Coding!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;About the Author&lt;/strong&gt;&lt;br&gt;
Hi there, I'm a Full Stack Developer based in Tanzania with a passion for Laravel, Livewire, VueJs, TailwandCss, and web development. As a freelancer, I'm always ready to take on exciting projects and collaborate on remote work related to Laravel.&lt;/p&gt;

&lt;p&gt;If you're looking for a dedicated Laravel developer who can help you bring your web application to life or enhance your existing Laravel project, feel free to reach out to me. I'm eager to work with you to create robust and innovative solutions for your business needs.&lt;/p&gt;

&lt;p&gt;You can contact me at [&lt;a href="mailto:wazirially1994@gmail.com"&gt;wazirially1994@gmail.com&lt;/a&gt;] or connect with me at [&lt;a href="https://github.com/WAZIRI123"&gt;https://github.com/WAZIRI123&lt;/a&gt;] and WhatsApp via:[+255653039317].&lt;/p&gt;

&lt;p&gt;Let's turn your Laravel project into a success story together!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>laravel</category>
      <category>livewire</category>
    </item>
    <item>
      <title>Waziri Livewire Toast: A Package to Display Toast Notifications in Laravel</title>
      <dc:creator>waziri ally amiri</dc:creator>
      <pubDate>Wed, 01 Nov 2023 11:40:55 +0000</pubDate>
      <link>https://dev.to/waziridev/waziri-livewire-toast-a-package-to-display-toast-notifications-in-laravel-28d2</link>
      <guid>https://dev.to/waziridev/waziri-livewire-toast-a-package-to-display-toast-notifications-in-laravel-28d2</guid>
      <description>&lt;p&gt;&lt;strong&gt;Waziri Livewire Toast&lt;/strong&gt; is a Laravel package that makes it easy to display toast notifications in your Livewire applications. It is based on the TALL Stack, which means that it uses Tailwind CSS, Alpine.js, and Livewire.&lt;/p&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;p&gt;To use Livewire Toast, you will need to have the following installed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Livewire&lt;/li&gt;
&lt;li&gt;TailwindCSS&lt;/li&gt;
&lt;li&gt;Alpine.js&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;To install Livewire Toast, run the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer require waziri123/waziri-livewire-toast:dev-master

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once Livewire Toast is installed, you need to publish the configuration files and views:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan vendor:publish --tag=config
php artisan vendor:publish --tag=views

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;

&lt;p&gt;To use Livewire Toast, simply add the following component to your app layout:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@livewire('livewire-toast')

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once you have added the component to your app layout, you can start displaying toast notifications by calling the following methods from your Livewire components, controllers, or views:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Livewire::emitTo('livewire-toast', 'show', 'Project Added Successfully'); // Will show a success message
Livewire::emitTo('livewire-toast', 'showError', 'There was an Error!'); // Will show an error message

// You can also specify the type and message of the toast notification as an array:
Livewire::emitTo('livewire-toast', 'show', ['type' =&amp;gt; 'warning', 'message' =&amp;gt; 'This is a warning!']);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Configurations
&lt;/h2&gt;

&lt;p&gt;Livewire Toast comes with a number of configuration options that you can customize to meet your needs. To view the configuration options, open the config/livewire-toast.php file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Troubleshooting
&lt;/h2&gt;

&lt;p&gt;If you are having trouble getting Livewire Toast to work, please check the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make sure that Livewire, Tailwind CSS, and Alpine.js are installed and configured correctly.&lt;/li&gt;
&lt;li&gt;Make sure that you have published the Livewire Toast configuration files and views.&lt;/li&gt;
&lt;li&gt;If you are using Tailwind CSS, make sure that you have purged your CSS.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Contributing
&lt;/h2&gt;

&lt;p&gt;Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.&lt;/p&gt;

&lt;h2&gt;
  
  
  Credits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Waziri123&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AscSoftwares&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;p&gt;Livewire Toast is licensed under the MIT license.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>livewire</category>
      <category>tailwindcss</category>
    </item>
    <item>
      <title>Tall CRUD Generator for Livewire v3</title>
      <dc:creator>waziri ally amiri</dc:creator>
      <pubDate>Mon, 23 Oct 2023 12:51:22 +0000</pubDate>
      <link>https://dev.to/waziridev/tall-crud-generator-for-livewire-v3-4a2d</link>
      <guid>https://dev.to/waziridev/tall-crud-generator-for-livewire-v3-4a2d</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;The Tall CRUD Generator is a Laravel package that generates Livewire components that support CRUD features without you having to write any code. It is a powerful tool that can help you to quickly and easily create CRUD interfaces for your Laravel applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;p&gt;The Tall CRUD Generator requires the following:&lt;/p&gt;

&lt;p&gt;Laravel&lt;br&gt;
Livewire&lt;br&gt;
TailwindCSS&lt;br&gt;
AlpineJS&lt;/p&gt;
&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;To install the Tall CRUD Generator, run the following command:&lt;/p&gt;

&lt;p&gt;composer require waziri123/waziri-tall-crud-generator:dev-master&lt;/p&gt;
&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;

&lt;p&gt;Once you have installed the Tall CRUD Generator, you can display the configuration page by including the Livewire component in any view:&lt;/p&gt;

&lt;p&gt;HTML&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@livewire('tall-crud-generator')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use code with caution. Learn more&lt;br&gt;
This will allow you to select the model and fields that you want to generate the CRUD interface for. You can also configure a number of other options, such as whether or not to include pagination, sorting, and searching.&lt;/p&gt;

&lt;p&gt;Once you have configured the CRUD interface, you can generate the code by clicking on the "Generate" button. The Tall CRUD Generator will generate a Livewire component and corresponding views for the CRUD interface. You can then add the Livewire component to your application's layout and start using the CRUD interface immediately.&lt;/p&gt;
&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;p&gt;The Tall CRUD Generator supports a wide range of features, including:&lt;/p&gt;

&lt;p&gt;Pagination&lt;br&gt;
Sorting&lt;br&gt;
Searching&lt;br&gt;
Add form in modal&lt;br&gt;
Edit form in modal&lt;br&gt;
Delete with modal confirmation&lt;br&gt;
Validations&lt;br&gt;
Configurable column order in listing&lt;br&gt;
Configurable field type for form&lt;br&gt;
Configurable order for form fields&lt;br&gt;
Flash messages&lt;br&gt;
Configurable number of records per page&lt;br&gt;
Dropdown to change number of records per page&lt;br&gt;
Relations: BelongsTo and BelongsToMany in listing and form&lt;br&gt;
Display related fields in the listing using eager loading&lt;br&gt;
Display count of related fields in the listing using eager loading count&lt;br&gt;
Ability for user to show/hide columns on listing&lt;br&gt;
Allow user to define filters&lt;br&gt;
Bulk action&lt;br&gt;
Date filters&lt;/p&gt;
&lt;h2&gt;
  
  
  Troubleshooting
&lt;/h2&gt;

&lt;p&gt;If you are having trouble with the Tall CRUD Generator, please check the following:&lt;/p&gt;

&lt;p&gt;Make sure that you have installed all of the required dependencies (Laravel, Livewire, TailwindCSS, and AlpineJS).&lt;br&gt;
Make sure that you have published the package's views:&lt;br&gt;
"&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan vendor:publish --provider="WAZIRITALLCRUDGENERATOR\TallCrudGeneratorServiceProvider" --tag=views
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;"&lt;/p&gt;

&lt;p&gt;If you are using TailwindCSS, make sure that you have compiled the TailwindCSS assets:&lt;br&gt;
"&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;"&lt;/p&gt;

&lt;p&gt;If you are still having trouble, please open an issue on the package's GitHub repository.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The Tall CRUD Generator is a powerful tool that can help you to quickly and easily create CRUD interfaces for your Laravel applications. It is easy to use and supports a wide range of features. If you are looking for a way to speed up the development of your Laravel applications, I highly recommend checking out the Tall CRUD Generator.&lt;/p&gt;

</description>
      <category>livewire</category>
      <category>laravel</category>
      <category>waziri</category>
    </item>
    <item>
      <title>Supercharging Node.js Dependencies with Bun in Your Laravel Project</title>
      <dc:creator>waziri ally amiri</dc:creator>
      <pubDate>Tue, 12 Sep 2023 06:02:02 +0000</pubDate>
      <link>https://dev.to/waziridev/supercharging-nodejs-dependencies-with-bun-in-your-laravel-project-41e1</link>
      <guid>https://dev.to/waziridev/supercharging-nodejs-dependencies-with-bun-in-your-laravel-project-41e1</guid>
      <description>&lt;p&gt;Introduction:&lt;br&gt;
Recently, I came across an exciting JavaScript tool that got me pumped up – Bun. It's a powerful "all-in-one toolkit for JavaScript and TypeScript apps" that can be considered a worthy alternative to NPM and Yarn, but with one notable difference – it's incredibly fast.&lt;/p&gt;

&lt;p&gt;In this blog post, we'll explore how you can leverage Bun as a replacement for NPM and Yarn in your local development environment and discover how it can supercharge your typical Laravel application.&lt;/p&gt;

&lt;p&gt;Installing Bun&lt;/p&gt;

&lt;p&gt;Getting Bun up and running is a breeze. Depending on your system, you can choose from the following installation methods:&lt;/p&gt;

&lt;p&gt;For Mac, Linux, or WSL Users:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -fsSL https://bun.sh/install | bash

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Homebrew Users:&lt;br&gt;
If you prefer to use Homebrew:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew tap oven-sh/bun
brew install bun

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Please note that Windows users can access an experimental native build of Bun, which comes with limited features for now, but it's a promising start. Features like adding, removing, and installing packages are not fully functional on Windows yet.&lt;/p&gt;

&lt;p&gt;Once Bun is successfully installed, you can confirm it by running the following command in your Terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bun --version

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Utilizing Bun&lt;/p&gt;

&lt;p&gt;Now that Bun is at your disposal, let's see how you can replace NPM and Yarn in your workflow. To demonstrate, we'll work with a fresh Laravel Jetstream application featuring Inertia and Vue.&lt;/p&gt;

&lt;p&gt;To install all dependencies from an existing package.json file, simply execute the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bun install

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Installing Dependencies with Bun&lt;/p&gt;

&lt;p&gt;Adding dependencies with Bun is just as straightforward as you're used to with Yarn or NPM. To install a new dependency, use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bun add [PACKAGE_NAME]

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you want it as a dev-dependency instead:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bun add -d [PACKAGE_NAME]

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And just like the install command, adding new dependencies is remarkably fast.&lt;/p&gt;

&lt;p&gt;Removing Dependencies&lt;/p&gt;

&lt;p&gt;Need to clean house and remove some dependencies? Bun has you covered there too. Use the rm or remove command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bun rm [PACKAGE_NAME]

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And there you have it! With Bun in your toolkit, you can replace NPM and Yarn, experiencing up to 33x faster performance. Happy coding!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Make Your Laravel Local Host Project Globally Accessible Using Ngrok for Client Showcases</title>
      <dc:creator>waziri ally amiri</dc:creator>
      <pubDate>Wed, 09 Aug 2023 13:58:22 +0000</pubDate>
      <link>https://dev.to/waziridev/how-to-make-your-laravel-local-host-project-globally-accessible-using-ngrok-for-client-showcases-454i</link>
      <guid>https://dev.to/waziridev/how-to-make-your-laravel-local-host-project-globally-accessible-using-ngrok-for-client-showcases-454i</guid>
      <description>&lt;p&gt;Introduction:&lt;br&gt;
In the world of web development, showcasing your work to clients is an essential part of the process. While developing a Laravel project locally provides a controlled environment, sharing your progress with clients or team members who are not physically present can be challenging. Enter Ngrok – a powerful tool that enables you to expose your local server to the internet securely. In this blog post, we'll guide you through the steps to make your Laravel localhost project globally accessible using Ngrok, ensuring smooth client showcases and collaboration.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Ngrok?
&lt;/h3&gt;

&lt;p&gt;Ngrok is a tunneling service that creates secure tunnels to your localhost, allowing you to expose your local server to the internet. It provides a temporary public URL that anyone can access, which is incredibly useful for sharing your work during development stages.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Installation and Setup
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Download and install Ngrok from the official website (&lt;a href="https://ngrok.com/download"&gt;https://ngrok.com/download&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Extract the downloaded file and place it in a directory of your choice.&lt;/li&gt;
&lt;li&gt;Open a terminal window and navigate to the directory where Ngrok is located.&lt;/li&gt;
&lt;li&gt;Authenticate your Ngrok account by running the command: &lt;code&gt;./ngrok authtoken YOUR_AUTH_TOKEN&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Step 2: Starting Your Laravel Project
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Navigate to your Laravel project directory in the terminal.&lt;/li&gt;
&lt;li&gt;Start your local Laravel development server by running: &lt;code&gt;php artisan serve&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Step 3: Creating a Public Tunnel with Ngrok
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;In the terminal, navigate to the directory where Ngrok is located.&lt;/li&gt;
&lt;li&gt;Create a public tunnel for your Laravel project by running: &lt;code&gt;./ngrok http 8000&lt;/code&gt; (assuming your Laravel server is running on port 8000).&lt;/li&gt;
&lt;li&gt;Ngrok will generate a temporary public URL (e.g., &lt;code&gt;http://randomstring.ngrok.io&lt;/code&gt;) that maps to your localhost.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Step 4: Sharing the Public URL
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Copy the Ngrok-generated public URL from the terminal.&lt;/li&gt;
&lt;li&gt;Share this URL with your clients or team members, allowing them to access your Laravel project from anywhere in the world.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Tips for a Smooth Client Showcase:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security Considerations&lt;/strong&gt;: While Ngrok provides a convenient way to share your local project, be cautious with sensitive data. Make sure to remove or secure any confidential information before sharing the URL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Debugging and Monitoring&lt;/strong&gt;: Ngrok offers a web interface (&lt;code&gt;http://localhost:4040&lt;/code&gt;) where you can monitor traffic, inspect requests, and view error logs. This can be immensely helpful for debugging during showcases.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ngrok Custom Subdomains&lt;/strong&gt;: Ngrok provides an option to create custom subdomains for your tunnels. This can make your URLs more user-friendly and professional. Refer to the Ngrok documentation for more details.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Usage Limits&lt;/strong&gt;: Keep in mind that Ngrok's free version has usage limitations. For extensive or long-term usage, consider upgrading to a paid plan.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Conclusion:&lt;br&gt;
Ngrok is a fantastic tool that empowers developers to make their local Laravel projects globally accessible, facilitating seamless client showcases and collaboration. By following the steps outlined in this guide, you can confidently share your progress with clients, receive feedback, and ensure that your projects meet their expectations, no matter where they are located. Remember to prioritize security and keep best practices in mind while utilizing Ngrok for your development workflow.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Getting Started with Laragon for Laravel Development</title>
      <dc:creator>waziri ally amiri</dc:creator>
      <pubDate>Tue, 08 Aug 2023 06:45:14 +0000</pubDate>
      <link>https://dev.to/waziridev/getting-started-with-laragon-for-laravel-development-io3</link>
      <guid>https://dev.to/waziridev/getting-started-with-laragon-for-laravel-development-io3</guid>
      <description>&lt;p&gt;Hey there, fellow developers! 🚀 Are you ready to dive into Laravel development using Laragon? Whether you're a seasoned Laravel developer or just starting out, Laragon can streamline your development process and make your life a whole lot easier. In this post, we'll walk you through the steps to get started with Laragon for Laravel development.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Laragon?
&lt;/h2&gt;

&lt;p&gt;Laragon is a powerful development environment and a great alternative to popular solutions like XAMPP or WAMP. It's lightweight, fast, and designed to simplify the process of setting up a local development environment for PHP applications, particularly Laravel projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before we get started, make sure you have the following components installed on your system:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Windows Operating System&lt;/strong&gt;: Laragon is specifically designed for Windows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PHP&lt;/strong&gt;: Laragon comes with various PHP versions that you can easily switch between.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Composer&lt;/strong&gt;: The PHP dependency manager, required for Laravel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Git&lt;/strong&gt;: Version control is essential for managing your Laravel projects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Laragon&lt;/strong&gt;: Download and install the latest version of Laragon from &lt;a href="https://laragon.org/download/"&gt;laragon.org&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Installing Laragon
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Download and Install Laragon&lt;/strong&gt;: Head over to the Laragon website and download the latest version of Laragon. Run the installer and follow the on-screen instructions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Choose PHP Version&lt;/strong&gt;: After installation, open Laragon and click on the PHP version in the top right corner. Select the desired PHP version for your Laravel project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create a New Project&lt;/strong&gt;: Click on the "Quick create" button in the Laragon interface. Enter your project name, and Laragon will set up a new folder for your project in the &lt;code&gt;www&lt;/code&gt; directory.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why Choose Laragon Over XAMPP and WampServer for Laravel Development?
&lt;/h2&gt;

&lt;p&gt;When it comes to setting up a local development environment for Laravel projects, you have several options available, including Laragon, XAMPP, and WampServer. While each of these solutions has its strengths, Laragon offers some compelling advantages that make it a standout choice for Laravel development. Let's explore why you should consider using Laragon over XAMPP and WampServer:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lightweight and Fast&lt;br&gt;
Laragon is known for its lightweight nature and impressive speed. Unlike XAMPP and WampServer, which bundle various components that you might not always need, Laragon focuses specifically on the tools necessary for Laravel development. This results in a faster and more streamlined environment that doesn't weigh down your system with unnecessary features.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Laravel-Focused Configuration&lt;br&gt;
Laragon is purpose-built for Laravel developers. It comes pre-configured with settings optimized for Laravel projects, including the latest PHP versions, Composer, and Git integration. This tailored setup saves you time and effort, allowing you to jump straight into coding without the need for extensive configuration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;User-Friendly Interface&lt;br&gt;
Laragon boasts a user-friendly and intuitive interface that simplifies the process of managing your development environment. With Laragon, you can easily switch between PHP versions, manage databases, enable SSL support, and perform other tasks through a clean and organized interface. This is particularly beneficial for developers who prefer a hassle-free experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SSL Support Out of the Box&lt;br&gt;
Developing secure applications is essential, and Laragon makes it easy by providing SSL support out of the box. Unlike XAMPP and WampServer, which might require additional configuration for SSL, Laragon simplifies the process, allowing you to work on HTTPS-enabled projects without the headache.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Database Management Made Simple&lt;br&gt;
Laragon simplifies database management by offering a user-friendly interface for creating, importing, and managing databases. This intuitive approach contrasts with XAMPP and WampServer, where database management might involve a steeper learning curve and more complex procedures.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Effortless Multiple PHP Versions&lt;br&gt;
Laragon allows you to effortlessly switch between different PHP versions for your projects. This feature is incredibly valuable for testing and ensuring compatibility with various Laravel versions and extensions. While XAMPP and WampServer also support multiple PHP versions, Laragon's seamless integration sets it apart.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Active Community and Regular Updates&lt;br&gt;
Laragon benefits from an active and passionate community of developers who contribute to its growth and improvement. Regular updates ensure that you have access to the latest features, bug fixes, and security enhancements, making Laragon a reliable choice for your ongoing Laravel projects.&lt;/p&gt;
&lt;h2&gt;
  
  
  Setting Up a Laravel Project
&lt;/h2&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open Terminal&lt;/strong&gt;: Launch the Laragon terminal by clicking on the "Terminal" button in the Laragon interface.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Install Laravel&lt;/strong&gt;: Use Composer to create a new Laravel project. In the terminal, navigate to your project folder using the &lt;code&gt;cd&lt;/code&gt; command and run:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   composer create-project &lt;span class="nt"&gt;--prefer-dist&lt;/span&gt; laravel/laravel &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Configuration&lt;/strong&gt;: Laragon comes with a &lt;code&gt;.env&lt;/code&gt; file already set up. Configure your database settings and any other necessary environment variables in this file.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Running Your Laravel Project
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Start Server&lt;/strong&gt;: In the Laragon interface, click on the "Start All" button to start the Apache and MySQL servers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Access Your Project&lt;/strong&gt;: Open your web browser and navigate to &lt;code&gt;http://project-name.test&lt;/code&gt;, where &lt;code&gt;project-name&lt;/code&gt; is the name you specified when creating the project in Laragon.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Bonus Tips
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Database Management&lt;/strong&gt;: Laragon provides a user-friendly interface for managing your databases. You can access it by clicking on the "Database" button in the Laragon interface.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SSL Support&lt;/strong&gt;: Laragon supports SSL out of the box, allowing you to develop and test secure applications locally.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Multiple PHP Versions&lt;/strong&gt;: Laragon makes it easy to switch between different PHP versions for your projects.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Congratulations! You're now equipped with the knowledge to set up a local Laravel development environment using Laragon. This powerful tool will undoubtedly boost your productivity and help you focus on what matters most: building amazing Laravel applications.&lt;/p&gt;

&lt;p&gt;If you have any questions, encounter issues, or want to share your own Laragon tips, feel free to join the conversation in the comments below. Happy coding! 🎉👨‍💻👩‍💻&lt;/p&gt;




&lt;p&gt;Is there anything you'd like to add or modify in this web post? Let me know, and I'll be happy to help!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
