Maison cadre php PensezPHP Comment utiliser ThinkPHP6 pour implémenter ORM afin de vérifier automatiquement les opérations de base de données

Comment utiliser ThinkPHP6 pour implémenter ORM afin de vérifier automatiquement les opérations de base de données

Jun 20, 2023 pm 09:12 PM
thinkphp orm 自动验证

À mesure que les fonctionnalités des applications Web continuent de croître, les développeurs doivent souvent passer beaucoup de temps à rédiger des règles de validation de bases de données. Grâce au framework ORM (Object Relational Mapping), les règles de validation de base de données et la logique métier peuvent être séparées, ce qui permet de gagner du temps et d'améliorer l'efficacité du développement. Parmi eux, ThinkPHP6 fournit une fonction de vérification automatique, qui peut nous aider à mettre en œuvre rapidement les opérations de vérification automatique de la base de données ORM. Ensuite, nous présenterons comment utiliser ThinkPHP6 pour implémenter les opérations de base de données de vérification automatique ORM.

  1. Installez ThinkPHP6

Tout d'abord, nous devons installer ThinkPHP6. Vous pouvez utiliser Composer pour installer ThinkPHP6 via la commande suivante :

composer create-project topthink/think tp6 --prefer-distcomposer create-project topthink/think tp6 --prefer-dist

