kristoreed / laminas-dictionary
Laminas 字典
1.0.1
2021-02-01 18:20 UTC
Requires
- php: >=7.2
- kristoreed/laminas-db-manager: ^1.1
This package is auto-updated.
Last update: 2024-09-06 14:05:48 UTC
README
Laminas-dictionary 是一个具有简单 CRUD 功能的仓库类,可作为更复杂数据库字典的基础。此包基于 kristoreed/laminas-db-manager
安装
使用包管理器 composer 安装 laminas-dictionary。
composer require kristoreed/laminas-dictionary
基本用法
use Kristoreed\Laminas\DbManager\Query\Executor\Executor as QueryExecutor; $dbAdapter = new Adapter([ 'driver' => 'pdo', 'dsn' => 'mysql:dbname=test;host=localhost', 'username' => 'admin', 'password' => 'admin', ]); $queryExecutor = new QueryExecutor($dbAdapter); $userRepository = new Dictionary($queryExecutor); $userRepository->setTableName('users'); $user = $userRepository->getElementById(404);
扩展用法
class User extends Dictionary implements UserInterface { /** * @var string */ protected $tableName = 'users'; /** * @var QueryExecutorInterface */ protected $queryExecutor; /** * User constructor * * @param QueryExecutorInterface $queryExecutor */ public function __construct(QueryExecutorInterface $queryExecutor) { parent::__construct($queryExecutor); $this->queryExecutor = $queryExecutor; } /** * @param string $elementEmail * * @return array * * @throws ExecutorException */ public function getElementByEmail(string $elementEmail): array { $select = new Select(); $select ->from(['u' => $this->tableName]) ->columns(['*']) ->where([ 'email' => $elementEmail ]); return $this->queryExecutor->getRow($select); } } $dbAdapter = new Adapter([ 'driver' => 'pdo', 'dsn' => 'mysql:dbname=test;host=localhost', 'username' => 'admin', 'password' => 'admin', ]); $queryExecutor = new QueryExecutor($dbAdapter); $userRepository = new User($queryExecutor); $user = $userRepository->getElementByEmail("user404@gmail.com");