laravel과 thinkphp의 차이점은 무엇입니까
1. 템플릿 렌더링 방식의 차이점
Laravel 프레임워크에서는 return view()를 사용하여 템플릿을 렌더링하지만 ThinkPHP에서는 $this->display() 메서드를 사용합니다. 템플릿을 렌더링합니다.
2. 실제 개발을 하다 보면 개발 위치가 정해져 있지 않은 문제에 자주 부딪히게 됩니다.
이로 인해 데이터베이스 구성을 자주 변경하게 되어 개발 작업에 문제가 발생하게 됩니다. TP는 여전히 이러한 "재앙"을 피하지 못했습니다. laravel 프레임워크에서는 .env 환경 파일의 출현으로 이 문제가 해결되었습니다. .env 파일을 다른 작업 위치에 구성하기만 하면 되며 다시 구성하는 것을 피하지 마십시오. git이든 svn이든 ".env는 파일과 함께 서버에 제출되지 않습니다."
3. Laravel 프레임워크는 많은 수의 클로저를 제공합니다.
초보자로서 저는 현재 use 메소드, 즉 함수 내부에서 외부 변수를 사용하는 방법만 사용합니다.
4 post에서 값을 전달할 때 주의할 점이 있습니다
Laravel 프레임워크에서는 Cross-Site 공격을 고려하기 때문에 Form Form을 사용하여 Post에서 값을 전달할 경우 메서드를 더 이상 양식에 추가하지 않으면 csrf_field()}} 양식에 TokenMethodnotfound라는 구문 오류가 보고되며 TP 프레임워크는 교차 사이트 공격을 방지하기 위해 코드를 수동으로 완성해야 합니다.
5. 조건부 판단문 작성 방식의 차이
Laravel 프레임워크의 If else 판단문과 foreach 문은 작성 시 @if로 시작하고 @endif로 끝나야 합니다. 그렇지 않은 경우 구문 오류가 보고됩니다. @foreach @endforeach는 동일하며 TP 프레임워크는 if esle 문을 사용하여 직접 판단하고 foreach 루프 순회를 사용하여 PHP 구문 규칙과 동일한 방식으로 사용됩니다.
6. Laravel에는 개발자가 사용할 수 있는 다양한 내장 메소드가 있습니다.
실제 애플리케이션에서는 예를 들어 백그라운드 형식에서 "객체가 모든 작업을 수행하도록 허용"하는 개발 아이디어에 더 가깝습니다. 유효성 검사와 관련하여 Laravel에는 수많은 내장 유효성 검사 방법이 있습니다. 예를 들어, 사용자 이름을 확인하려면 다음과 같이 유효성 검사 방법에서 'username'=>'required'(비워둘 수 없음)를 사용할 수 있습니다. | alpha_dash(숫자, 문자 및 밑줄이 있어야 함) | 숫자); 또한 email; same: field name; diff: field name 등과 같은 많은 내장 메소드가 있어 개발 속도가 크게 향상됩니다.
7. 암호화 방법
TP 프레임워크에서는 md5()를 사용하여 사용자 이름과 비밀번호를 암호화합니다. 하지만 md5의 단점은 역크랙이 가능하다는 점이며, 동일한 규칙 하에서 동일한 비밀번호에 대해 md5로 암호화한 문자열이 동일하게 나타날 수 있어 보안성이 저하될 수 있습니다. 그러나 Laravel 프레임워크에는 "Hash" 해시 암호화 단방향 암호화 방법이 내장되어 있으며 동일한 매개변수로 암호화된 문자열은 동일한 상황에서 절대 나타나지 않으므로 보안이 향상됩니다.
8. 테이블 생성
Laravel은 데이터베이스 테이블 생성을 위한 독립적인 내장 구조를 가지고 있으며, 기본 SQL 문이나 테이블 작성에 의존하지 않고도 데이터를 추가, 삭제, 수정, 쿼리 및 합계할 수 있습니다. SQLyogEnt 및 Navicat 상호작용과 같은 도구. ThinkPHP에서는 이것이 점진적으로 데이터를 개선하기 위해 SQL 문이나 테이블 작성 도구를 사용해야 한다는 점의 하이라이트가 될 수 있다고 생각합니다.
8.1 먼저 모델을 구축해야 합니다. 저는 gitbash를 사용합니다. Gitbash는 Windows 기반의 명령 도구로 msys GNU 환경을 기반으로 git 분산 버전 관리 도구가 있으며 주로 git에서 사용됩니다. 그러나 Laravel에서 직접 사용할 수도 있습니다: php artisan make:model Models/GoodsModel -m 모델 생성과 테이블 구조(/database/migrations) 생성을 완료합니다.
8.2. 상품 데이터 테이블에 데이터를 입력할 때 데이터 유형을 엄격하게 구분하여 추가해야 합니다. 추가 후 php artisan migration 명령을 사용하여 테이블 생성을 완료합니다.
Schema::create('goods', function (Blueprint $table) {
$table->increments('id')->comment('제품 기본 키');
$table-> string ('title')->comment('title of product');
8.3. 필드가 요구 사항을 충족하지 않거나 추가해야 하는 경우 걱정할 필요가 없습니다. github에서 프로젝트를 가져와 추가하세요. 데이터 테이블에 직접 수정하려면 다음을 사용하세요:
php artisan migration:refresh
9, ORM
테이블 생성을 도입할 때 모델을 생성하는 명령이 사용되었습니다:
php artisan make:model XXX;
Laravel의 모델은 객체 지향 개발 아이디어를 가장 잘 해석한 것입니다. 객체가 우리의 요구 사항을 완료하는 데 도움이 되도록 하세요.
5.1 매뉴얼에서 발췌: (Laravel의 Eloquent ORM은 다음과 상호 작용하는 아름답고 간결한 ActiveRecord 구현을 제공합니다. 각 데이터베이스 테이블에는 해당 "모델"을 사용하여 데이터 테이블과 상호 작용할 수 있습니다. 모델을 통해 데이터 테이블의 데이터를 검색하고 데이터 테이블에 레코드를 추가할 수 있습니다. 일괄 할당, 크로스 테이블 쿼리, 모델 삭제 및 소프트 삭제, 모델 연결과 같은 데이터 테이블 작업에 편의성을 제공하는 것은 물론 TP의 모델을 사용하여 구현할 수도 있습니다. 이는 개인 취향에 따라 다릅니다.
10. 세션 사용 방법.10.1. ThinkPHP는 세션 작업을 캡슐화하여 도입하지 않고도 사용할 수 있습니다. 세션 시작은 애플리케이션이 초기화될 때 자동으로 실행되므로 세션을 시작하기 위해 수동으로 Session::start()를 사용할 필요가 없습니다.
Session 클래스를 사용하여 일반적인 방법으로 $_SESSION을 호출하는 것과 본질적인 차이는 없습니다. 다만 Session 클래스의 많은 매개변수를 프로젝트 구성에 따라 유연하게 설정할 수 있다는 점만 다를 뿐입니다. 메서드:
//세션 변수가 있는지 감지: Session ::is_set('name')
// 세션 변수에 값 할당: Session::set('name','value')
/ / 세션 변수 가져오기: Session::get('name');
10.2. Laravel의 일반적인 세션 방법:
$request->session()->get('key');//Get 세션의 키 이름
$request->session( )->set('key','default');//기본값을 설정하고, 지정된 키 이름이 없으면 기본값을 반환합니다
$request->session()->all(); //모든 데이터 반환
session('k'=>$v);//플래시 데이터 세션뿐만 아니라 데이터 저장을 위한 세션 쓰기
()->flash() 및 특정 데이터 유지->keep([ '','']);
세션 드라이버를 사용자 정의할 수도 있습니다.
php 중국어 웹사이트, 수많은 무료 laravel 입문 튜토리얼, 온라인 학습을 환영합니다!
위 내용은 laravel과 thinkphp의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









Laravel 이메일 전송이 실패 할 때 반환 코드를 얻는 방법. Laravel을 사용하여 응용 프로그램을 개발할 때 종종 확인 코드를 보내야하는 상황이 발생합니다. 그리고 실제로 ...

멀티 스레딩과 비동기식의 차이점은 멀티 스레딩이 동시에 여러 스레드를 실행하는 반면, 현재 스레드를 차단하지 않고 비동기식으로 작업을 수행한다는 것입니다. 멀티 스레딩은 컴퓨팅 집약적 인 작업에 사용되며 비동기식은 사용자 상호 작용에 사용됩니다. 멀티 스레딩의 장점은 컴퓨팅 성능을 향상시키는 것이지만 비동기의 장점은 UI 스레드를 차단하지 않는 것입니다. 멀티 스레딩 또는 비동기식을 선택하는 것은 작업의 특성에 따라 다릅니다. 계산 집약적 작업은 멀티 스레딩을 사용하고 외부 리소스와 상호 작용하고 UI 응답 성을 비동기식으로 유지 해야하는 작업을 사용합니다.

ThinkPhp6 라우팅 매개 변수는 중국어 및 완전한 획득으로 처리됩니다. ThinkPhp6 프레임 워크에서 특수 문자 (예 : 중국어 및 구두점 마크)를 포함하는 URL 매개 변수는 종종 처리됩니다 ...

C 언어에는 내장 합계 기능이 없으므로 직접 작성해야합니다. 합계는 배열 및 축적 요소를 가로 질러 달성 할 수 있습니다. 루프 버전 : 루프 및 배열 길이를 사용하여 계산됩니다. 포인터 버전 : 포인터를 사용하여 배열 요소를 가리키며 효율적인 합계는 자체 증가 포인터를 통해 달성됩니다. 동적으로 배열 버전을 할당 : 배열을 동적으로 할당하고 메모리를 직접 관리하여 메모리 누출을 방지하기 위해 할당 된 메모리가 해제되도록합니다.

ThinkPhp6 데이터베이스 쿼리 : TP6을 사용하여 SQL 문을 구현하는 방법 SelectSum (Jin), sum (chu)의 sysdbuil in thinkphp6 프레임 워크, SQL 문을 사용하는 방법 Select ...

C 언어에서 char와 wchar_t의 주요 차이점은 문자 인코딩입니다. char ascii를 사용하거나 ascii를 확장하고, wchar_t는 유니 코드를 사용합니다. Char는 1-2 바이트를 차지하고 WCHAR_T는 2-4 바이트를 차지합니다. Char는 영어 텍스트에 적합하며 WCHAR_T는 다국어 텍스트에 적합합니다. Char_t는 널리 지원되며, 컴파일러 및 운영 체제가 유니 코드를 지원하는지 여부에 따라 다릅니다. Char는 문자 범위가 제한되며 WCHAR_T는 더 큰 문자 범위를 가지며 특수 함수는 산술 작업에 사용됩니다.

XML을 PDF로 직접 변환하는 응용 프로그램은 근본적으로 다른 두 형식이므로 찾을 수 없습니다. XML은 데이터를 저장하는 데 사용되는 반면 PDF는 문서를 표시하는 데 사용됩니다. 변환을 완료하려면 Python 및 ReportLab과 같은 프로그래밍 언어 및 라이브러리를 사용하여 XML 데이터를 구문 분석하고 PDF 문서를 생성 할 수 있습니다.

Redis 대기열과 MySQL 안정성 비교 : Redis가 데이터 손실에 발생하는 이유는 무엇입니까? PHP7.2 및 ThinkPHP 프레임 워크를 사용하여 개발 환경에서 우리는 종종 협력의 선택에 직면 해 있습니다 ...
