carry0987 / sanite
一个使用PDO提供的基CRUD结构和方法的PHP库。
1.3.7
2024-06-26 15:56 UTC
Requires
- php: >=8.0
Requires (Dev)
- phpunit/phpunit: ^11.2
README
Sanite是一个PHP库,它提供了一个基于PDO的基CRUD结构和方法。
入门指南
请确保已经安装了Sanite。如果没有安装,可以使用以下命令进行安装:
composer require carry0987/sanite
安装完成后,您可以将Sanite包含到您的项目中并开始使用。
建立数据库连接
使用Sanite建立数据库连接
use carry0987\Sanite\Sanite; // Database connection settings $config = array( 'host' => 'mariadb', 'database' => 'dev_sanite', 'username' => 'test_user', 'password' => 'test1234', 'port' => 3306, // Optional 'charset' => 'utf8mb4' // Optional ); // Create a database connection $sanite = new Sanite($config);
使用数据模型
创建自己的数据模型以执行CRUD操作。以下是一个使用UserModel检索用户数据的示例。
首先,确保您的模型扩展了DataReadModel(或相应的DataCreateModel、DataDeleteModel、DataUpdateModel)
namespace carry0987\Sanite\Example; use carry0987\Sanite\Models\DataReadModel; class UserModel extends DataReadModel { // Implement your methods, for example: public function getUserById(int $userId) { $queryArray = [ 'query' => 'SELECT * FROM user WHERE uid = ? LIMIT 1', 'bind' => 'i', // This value needs to be relative when using DBUtil::getPDOType ]; $dataArray = [$userId]; return $this->getSingleData($queryArray, $dataArray); } public function getAllUsers() { $queryArray = [ 'query' => 'SELECT * FROM user' ]; return $this->getMultipleData($queryArray); } }
然后,您可以使用您的模型如下所示
use carry0987\Sanite\Example\UserModel; // Instantiate UserModel $userModel = new UserModel($sanite); // Retrieve user information for user with ID 1 $user = $userModel->getUserById(1); $users = $userModel->getAllUsers(); print_r($user); print_r($users);
异常处理
Sanite定义了一个特定的异常类DatabaseException。请在您的代码中捕获并适当处理它。
try { // ... attempt some database operations ... } catch (\carry0987\Sanite\Exceptions\DatabaseException $e) { // ... handle database exception ... echo "Error: " . $e->getMessage(); }