display()"를 사용합니다. 2. 포스트에서 값을 전달할 때 주의할 점이 다릅니다. 3. 조건부 판단문 작성 방식의 차이. 4. 다양한 암호화 방법. 5. 테이블 생성 방법이 다릅니다."/> display()"를 사용합니다. 2. 포스트에서 값을 전달할 때 주의할 점이 다릅니다. 3. 조건부 판단문 작성 방식의 차이. 4. 다양한 암호화 방법. 5. 테이블 생성 방법이 다릅니다.">

>웹 프론트엔드 >프런트엔드 Q&A >thinkphp와 laravel의 차이점은 무엇입니까?

thinkphp와 laravel의 차이점은 무엇입니까?

青灯夜游
青灯夜游원래의
2021-09-17 14:59:016661검색

차이점: 1. Laravel은 템플릿을 렌더링하기 위해 "return view()"를 사용하고 ThinkPHP는 템플릿을 렌더링하기 위해 "$this->display()"를 사용합니다. 2. 포스트에서 값을 전달할 때 주의할 점이 다릅니다. 3. 조건부 판단문 작성 방식의 차이. 4. 다양한 암호화 방법. 5. 테이블 생성 방법이 다릅니다.

thinkphp와 laravel의 차이점은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, Laravel 6 버전, Dell G3 컴퓨터.

주요 차이점: (thinkPHP는 중국인의 코딩 습관에 더 적합합니다.)

1. 템플릿을 렌더링하는 다양한 방법

Laravel 프레임워크에서는 ThinkPHP에서 템플릿을 렌더링하는 데 return view()가 사용됩니다. , $this->display()를 사용하여 템플릿을 렌더링합니다.

2 post에서 값을 전달할 때 주의할 점

Laravel 프레임워크에서는 Cross-Site 공격을 고려하기 때문에 Form Form을 사용하여 Post 방식으로 값을 전달할 경우. , 더 이상 양식 csrf_field()}}에 추가하지 않으면 TokenMethodnotfound라는 구문 오류가 보고되며 TP 프레임워크는 교차 사이트 공격을 방지하기 위해 코드를 수동으로 완성해야 합니다.

3. 조건부 판단문 작성 방식의 차이점

Laravel 프레임워크의 If else 판단문과 foreach 문은 작성 시 @if로 시작하고 @endif로 끝나야 합니다. 그렇지 않으면 구문 오류가 보고됩니다. @foreach @endforeach는 동일합니다.

TP 프레임워크는 PHP 구문 규칙과 동일한 방식으로 사용되며 if esle 문을 사용하여 루프 순회를 판단하고 foreach합니다.

4. 암호화 방법

TP 프레임워크에서는 md5()를 사용하여 사용자 이름과 비밀번호를 암호화합니다. 하지만 md5의 단점은 역크랙이 가능하다는 점이며, 동일한 규칙 하에서 동일한 비밀번호에 대해 md5로 암호화한 문자열이 동일하게 나타날 수 있어 보안성이 저하될 수 있습니다. 그러나 Laravel 프레임워크에는 "Hash" 해시 암호화 단방향 암호화 방법이 내장되어 있으며 동일한 매개변수로 암호화된 문자열은 동일한 상황에서 절대 나타나지 않으므로 보안이 향상됩니다.

5. 테이블 생성

Laravel은 데이터베이스 테이블 생성을 위한 독립적인 내장 구조를 가지고 있으며 기본 SQL 문이나 테이블 작성 도구를 사용하지 않고도 데이터베이스를 생성하고 데이터를 추가, 삭제, 수정 및 상호 작용할 수 있습니다. SQLyogEnt 및 Navicat. ThinkPHP에서는 이것이 점진적으로 데이터를 개선하기 위해 SQL 문이나 테이블 작성 도구를 사용해야 한다는 점의 하이라이트가 될 수 있다고 생각합니다.

5.1 먼저 모델을 구축해야 합니다. 저는 gitbash를 사용합니다. Gitbash는 Windows 기반의 명령 도구로 msys GNU 환경을 기반으로 git 분산 버전 관리 도구가 있으며 주로 git에서 사용됩니다. 그러나 Laravel에서 직접 사용할 수도 있습니다: php artisan make:model Models/GoodsModel -m 모델 생성과 테이블 구조(/database/migrations) 생성을 완료합니다.

5.2. 상품 데이터 테이블에 데이터를 입력할 때 데이터 유형을 엄격하게 구분하여 추가해야 합니다. 추가 후 php artisan migration 명령을 사용하여 테이블 생성을 완료합니다.

Schema::create(‘goods', function (Blueprint $table) {
$table->increments(‘id')->comment(‘商品主键');
$table->string(‘title')->comment(‘商品的标题');

8.3. 필드가 요구 사항을 충족하지 않거나 필드를 추가해야 하는 경우 어떻게 해야 하나요? 걱정할 필요가 없습니다. github에서 프로젝트를 가져와서 데이터 테이블에서 직접 수정하세요. 다음을 사용하세요.

php artisan migrate:refresh

6. Laravel은 재라우팅 프레임워크(5.4)입니다. 모든 기능은 라우팅을 통해 시작됩니다. 아니요 경로가 작성되어 있는 한 컨트롤러 메소드에 액세스할 수 있습니다. ThinkPHP(3.2)에는 일반 액세스를 위한 컨트롤러 메소드가 있어야 합니다.

7. Laravel에는 강력한 커뮤니티 확장이 있습니다(작성기 확장은 자동으로 로드됩니다). 9. Laravel에는 강력한 블레이드 템플릿 엔진이 있습니다.

9. Laravel 기능은 요청 및 반환, 권한 인증 등과 같은 사전 및 사후 처리를 구현할 수 있습니다. :

최신 5개 Laravel 비디오 튜토리얼

위 내용은 thinkphp와 laravel의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.