PHP code example of teksite / extralaravel

1. Go to this page and download the library: Download teksite/extralaravel library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

teksite / extralaravel example snippets




return [
    // Other providers
    Teksite\Extralaravel\ExtraLaravelServiceProvider::class,
];

'providers' => [
    // Other Service Providers
    Teksite\Extralaravel\ExtraLaravelServiceProvider::class,
],


return [

    'honeypot' => [
        'enabled' => true,
        'status' => 403,
        'field_name' => env('HONEYPOT_FIELD_NAME', 'honeypot'),
    ],

    'data_path' => '/app/data',


];

use Teksite\Extralaravel\Casts\IpCast;

protected $casts = [
    'ip' => IpCast::class,
];

$model->ip = null;
$model->save();

$model->ip = '192.168.1.10';

use Teksite\Extralaravel\Casts\JalaliDateCast;

protected $casts = [
    'published_at' => JalaliDateCast::class,
];

app()->setLocale('fa');

dateToJalali()
dateToGregorian()

use Teksite\Extralaravel\Casts\SlugCast;

protected $casts = [
    'slug' => SlugCast::class,
];

$post->slug = 'My Awesome Post';
$post->save();

use Teksite\Extralaravel\Rules\CodeMeliRule;

$request->validate([
    'national_code' => [
        '

use Teksite\Extralaravel\Rules\MobileRule;

$request->validate([
    'mobile' => [
        '

new MobileRule()

new MobileRule('iran')

new MobileRule([
    'iran',
    'germany',
])

use Teksite\Extralaravel\Rules\PasswordRule;

$request->validate([
    'password' => [
        '

use Teksite\Extralaravel\Rules\NoHtmlRule;

$request->validate([
    'name' => [
        '

use Teksite\Extralaravel\Rules\NeverPassRule;

$request->validate([
    'field' => [
        new NeverPassRule(),
    ],
]);

Teksite\Extralaravel\Http\ApiFormRequest

namespace App\Http\Requests;

use Teksite\Extralaravel\Http\ApiFormRequest;

class StoreUserRequest extends ApiFormRequest
{
    public function rules(): array
    {
        return [
            'name' => ['

use Teksite\Extralaravel\Traits\MustVerifyPhone;

class User extends Authenticatable
{
    use MustVerifyPhone;

    // ...
}

$user->hasVerifiedPhone();

true

false

$user->markPhoneAsVerified();

$user->markPhoneAsUnverified();

$user->getPhoneForVerification();

$user->phone

public function sendPhoneVerificationNotification(): void
{
    // Send SMS or verification notification
}

Illuminate\Database\Eloquent\SoftDeletes

use Teksite\Extralaravel\Traits\TrashMethods;

class UserTrashManager
{
    use TrashMethods;

    protected function getModelClass(): string
    {
        return User::class;
    }
}

$manager->trashCount();

$manager->getTrashes();

$manager->getTrashes(
    perPage: 50
);

$manager->restoreOne(10);

$manager->restore([10, 20, 30]);

$manager->restoreAll();

$manager->wipeOne(10);

$manager->wipe([10, 20, 30]);

$manager->wipeAll();

use App\Http\Controllers\UserController;

Route::trashResource(
    'users',
    UserController::class
);

public function index()
{
    //
}

public function reinstate($id)
{
    //
}

public function prune($id)
{
    //
}

public function restore()
{
    //
}

public function flush()
{
    //
}

Route::trashResource(
    'users',
    UserController::class,
    [
        'middleware' => ['auth'],
    ]
);

Route::trashResource(
    'users',
    UserController::class,
    [
        'prefix' => 'admin',
    ]
);

Route::trashResource(
    'users',
    UserController::class,
    [
        'as' => 'admin.users',
    ]
);

Route::trashResource(
    'users',
    UserController::class,
    [
        'only' => [
            'index',
            'restore',
        ],
    ]
);

Route::trashResource(
    'users',
    UserController::class,
    [
        'except' => [
            'flush',
        ],
    ]
);

Teksite\Extralaravel\Http\ApiFormRequest

'honeypot' => [

    'enabled' => true,

    'status' => 403,

    'field_name' => env(
        'HONEYPOT_FIELD_NAME',
        'honeypot'
    ),

],

changeToSlug('My Awesome Post');

changeToSlug(
    'My Awesome Post',
    '_'
);

toEnglishNumber('۱۲۳۴۵');

toEnglishNumber('١٢٣٤٥');

normalizePersianText('ي ك ة');

convertSeconds(3661);

convertSeconds(
    3661,
    'array'
);

[
    'hours' => 1,
    'minutes' => 1,
    'seconds' => 1,
]

currentUrlWithoutQueries();

exploding('one,two،three');

var_export_short($data);

$output = var_export_short(
    $data,
    true
);

arrayToDot('users[0][name]');

dotToArray('users.0.name');

normalizePath(
    'foo/bar\\baz'
);

is_rtl('fa');

true

is_rtl();

get_error(
    $errors,
    'users[0][email]'
);



return [
    'timezone' => 'Asia/Tehran',
];

getStaticData(
    'app.data.times.iran.tehran.timezone'
);

getStaticData(
    'app.data.unknown',
    'default value'
);
bash
php artisan vendor:publish --provider="Teksite\Extralaravel\ExtraLaravelServiceProvider"
bash
php artisan make:request-api StoreUserRequest
bash
php artisan make:request-api Admin/StoreUserRequest
bash
php artisan make:logic UserLogic
bash
php artisan make:logic User/UserLogic
bash
php artisan make:controller-trash UserController
bash
php artisan make:controller-trash UserController --api
bash
php artisan cache:purge
bash
php artisan cache:purge --dry-run
bash
php artisan cache:purge --force
bash
php artisan cache:purge --limit=500
bash
php artisan cache:purge --skip-database
bash
php artisan cache:purge --skip-files
bash
php artisan cache:purge --skip-tokens
bash
php artisan cache:purge --connection=mysql
text
01:01:01
text
app/
├── data/
│   └── times/
│       └── canada/
│           └── torentu.php
text
app/
├── Http/
│   ├── Controllers/
│   │   └── UserController.php
│   │
│   └── Requests/
│       └── StoreUserRequest.php
│
└── Logics/
    └── UserLogic.php