当然,也可以到ThinkPHP6的官方网站(https://www.thinkphp.cn)下载最新的框架源代码。

  1. 配置数据库连接

在实现ORM自动验证之前,我们需要先配置数据库连接。可以在项目根目录下的config/database.php中进行配置,例如:

return [
    // 数据库类型
    'type'            => 'mysql',
    // 数据库连接DSN配置
    'dsn'             => '',
    // 服务器地址
    'hostname'        => '127.0.0.1',
    // 数据库名
    'database'        => 'test',
    // 数据库用户名
    'username'        => 'root',
    // 数据库密码
    'password'        => 'password',
    // 数据库连接端口
    'hostport'        => '3306',
    // 数据库连接参数
    'params'          => [],
    // 数据库编码默认采用utf8
    'charset'         => 'utf8',
    // 数据库表前缀
    'prefix'          => '',
    // 数据库调试模式
    'debug'           => true,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'          => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate'     => false,
    // 读写分离后 主服务器数量
    'master_num'      => 1,
    // 指定从服务器序号
    'slave_no'        => '',
    // 是否严格检查字段是否存在
    'fields_strict'   => true,
    // 数据集返回类型
    'resultset_type'  => 'array',
    // 是否自动写入时间戳字段
    'auto_timestamp'  => false,
    // 是否需要进行SQL性能分析
    'sql_explain'     => false,
    // 开启断线重连
    'break_reconnect' => true,
];
Copier après la connexion
  1. 创建和使用模型

在ThinkPHP6中,使用模型来与数据库进行交互。可以通过以下命令来创建一个模型:

php bin/think make:model Test

这条命令会在app目录下创建Test.php文件,其中包含了一个空的模型类Test。我们可以在这个类中指定数据库操作表名、主键名称、自动时间戳等定义。例如:

<?php
namespace appmodel;
use thinkModel;
class Test extends Model
{
    // 指定表名
    protected $table = 'test';
    // 指定主键名
    protected $pk = 'id';
    // 自动时间戳
    protected $autoWriteTimestamp = true;
}
Copier après la connexion

在这个模型类中,我们还可以定义一些数据验证规则。例如:

<?php
namespace appmodel;
use thinkModel;
class Test extends Model
{
    // 指定表名
    protected $table = 'test';
    // 指定主键名
    protected $pk = 'id';
    // 自动时间戳
    protected $autoWriteTimestamp = true;

    // 定义验证规则
    protected $validate=[
        'name'=>'require|max:10',
        'age'=>'require|integer|between:1,100',
        'email'=>'email',
    ];
}
Copier après la connexion

在这个例子中,我们定义了三个验证规则:name必需、最大长度为10;age必需、必需为整数、取值为1到100之间;email必需为电子邮件格式。这些规则将在模型数据操作时自动进行验证。

  1. 使用自动验证功能

在使用模型进行数据库操作时,我们只需要调用对应的方法即可,例如:

// 添加数据
$data = [
    'name' => '张三',
    'age'  => '18',
    'email'=> 'zhangsan@test.com',
];
$model = new Test;
$result = $model->save($data);
if ($result) {
    echo '数据添加成功';
} else {
    echo '数据添加失败';
}

// 更新数据
$data = [
    'id'   => 1,
    'name' => '李四',
    'age'  => '20',
    'email'=> 'lisi@test.com',
];
$model = new Test;
$result = $model->save($data, ['id' => 1]);
if ($result) {
    echo '数据更新成功';
} else {
    echo '数据更新失败';
}

// 删除数据
$model = new Test;
$result = $model->destroy(1);
if ($result) {
    echo '数据删除成功';
} else {
    echo '数据删除失败';
}

// 查询数据
$model = new Test;
$result = $model->where('id', 1)->find();
if ($result) {
    echo '数据查询成功';
} else {
    echo '数据查询失败';
}
Copier après la connexion

在使用这些方法时,ThinkPHP6会自动根据模型中定义的验证规则进行验证。如果验证失败,则会抛出异常并返回失败原因。

  1. 自定义验证消息

在自动验证中,我们可以通过在模型类中添加静态属性message

Bien sûr, vous pouvez également vous rendre sur le site officiel de ThinkPHP6 ( https://www.thinkphp.cn) pour télécharger le dernier code source du framework.

    Configurer la connexion à la base de données

    Avant de mettre en œuvre la vérification automatique ORM, nous devons d'abord configurer la connexion à la base de données. Il peut être configuré dans config/database.php dans le répertoire racine du projet, par exemple :

    <?php
    namespace appmodel;
    use thinkModel;
    class Test extends Model
    {
        // 指定表名
        protected $table = 'test';
        // 指定主键名
        protected $pk = 'id';
        // 自动时间戳
        protected $autoWriteTimestamp = true;
    
        // 定义验证规则
        protected $validate=[
            'name'=>'require|max:10',
            'age'=>'require|integer|between:1,100',
            'email'=>'email',
        ];
    
        // 定义验证失败消息
        protected $message = [
            'name.require'  => '姓名不能为空',
            'name.max'      => '姓名长度不能超过10个字符',
            'age.require'   => '年龄不能为空',
            'age.integer'   => '年龄必须为整数',
            'age.between'   => '年龄取值必须在1到100之间',
            'email.email'   => ' email格式不正确 ',
        ];
    }
    Copier après la connexion
      🎜Créer et utiliser des modèles🎜🎜🎜Dans ThinkPHP6, utilisez des modèles pour Interagissez avec la base de données. Vous pouvez créer un modèle via la commande suivante : 🎜🎜php bin/think make:model Test🎜🎜Cette commande créera Test.php dans le répertoire <code>app , qui contient une classe de modèle vide Test. Nous pouvons spécifier les noms des tables d'opérations de base de données, les noms de clés primaires, les horodatages automatiques et d'autres définitions dans cette classe. Par exemple : 🎜rrreee🎜Dans cette classe de modèle, nous pouvons également définir certaines règles de validation des données. Par exemple : 🎜rrreee🎜Dans cet exemple, nous définissons trois règles de validation : name est requis, la longueur maximale est de 10 ; age est requis, doit être un entier et la valeur est comprise entre 1 et 100 ; email doit être au format email. Ces règles seront automatiquement vérifiées lors de l'opération sur les données du modèle. 🎜
        🎜Utilisez la fonction de vérification automatique🎜🎜🎜Lors de l'utilisation du modèle pour effectuer des opérations de base de données, il suffit d'appeler la méthode correspondante, par exemple : 🎜rrreee🎜Lors de l'utilisation de ces méthodes, ThinkPHP6 le fera automatiquement Vérifiez par rapport aux règles de validation définies dans le modèle. Si la validation échoue, une exception est levée et la raison de l'échec est renvoyée. 🎜
          🎜Message de vérification personnalisé🎜🎜🎜Dans la vérification automatique, nous pouvons définir le message d'erreur lorsque la vérification échoue en ajoutant l'attribut statique message dans la classe de modèle. Par exemple : 🎜rrreee🎜Dans cet exemple, nous définissons le message d'erreur en cas d'échec de la vérification. Si un échec de validation des données est détecté, ThinkPHP6 renverra automatiquement les informations d'erreur correspondantes en fonction du message défini. 🎜🎜Résumé🎜🎜En utilisant la fonction de vérification automatique ThinkPHP6, nous pouvons rapidement mettre en œuvre la vérification automatique ORM des opérations de base de données, améliorant ainsi l'efficacité du développement et réduisant les erreurs. La définition de règles de validation des données et d'invites de message dans la classe de modèle peut nous aider à développer et à maintenir plus facilement. J'espère que cet article pourra aider tout le monde et rendre tout le monde plus à l'aise lors de l'utilisation de ThinkPHP6. 🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment exécuter le projet thinkphp Comment exécuter le projet thinkphp Apr 09, 2024 pm 05:33 PM

Pour exécuter le projet ThinkPHP, vous devez : installer Composer ; utiliser Composer pour créer le projet ; entrer dans le répertoire du projet et exécuter php bin/console serve ; visiter http://localhost:8000 pour afficher la page d'accueil.

Il existe plusieurs versions de thinkphp Il existe plusieurs versions de thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP dispose de plusieurs versions conçues pour différentes versions de PHP. Les versions majeures incluent 3.2, 5.0, 5.1 et 6.0, tandis que les versions mineures sont utilisées pour corriger les bogues et fournir de nouvelles fonctionnalités. La dernière version stable est ThinkPHP 6.0.16. Lorsque vous choisissez une version, tenez compte de la version PHP, des exigences en matière de fonctionnalités et du support de la communauté. Il est recommandé d'utiliser la dernière version stable pour de meilleures performances et une meilleure assistance.

Comment exécuter thinkphp Comment exécuter thinkphp Apr 09, 2024 pm 05:39 PM

Étapes pour exécuter ThinkPHP Framework localement : Téléchargez et décompressez ThinkPHP Framework dans un répertoire local. Créez un hôte virtuel (facultatif) pointant vers le répertoire racine ThinkPHP. Configurez les paramètres de connexion à la base de données. Démarrez le serveur Web. Initialisez l'application ThinkPHP. Accédez à l'URL de l'application ThinkPHP et exécutez-la.

Comment utiliser le mappage objet-relationnel (ORM) en PHP pour simplifier les opérations de base de données ? Comment utiliser le mappage objet-relationnel (ORM) en PHP pour simplifier les opérations de base de données ? May 07, 2024 am 08:39 AM

Les opérations de base de données en PHP sont simplifiées à l'aide d'ORM, qui mappe les objets dans des bases de données relationnelles. EloquentORM dans Laravel vous permet d'interagir avec la base de données en utilisant une syntaxe orientée objet. Vous pouvez utiliser ORM en définissant des classes de modèle, en utilisant des méthodes Eloquent ou en créant un système de blog dans la pratique.

Comment installer thinkphp Comment installer thinkphp Apr 09, 2024 pm 05:42 PM

Étapes d'installation de ThinkPHP : Préparez les environnements PHP, Composer et MySQL. Créez des projets à l'aide de Composer. Installez le framework ThinkPHP et ses dépendances. Configurez la connexion à la base de données. Générez le code de l'application. Lancez l'application et visitez http://localhost:8000.

Lequel est le meilleur, Laravel ou thinkphp ? Lequel est le meilleur, Laravel ou thinkphp ? Apr 09, 2024 pm 03:18 PM

Comparaison des performances des frameworks Laravel et ThinkPHP : ThinkPHP fonctionne généralement mieux que Laravel, en se concentrant sur l'optimisation et la mise en cache. Laravel fonctionne bien, mais pour les applications complexes, ThinkPHP peut être mieux adapté.

Quelles sont les performances de thinkphp ? Quelles sont les performances de thinkphp ? Apr 09, 2024 pm 05:24 PM

ThinkPHP est un framework PHP hautes performances présentant des avantages tels que le mécanisme de mise en cache, l'optimisation du code, le traitement parallèle et l'optimisation des bases de données. Les tests de performances officiels montrent qu'il peut gérer plus de 10 000 requêtes par seconde et qu'il est largement utilisé dans les sites Web à grande échelle et les systèmes d'entreprise tels que JD.com et Ctrip dans les applications réelles.

Comment le mappage objet-relationnel PHP et les couches d'abstraction de base de données améliorent la lisibilité du code Comment le mappage objet-relationnel PHP et les couches d'abstraction de base de données améliorent la lisibilité du code May 06, 2024 pm 06:06 PM

Réponse : ORM (Object Relational Mapping) et DAL (Database Abstraction Layer) améliorent la lisibilité du code en faisant abstraction des détails d'implémentation de la base de données sous-jacente. Description détaillée : ORM utilise une approche orientée objet pour interagir avec la base de données, rapprochant le code de la logique de l'application. DAL fournit une interface commune indépendante des fournisseurs de bases de données, simplifiant ainsi l'interaction avec différentes bases de données. L'utilisation d'ORM et de DAL peut réduire l'utilisation d'instructions SQL et rendre le code plus concis. Dans des cas pratiques, ORM et DAL peuvent simplifier la requête d'informations sur le produit et améliorer la lisibilité du code.

See all articles