PHP code example of jiannius / atom
1. Go to this page and download the library: Download jiannius/atom 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/ */
jiannius / atom example snippets
// app/Livewire/Customers/Create.php
namespace App\Livewire\Customers;
use Jiannius\Atom\Traits\AtomComponent;
use Livewire\Component;
class Create extends Component
{
use AtomComponent;
public $name;
public $email;
public $bio;
public function breadcrumbs($crumbs)
{
return $crumbs
->home('Dashboard', route('home'))
->push('Customers', route('customers.index'))
->push('New Customer');
}
public function save()
{
$this->validate([
'name' => '
app('atom')->modal('confirm-delete')->show();
app('atom')->modal('details')->slide('right'); // slide-over
app('atom')->modal('details')->close();
app('atom')->toast('Saved.', variant: 'success', delay: 4000);
app('atom')->alert(
heading: 'Heads up',
message: 'Your subscription expires tomorrow.',
variant: 'warning',
button: 'Got it',
);
app('atom')->confirm(
heading: 'Delete customer?',
message: 'This cannot be undone.',
buttonConfirm: 'Delete',
password: true, // )->version('atom.js'); // → /atom/atom-{hash}.js
app('atom')->sitemap();
app('atom')->broadcast();
t('Welcome :name', ['name' => $user->name]);
t('item.count', 5); // → trans_choice
num(1234.5)->currency('USD'); // → "USD 1,234.50"
num(2048)->filesize(); // → "2 MB"
num(1500000)->currency('USD', abbreviate: true); // → "USD 1.5M"
$this->modal('name-of-modal')->show();
$this->toast('Saved!');
$this->alert(message: 'Done.');
$this->confirm(message: 'Sure?', onAccepted: 'doIt');
$this->action('Foo.Bar', $params);
$this->wirekey('row', $id); // stable md5 key for wire:key
enum OrderStatus: string {
use \Jiannius\Atom\Traits\Enum;
case NEW = 'new';
case PAID = 'paid';
case CANCELLED = 'cancelled';
}
OrderStatus::all(); // collection of cases (filters out TRASHED)
OrderStatus::get('paid'); // → OrderStatus::PAID
OrderStatus::PAID->label(); // → "Paid" (headline of value)
OrderStatus::PAID->color(); // → "green" (sensible mapping by value)
OrderStatus::PAID->toArray(); // → ['value' => ..., 'label' => ..., 'color' => ...]
OrderStatus::PAID->is('paid', OrderStatus::NEW);
User::query()->whereDateBetween('created_at', '2025-01-01 to 2025-12-31');
$q->toPage(2, 50); // paginate to page 2, 50 per page
$q->toTable(); // paginate using $_table state from <atom:table>
$q->filter(['search' => 'tj', 'status:!=' => 'archived']);
$q->breakdown($diff, $start); // group-by year/month/day for charts
$q->randomCode(8, 'code'); // unique random code
User::query()->tableColumns(); // cached SHOW COLUMNS
User::query()->tableHasColumn('email');
User::query()->tableColumnType('created_at');
request()->portal(); // → 'auth' | 'admin' | 'app' | etc., derived from route name
request()->portal('admin'); // → boolean
request()->subdomain(); // → "client" from "client.app.test"
request()->hostWithoutSubdomain();
request()->isLivewireRequest();
str('foo.bar')->namespace(); // → "Foo\Bar"
str('App\Models\User')->dotpath(); // → "App.Models.User"
str('3 months')->interval(); // → "Quarterly"
str()->initials('Tan Joon Long'); // → "TJ"
Arr::pick(['xs' => false, 'sm' => true, 'lg' => false]); // → "sm"
use Jiannius\Atom\Casts\AsEditorContent;
class Article extends Model
{
protected $casts = [
'body' => AsEditorContent::class,
];
}
// app/Actions/Customer/Search.php
namespace App\Actions\Customer;
class Search
{
public function handle($params)
{
return \App\Models\Customer::query()
->where('name', 'like', '%'.$params['q'].'%')
->take(10)
->get();
}
}
t('Save changes'); // → __('Save changes')
t('item.count', 5); // → trans_choice('item.count', 5)
t('Hello :name', ['name' => $user]); // → __('Hello :name', ['name' => $user])
bash
php artisan atom:purge-editor-images # dry-clean (move to editor-purged/)
php artisan atom:purge-editor-images --force # delete the editor-purged/ backup