ホームページ  >  記事  >  PHPフレームワーク  >  Laravel またはその他のフレームワークに対して個人的に推奨するプログラミング仕様を共有する

Laravel またはその他のフレームワークに対して個人的に推奨するプログラミング仕様を共有する

藏色散人
藏色散人転載
2021-02-09 09:10:592065ブラウズ

次のチュートリアルコラムでは、laravel や他のフレームワークの個人的におすすめのプログラミング仕様を紹介します。必要です! 暫定的な概要

開発中、多くの学生は、ファイル名の性別において混乱、ランダム性、および統一性の欠如を起こしがちです。この状況は、複数の人が共同作業する場合に特に顕著です。各開発者は全員の開発習慣に

適応する必要があり、多くの不便さが複数人での共同開発の効率を妨げています。

#統一仕様統一開発仕様を使用すると、多くの利点があります。そのうちの 1 つは、開発者間の摩擦を減らすことです。例:

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···
行パラメータ $user_id

のコメントでは、# を使用します。 # #users.id

の形式。このフォームは私の主な推奨事項で、利点は、このパラメーターの起源 (
users

テーブルの

id フィールド) を直感的に知ることができることです。 返されるパラメータも直感的に説明されており、値は users テーブルの username フィールドの値です。 function
アクションに応じて名前を区別しており、get field で値を取得し、set field で値を更新します。
統一された名前付け 以下では、例として users

テーブルを使用して、推奨される名前付けのロジックをリストします。

テーブル - ユーザー

ユーザー テーブルを青写真として使用して、この標準を学生に宣伝します。

migrations - データベース移行

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 '用户表'");···

model - モデル

app/Models/User.php

controller - コントローラー

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}

#request - フォームの検証app/Http/Requests/UserRequest.php

observer - Observerapp/Observers/UserObserver.php

event - イベント システム

app/Events/UserEvent.php イベント

app/Listeners/UserListener.php リスナー

    コンソール - タスクのスケジューリング
  • app/Console/Commands/UserCommand.php
  • $ php artisan my:user

Seeder - データ入力

database/seeds/UserSeeder.php 偽データの生成

database/factories/UserFactory.php モデル ファクトリ

    仕様定義
  • 上記の仕様を
  • テーブル仕様名
  • と定義します。その説明は、
テーブル名

が業務に関連する文書を規定する主行として使用されるということです。以降のすべてのファイルテーブル名をキーワードとして使用して名前が付けられます。

#ネーミング マインド マップ

##結論

私の個人的な提案を期待してください。昇進し、学生の間で人気があります。学生の皆さん、読んでいただきありがとうございます。like

commentLaravel またはその他のフレームワークに対して個人的に推奨するプログラミング仕様を共有する

collect

forward を忘れないでください。

以上がLaravel またはその他のフレームワークに対して個人的に推奨するプログラミング仕様を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。