Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Extended Laravel Laravel Package

open-southeners/extended-laravel

Adds handy Laravel extensions and helper utilities to streamline common tasks and reduce boilerplate. Designed as a lightweight add-on for projects needing extra convenience features beyond the core framework, with simple installation and integration.

View on GitHub
Deep Wiki
Context7

description: This package extends Laravel's framework facades with new useful methods.

Facades

Arr

exceptValues

Filter array shorthand by just excluding the values passed as second argument.

Arr::exceptValues([
    "hello" => "world",
    "foo" => "bar"
], "bar");

// ["hello" => "world"]

onlyValues

Filter array shorthand by just including the values passed as second argument.

Arr::onlyValues([
    "hello" => "world",
    "foo" => "bar"
], "world");

// ["hello" => "world"]

query

Write a URL query string from an array.

Arr::query([
    "q" => "this",
    "param2" => "value"
], "world");

// "?q=this&param2=value"

Collection

toCsv

Converts collection of items to CSV with its headers.

collect([
    [
        "name" => "Ruben Robles",
        "role" => "Admin"
    ],
    [
        "name" => "Taylor Otwell",
        "role" => "Admin"
    ]
])->toCsv(); // "name,role\nRuben Robles,Admin\nTaylor Otwell,Admin"

templateJoin

Join items of the collection using a template substitution.

collect([
    [
        "name" => "Ruben Robles",
        "email" => "ruben.robles@example.com"
    ],
    [
        "name" => "Taylor Otwell",
        "email" => "taylor.otwell@laravel.com"
    ]
])->templateJoin(":name (:email)"); // "Ruben Robles (ruben.robles@example.com), Taylor Otwell (taylor.otwell@laravel.com)"

Number

toShort

Get shorter version of a big number if possible.

Number::toShort(1000); // "1K"
Number::toShort(2200); // "2,2K"

toByteUnit

Get byte unit version of a number.

Number::toByteUnit(1000)->toKB(); // "1.00 KB"

Storage

humanSize

Get human readable file size at given path.

use OpenSoutheners\ByteUnitConverter\MetricSystem;

Storage::humanSize("path/file.png"); // "124.00 KB"
Storage::humanSize("path/file.png", MetricSystem::KiB); // "121.09 KiB"

Str

parseQuery

Parse a URL query string into an array.

Str::parseQuery("?q=search&param1=value"); // ["q" => "search", "param1" => "value"]

Str::of("?q=search&param1=value")->parseQuery();

isJsonStructure

Check if string contains a valid JSON structure.

Str::isJsonStructure('{"foo": "bar"}'); // true

Str::of('"bar"')->isJsonStructure(); // false

emailDomain

Get domain part from email address.

Str::emailDomain("ruben@example.com"); // "example.com"

Str::of("taylor.otwell@laravel.com")->emailDomain(); // "laravel.com"
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor