Heim >PHP-Framework >Laravel >Teilen Sie Ihre persönlichen empfohlenen Programmierspezifikationen für Laravel oder andere Frameworks

Teilen Sie Ihre persönlichen empfohlenen Programmierspezifikationen für Laravel oder andere Frameworks

藏色散人
藏色散人nach vorne
2021-02-09 09:10:592111Durchsuche

die Programmierspezifikationen von Laravel oder anderen von Ihnen empfohlenen Frameworks vorgestellt. Ich hoffe, dass sie Freunden in Not hilfreich sein werden! Vorläufige Zusammenfassung

Während der Entwicklung neigen viele Schüler zu Verwirrung, Zufälligkeit und mangelnder Einheitlichkeit bei der Dateibenennung. Diese Situation ist besonders ausgeprägt, wenn mehrere Personen zusammenarbeiten. Jeder Entwickler muss sich an die Entwicklungsgewohnheiten aller anpassen. Viele Unannehmlichkeiten behindern die Effizienz der kollaborativen Entwicklung mehrerer Personen.

Einheitliche SpezifikationenDie Verwendung einheitlicher Entwicklungsspezifikationen hat viele Vorteile. Eine davon besteht darin, die Reibung zwischen Entwicklern zu verringern. Zum Beispiel:

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···
In den Kommentaren des Zeilenparameters $user_id verwende ich users.id Formular. Dieses Formular ist meine Hauptempfehlung. Der Vorteil besteht darin, dass Sie den Ursprung dieses Parameters (das Feld <code>id in der Tabelle users) intuitiv erkennen können. Die zurückgegebenen Parameter werden ebenfalls intuitiv erklärt und der Wert ist der Wert des Felds username in der Tabelle users.

Funktion-Benennung unterscheidet sich durch Aktion, get + field übernimmt den Wert und set + field aktualisiert den Wert.


Einheitliche Benennung$user_id 的注释里,我使用的是 users.id 的形式。此形式是我主推的,优点是直观的知道此参数的由来(users 表中 id 字段)。
返回的参数也做了直观的说明,取值为 users 表中 username 字段的值。
function 命名按照动作来区分命名,get + 字段 取值,set + 字段 更新值。

命名统一

下面,我通过 users

Im Folgenden verwende ich die Tabelle users als Beispiel, um die von mir empfohlene Benennungslogik aufzulisten.

Tabelle – Benutzer

nutzt die Benutzertabelle als Blaupause, um diesen Standard bei Schülern bekannt zu machen.

migrations – Datenbankmigrationen

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 – Modell

app/Models/User.php

controller – Controller.

app/ Http/Controllers/ UserController .php

App /Events/UserEvent.php event

app/Listeners/UserListener.php listener

console – Aufgabenplanung

app/Console/Commands/UserCommand.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}

seeder – Datenfüllung

  • Datenbank /seeds/UserSeeder.php generiert gefälschte Daten
  • database/factories/UserFactory.php Modellfabrik

Spezifikationsdefinition

Ich definiere die obige Spezifikation als

benannt mit Tabellenspezifikation

, dafür Die Erklärung ist das mit Tabellenname als Hauptzeile, Dokumente, die das zugehörige Geschäft festlegen, werden mit

Tabellenname
    als Schlüsselwort benannt.
  • Naming - Mind Map

FazitIch hoffe, dass meine persönlichen Vorschläge umgesetzt werden können und bei den Studierenden Anklang finden. Vielen Dank an die Studierenden fürs Lesen. Denken Sie bitte daran, „Gefällt mir“, „Kommentar“, „Sammeln“ und „Retweeten“ zu markieren.

Das obige ist der detaillierte Inhalt vonTeilen Sie Ihre persönlichen empfohlenen Programmierspezifikationen für Laravel oder andere Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen