Skip to content

Instantly share code, notes, and snippets.

View MrPunyapal's full-sized avatar
🐰
Learning slowly

Punyapal Shah MrPunyapal

🐰
Learning slowly
View GitHub Profile
@MrPunyapal
MrPunyapal / HasLabel.md
Last active January 18, 2024 16:00
Enhance Laravel Enums with Human-Friendly Labels using HasLabel Trait

HasLabel.php Trait

namespace App\Concerns\Enums;
 
trait HasLabel
{
    public function label(): string
    {
        return str($this->name)
@MrPunyapal
MrPunyapal / RefactoredTest.php
Last active January 17, 2024 16:04
test with seeders
<?php
use App\Models\Team;
use App\Models\User;
use Database\Seeders\RoleAndPermissionSeeder;
use Database\Seeders\TeamSeeder;
use Database\Seeders\UserSeeder;
use function Pest\Laravel\actingAs;
use function Pest\Laravel\get;
@MrPunyapal
MrPunyapal / LivewireTeleportGlitch.md
Last active January 17, 2024 16:04
Solution to pesky @teleport glitch during compilation!

Teleport diractive issue

If you encounter caching issues with your @teleport Livewire/Blade directive after running php artisan view:cache, you may notice problems appearing instead of the expected compilation.

image

To resolve this issue, manually add compilation to the Blade directive.

class AppServiceProvider extends ServiceProvider
@eusonlito
eusonlito / generateUniqueSlug.php
Created November 30, 2023 12:34
Generate unique slugs
<?php
protected static function generateUniqueSlug(string $title): string
{
$slug = str_slug($title);
if (static::query()->where('slug', $slug)->doesntExist()) {
return $slug;
}
@MrPunyapal
MrPunyapal / GenerateUniqueSlug.php
Created November 29, 2023 16:40
Efficient Laravel Slug Generation: Unique, Sleek, and No Looping 🚀
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
class Blog extends Model
{
@MrPunyapal
MrPunyapal / StringMagic.php
Created November 28, 2023 15:48
Exploring PHP 8.3: Alphanumeric String Magic ✨
<?php
// PHP 8.3 introduces exciting new functions for
// incrementing and decrementing alphanumeric strings!
// Let's dive into some examples to see how they work.
// str_increment — Increment an alphanumeric string
echo str_increment("a") . PHP_EOL; // b
@MrPunyapal
MrPunyapal / SetTestNow.php
Last active November 27, 2023 16:25
Temporal Tricks with Carbon: A PHP Gist Featuring hasTestNow() and setTestNow()
<?php
// 🎉 Birthday Check Function 🚀
use Carbon\Carbon;
function checkBirthday($birthday)
{
return Carbon::now()->isSameDay($birthday)
? "🎉🥳 Happy Birthday! 🎂 Best wishes for an amazing year ahead! 🚀"
: "🎈 No birthday today. Make it an awesome day anyway! 🌟";
}
@MrPunyapal
MrPunyapal / PostList.php
Created November 20, 2023 15:53
Optimized Load More Laravel livewire
<?php
namespace App\Livewire;
use App\Models\Post;
use Livewire\Component;
class PostList extends Component
{
public $offset = 0;
@MrPunyapal
MrPunyapal / ExportReportsLiveiwre.php
Last active November 27, 2023 08:35
Exporting CSV Reports with Renderless Livewire Component
<?php
namespace App\Http\Livewire;
use Livewire\Component;
use Livewire\Attributes\Renderless;
use App\Traits\HasFilteredReports;
class Reports extends Component
{
@MrPunyapal
MrPunyapal / BelongsToTeam.php
Last active March 20, 2025 07:02
Enhance Laravel Access Control with 'BelongsToTeam' Trait: Simplify Team-Based Permissions
<?php
namespace App\Traits\Models;
use App\Models\Team;
use Illuminate\Database\Eloquent\Builder;
trait BelongsToTeam
{
// This method is executed when a new model is being created.