1. Go to this page and download the library: Download somnambulist/read-models 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/ */
somnambulist / read-models example snippets
use Doctrine\DBAL\DriverManager;
use Somnambulist\Components\ReadModels\Manager;
use Somnambulist\Components\ReadModels\TypeCasters\DoctrineTypeCaster;
new Manager(
[
User::class => $conn = DriverManager::getConnection(['url' => 'sqlite://db.sqlite']),
'default' => $conn,
],
[
new DoctrineTypeCaster($conn),
]
);
class User extends Model
{
protected string $table = 'users';
}
class User extends Model
{
protected string $table = 'tbl_users';
protected ?string $tableAlias = 'u';
protected string $primaryKey = 'uuid';
}
class User extends Model
{
protected function getUsernameAttribute($username)
{
return Str::capitalize($username);
}
}
// user:{username: bob was here} -> returns Bob Was Here
User::find(1)->username();
class User extends Model
{
protected function getAnniversayDayAttribute()
{
return $this->created_at->format('l');
}
}
// user:{created_at: '2019-07-15 14:23:21'} -> "Monday"
User::find(1)->anniversay_day;
User::find(1)->anniversayDay();
class User extends Model
{
public function anniversayDay()
{
return $this->created_at->format('l');
}
}
// user:{created_at: '2019-07-15 14:23:21'} -> "Monday"
User::find(1)->anniversayDay();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.