>PHP 프레임워크 >Laravel >Laravel 또는 기타 프레임워크에 대한 개인 권장 프로그래밍 사양을 공유하세요.

Laravel 또는 기타 프레임워크에 대한 개인 권장 프로그래밍 사양을 공유하세요.

藏色散人
藏色散人앞으로
2021-02-09 09:10:592111검색

튜토리얼 칼럼에서는 Laravel의 프로그래밍 사양이나 여러분이 추천하는 다른 프레임워크를 소개하고 있어 도움이 필요한 친구들에게 도움이 되길 바랍니다! 예비 요약

개발 중에 많은 학생들이 파일 이름 지정에서 혼란, 임의성 및 일관성 부족을 겪는 경향이 있습니다. 이러한 상황은 여러 사람이 협력할 때 특히 두드러집니다. 각 개발자는 모든 사람의 개발 습관에 적응해야 합니다. 많은 불편함이 여러 사람의 공동 개발의 효율성을 방해합니다.

통합 사양통합 개발 사양을 사용하면 많은 이점이 있습니다. 그 중 하나는 개발자 간의 마찰을 줄이는 것입니다. 예:

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를 사용합니다. 형식입니다. 이 양식은 제가 권장하는 주요 장점입니다. 이 매개변수(<code>users 테이블의 id 필드)의 출처를 직관적으로 알 수 있다는 것입니다. 반환된 매개변수도 직관적으로 설명되어 있으며, 값은 users 테이블의 username 필드 값입니다.

함수 이름 지정은 작업별로 구분되며 get + field는 값을 가져오고 set + field는 값을 업데이트합니다.


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

命名统一

下面,我通过 users

아래에서는 users 테이블을 예로 들어 제가 권장하는 이름 지정 논리를 나열하겠습니다.

table - 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 - 컨트롤러

앱/Http/컨트롤러/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 - 관찰자

app/Observers/UserObserver.php

event - 이벤트 시스템
  • 앱 /Events/UserEvent.php event
  • app/Listeners/UserListener.php Listener

console - 작업 예약

app/Console/Commands/UserCommand.php

$ php artisan my:user

seeder - 데이터 채우기
  • 데이터베이스 /seeds/UserSeeder.php는 가짜 데이터를 생성합니다
  • database/factories/UserFactory.php 모델 공장

사양 정의

위의 사양을 테이블 사양으로 명명으로 정의합니다. 이에 대한 설명은 테이블 이름을 메인으로 사용하며, 관련 업무를 규정한 문서는 모두 테이블 이름

을 키워드로 하여 명명됩니다.

네이밍 - 마인드맵

Laravel 또는 기타 프레임워크에 대한 개인 권장 프로그래밍 사양을 공유하세요.

결론

제 개인적인 제안이 구현되어 학생들 사이에서 인기를 끌 수 있었으면 좋겠습니다. 읽어주신 학생들 감사합니다. 좋아요, 댓글, 수집, 리트윗

을 꼭 기억해주세요. 🎜

위 내용은 Laravel 또는 기타 프레임워크에 대한 개인 권장 프로그래밍 사양을 공유하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제