Maison >cadre php >Laravel >Partagez vos spécifications de programmation personnelles recommandées pour Laravel ou d'autres frameworks

Partagez vos spécifications de programmation personnelles recommandées pour Laravel ou d'autres frameworks

藏色散人
藏色散人avant
2021-02-09 09:10:592111parcourir

Ce qui suit est la colonne du didacticiel Laravel pour vous présenter les spécifications de programmation personnellement recommandées de Laravel ou d'autres frameworks. J'espère qu'il sera utile aux amis dans le besoin. !

Résumé préliminaire

Au cours du développement, de nombreux étudiants sont sujets à la confusion, au hasard et au manque d'uniformité dans le nommage des fichiers sexuel. Cette situation est particulièrement importante lorsque plusieurs personnes collaborent. Chaque développeur doit s'adapter aux habitudes de développement de chacun. De nombreux inconvénients entravent l'efficacité du développement collaboratif par plusieurs personnes.

Spécifications unifiées

L'utilisation de spécifications de développement unifiées présente de nombreux avantages. L'un d'eux est de réduire les frictions entre les développeurs. Par exemple :
app/Models/User.php

···/**
 * @desc 获取 users.username
 * @param int $user_id users.id
 * @return string
  */public static function getUsername(int $user_id): string{
    return self::where('id', $user_id)->value('username');}// getUsername() end/**
 * @desc 获取 users.age
 * @param int $user_id users.id
 * @return int
  */public static function getAge(int $user_id): int{
    return (int)self::where('id', $user_id)->value('age');}// getAge() end···

Dans les commentaires du paramètre de ligne $user_id, j'utilise la forme de users.id . Ce formulaire est ma principale recommandation. L'avantage est que vous pouvez connaître intuitivement l'origine de ce paramètre (champ users dans le tableau id). Les paramètres renvoyés par
sont également expliqués intuitivement, et la valeur est la valeur du champ users dans la table username. Les noms
function se distinguent par des actions, get + 字段 prend la valeur et set + 字段 met à jour la valeur.

Nom unifié

Ci-dessous, j'utiliserai le tableau users comme exemple pour lister la logique de mon nom recommandé.

table - utilisateurs

En utilisant la table des utilisateurs comme modèle, nous faisons la promotion de cette norme auprès des étudiants.

migrations - migrations de bases de données

database/migrations/xxxx_create_users_table.php

···use Illuminate\Support\Facades\DB;···    Schema::create('balance_logs', function (Blueprint $table) {
      $table->id();
      $table->string('username', 32)->unique()->nullable(false)->comment('名称');
      $table->string('password', 128)->nullable(false)->comment('密码');
      $table->unsignedInteger('age', 3)->default(0)->comment('年龄');
      $table->string('token', 128)->nullable(true)->comment('登录态');
      $table->dateTime('created_at')->useCurrent();
      $table->dateTime('updated_at')->useCurrent();

      $table->index('username', 'username_index');
    });
    DB::statement("ALTER TABLE `users` comment '用户表'");···

modèle - modèle

app/Models/User.php

contrôleur - Contrôleur

app/Http/Controllers/UserController.php

<?phpnamespace  App\Http\Controllers\Api\v1;use App\Http\Controllers\Controller;use Illuminate\Http\Request;use App\Models\User;class UserController extends Controller{
    public function index(Request $request)
    {
        // todo
    }// index() end

    public function show(Request $request)
    {
        // 变量命名,对应的是表字段的话,变量名建议以该字段为名,
        // 注释时采用 表名.字段 的形式
        // users.username
        $username = $request->post('username');
    }// show() end

    public function store(Request $request)
    {
        $user_id = $request->post('user_id');// users.id
        $age     = $request->post('age');    // users.age
        // 更新数据
        User::where('id', $user_id)->update(['age' => $age]);
    }// store() end}

requête - validation du formulaire

app/Http/Requests/UserRequest.php

observateur - observateur

app/Observers/UserObserver.php

événement - système d'événements

  • app/Events/UserEvent.php événement
  • app/Listeners/UserListener.php auditeur

console - planification des tâches

app/Console/Commands/UserCommand.php

$ php artisan my:user

seeder - remplissage des données

  • database/seeds/UserSeeder.php génère de fausses données
  • database/factories/UserFactory.php model factory

définition standard

Je définis les spécifications ci-dessus comme nom de la table L'explication est que les documents liés à l'entreprise sont stipulés avec nom de la table comme ligne principale. nom de la table comme mot-clé.

Nom - Carte mentale

Partagez vos spécifications de programmation personnelles recommandées pour Laravel ou dautres frameworks

Conclusion

J'espère avoir mes suggestions personnelles, peut être promu et populaire parmi les camarades de classe. Merci aux étudiants d'avoir lu. N'oubliez pas de aimer, de commenter, de collecter et de repost.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer