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. !
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.
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.
Ci-dessous, j'utiliserai le tableau users
comme exemple pour lister la logique de mon nom recommandé.
En utilisant la table des utilisateurs comme modèle, nous faisons la promotion de cette norme auprès des étudiants.
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 '用户表'");···
app/Models/User.php
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}
app/Http/Requests/UserRequest.php
app/Observers/UserObserver.php
app/Console/Commands/UserCommand.php
$ php artisan my:user
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é.
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!