PHP code example of thepublicgood / is-presentable
1. Go to this page and download the library: Download thepublicgood/is-presentable 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/ */
thepublicgood / is-presentable example snippets
<p>{{ $model->created_at }}</p>
namespace App\Models\Models;
use Illuminate\Database\Eloquent\Model;
use TPG\IsPresentable\Traits\IsPresentable;
class User extends Model {
use IsPresentable;
// ...
}
namespace App\Http\Presenters;
use App\Models\User;
use TPG\IsPresentable\Presentable;
class CreatedAtPresentable extends Presentable
{
public function render(): string
{
return $this->model->created_at->format('d F Y H:i a');
}
}
use App\Http\Presenters\CreatedAtPresentable;
class User extends Model {
use IsPresentable;
protected $presentables = [
'created_at' => CreatedAtPresentable::class,
];
// ...
}
<p>{{ $user->presentable()->created_at }}</p>
public function presentableUsername(): ?string
{
return Str::slug($this->name);
}
trait UserPresenter
{
use IsPresentable;
public function presentableUsername(): ?string
{
// ...
}
}
class User extends Authenticatable
{
use UserPresenter;
// ...
}
class UsernamePresentable extends Presenter implements IsHidden
{
// ..
}
class User extends Model
{
protected $presentables = [
'created_at' => DatePresentable::class,
'updated_at' => DatePresentable::class,
];
class DatePresenter extends Presentable
{
public function render(): string|null
{
return $this->model->{$this->attribute};
}
}
class User extends Model
{
use IsPresentable;
$presentables = [
'created_at' => [
DatePresenter::class,
'd F Y'
],
];
}
class DatePresenter extends Presentable
{
public function render(): string|null
{
return $this->model->{$this->attribute}->format($this->option);
}
}
class User extends Model
{
use IsPresentable;
protected $presentables = [
'created_at' => [
DatePresentable::class,
[
'Africa/Johannesburg',
'd F Y',
],
],
];
class User extends Model
{
use IsPresentable;
public function getPresentables(): array
{
return [
'created_at' => DatePresentable::class,
];
}
return [
'defaults' => [
'created_at' => [
DatePresentable::class,
[
'Africa/Johannesburg',
'd F Y',
],
],
],
],