This package provides ActiveRecord library. It is used in Yii Framework but is supposed to be usable separately.
Packages | PHP | Versions | CI-Actions |
---|---|---|---|
[db-mssql] | 7.4 - 8.0 | 2017 - 2022 | |
[db-mysql] | 7.4 - 8.0 | 5.7 - 8.0 | |
[db-oracle] | 7.4 - 8.0 | 11 - 21 | |
[db-pgsql] | 7.4 - 8.0 | 9.0 - 15.0 | |
[db-sqlite] | 7.4 - 8.0 | 3:latest |
- PHP 8.1 or higher.
The package could be installed with Composer:
composer require yiisoft/active-record
Note: You must install the repository of the implementation to use.
Example:
composer require yiisoft/db-sqlite
web.php:
use Yiisoft\Db\Connection\ConnectionInterface;
use Yiisoft\Db\Sqlite\Connection;
use Yiisoft\Db\Sqlite\Driver;
/**
* config ConnectionInterface::class
*/
return [
ConnectionInterface::class => [
'class' => Connection::class,
'__construct()' => [
'driver' => new Driver($params['yiisoft/db-sqlite']['dsn']),
],
]
];
params.php
return [
'yiisoft/db-sqlite' => [
'dsn' => 'sqlite:' . dirname(__DIR__) . '/runtime/yiitest.sq3',
]
]
use Yiisoft\ActiveRecord\ActiveRecord;
/**
* Entity User.
*
* Database fields:
* @property int $id
* @property string $username
* @property string $email
**/
final class User extends ActiveRecord
{
public function getTableName(): string
{
return '{{%user}}';
}
}
use App\Entity\User;
use Psr\Http\Message\ResponseInterface;
final class Register
{
public function register(
User $user
): ResponseInterface {
/** Connected AR by di autowired. */
$user->setAttribute('username', 'yiiliveext');
$user->setAttribute('email', 'yiiliveext@mail.ru');
$user->save();
}
}
use App\Entity\User;
use Psr\Http\Message\ResponseInterface;
use Yiisoft\ActiveRecord\ActiveRecordFactory;
final class Register
{
public function register(
ActiveRecordFactory $arFactory
): ResponseInterface {
/** Connected AR by factory di. */
$user = $arFactory->createAR(User::class);
$user->setAttribute('username', 'yiiliveext');
$user->setAttribute('email', 'yiiliveext@mail.ru');
$user->save();
}
}
If you need help or have a question, the Yii Forum is a good place for that. You may also check out other Yii Community Resources.
The Yii Active Record Library is free software. It is released under the terms of the BSD License.
Please see LICENSE
for more information.
Maintained by Yii Software.