前情提要在開發的時候,許多同學在
檔案命名統一規範使用統一的開發規範,好處很多。減少開發間的磨合,是其一,舉例:
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···
users.id
的形式。此形式是我主推的,優點是直覺的知道此參數的由來(
表中 id
欄位)。 傳回的參數也做了直覺的說明,取值為
users 表中
username 欄位的值。
function 命名依照動作來區分命名,
get 欄位 取值,
set 欄位
更新值。 命名統一
下面,我透過
table - users以 users 表來當藍本,向同學推行此規格。
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
$ php artisan my:user
database/seeds/UserSeeder.php 產生假資料
命名- 心智圖
希望我的個人建議,能在同學間推行與流行。謝謝同學們的閱讀,記得幫我 按讚
、轉發。
以上是分享個人推薦的laravel或其它框架的程式規範的詳細內容。更多資訊請關注PHP中文網其他相關文章!