laravel 과 thinkphp 간 의 차이 와 장단 점

6035 단어 laravelthinkphp
Laravel 프레임 워 크:
Laravel 은 현재 가장 숙련 되 고 유행 하 며 광범 위 하 게 사용 되 고 있 는 오픈 소스 프레임 워 크 중 하나 로 우아 한 원칙 을 지 켜 왔 으 며**coposer**를 완벽 하 게 지원 하여 더욱 풍부 한 확장 을 실 현 했 고 지역사회 문서 가 활발 하 며 TP 에 비해 Lavavel 이 더욱 크 고 안전성 도 높 으 며 중대 형 프로젝트 를 개발 하기에 더욱 적합 하 며'거장 형 개발 프레임 워 크'라 고 불 린 다.
질문 설명:
1.렌 더 링 모델 방식 의 차이
Laravel 프레임 워 크 에서 return view()를 사용 하여 모델 을 렌 더 링 합 니 다.ThinkpHP 에 서 는$this->display()방식 으로 모델 을 렌 더 링 합 니 다.
2.실제 개발 에서 우 리 는 이런 문 제 를 자주 만 나 는데 바로 개발 장소 가 고정 되 지 않 는 다 는 것 이다.
이것 은 우리 가 데이터베이스 설정 을 빈번하게 변경 해 야 하기 때문에 개발 업무 에 번 거 로 움 을 초래 했다.TP 는 여전히 이'재난'을 피하 지 못 했 습 니 다.laravel 프레임 워 크 에서.env 환경 파일 의 등장 으로 이 문 제 를 해결 하 였 습 니 다.저 희 는 서로 다른 근무 장소 에서.env 파일 을 설정 하면 다시 설정 하 는 것 을 피 할 수 없습니다.git 든 svn 이 든"env 는 파일 과 함께 서버 에 제출 되 지 않 기 때 문 입 니 다."
3.Laravel 프레임 워 크 는 대량의 폐쇄 를 제공 합 니 다.
초보 인 나 는 함수 내부 에서 외부 변 수 를 어떻게 사용 하 는 지 use 방법 만 사용 하고 있다.
4.post 전송 값 중 주의 점 이 다 릅 니 다.
Laravel 프레임 워 크 에 서 는 크로스 오 버 공격 을 고려 하여 form 폼 을 post 방식 으로 전송 할 때 form 폼 에{csrf 를 추가 하지 않 으 면field()}}은 TokenMethodnotfound 의 문법 오 류 를 보고 하고 TP 프레임 워 크 는 크로스 오 버 공격 을 방지 하 는 코드 를 수 동 으로 완성 해 야 합 니 다.
5.조건 판단 문 작성 방식 의 차이
Laravel 프레임 워 크 에 있 는 if else 판단 문 과 foreach 문 구 는@if 로 시작 하여@endif 로 끝내 야 합 니 다.없 으 면 문법 오 류 를 보고 합 니 다.@foreach@endforeach 는 같 습 니 다.한편,TP 프레임 워 크 는 PHP 문법 규칙 의 사용 방식 과 일치 하 며 if esle 구문 으로 직접 판단 하고 foreach 순환 으로 옮 겨 다 닙 니 다.
6.Laravel 에는 개발 자 들 이 사용 할 수 있 도록 대량의 방법 이 내장 되 어 있 습 니 다.
실제 응용 에서'대상 이 모든 것 을 완성 하도록 한다'는 개발 사상 에 가깝다.예 를 들 어 배경 폼 검증 을 할 때 Laravel 은 대량의 검증 방법 을 내장 했다.예 를 들 어 사용자 이름 에 대한 인증:vaidate 방법 에서'username'=>'required'(비어 있 으 면 안 됨)|alpha 를 사용 할 수 있 습 니 다.dash(숫자 자모 밑줄 을 쳐 야 합 니 다)|between:6,18(몇 자리 사이);이메일 같은 것 도 내장 되 어 있 습 니 다.same:필드 이름;diff:필드 이름 등 대량의 방법 이 개발 속 도 를 크게 향상 시 켰 습 니 다.
7.암호 화 방식
TP 프레임 워 크 에서 사용자 이름 비밀 번 호 를 암호 화 할 때 md5()를 사용 합 니 다.암호 화그러나 md5 의 단점 은 역방향 으로 풀 수 있 고 같은 규칙 에서 같은 암호 md5 로 암호 화 된 문자열 이 같 을 수 있다 는 점 이다.이 는 안전성 을 떨 어 뜨 린 다.그러나 Laravel 프레임 워 크 에'해시'Hash 암호 화 단 방향 암호 화 방법 이 내장 되 어 있 고 같은 매개 변수 로 암호 화 된 문자열 은 절대 같은 상황 이 발생 하지 않 아 안전성 을 높 였 다.
8.건축 표
Laravel 은 데이터베이스 구축 표 에 자체 적 으로 독립 적 으로 내 장 된 구 조 를 가지 고 있 으 며 원생 SQL 구문 이나 SQLyogEnt,Navicat 와 같은 구축 표 도 구 를 이용 하여 데이터 베 이 스 를 구축 하지 않 고 삭제 와 수정,데이터 교환 을 할 수 있 습 니 다.이것 은 NO.1 의 하 이 라 이 트 를 굳건 히 차지 하 는 것 이 라 고 생각 합 니 다.ThinkpHP 에 서 는 SQL 구문 이나 표 작성 도 구 를 통 해 데 이 터 를 점차적으로 보완 해 야 합 니 다.
8.1.우선 우 리 는 모델 을 만들어 야 한다.나 는 gitbash 를 사용한다.gitbash 는 윈도 우즈 의 명령 도구 로 msys GNU 환경 을 바탕 으로 git 분포 식 버 전 제어 도구 가 있 으 며 주로 git 에 사용 된다.그러나 Laravel 에서 도 직접 사용 할 수 있 습 니 다.php artisan make:model Models/GoodsModel -m모델 의 생 성과 표 구조의 생 성(/database/migrations)을 완성 합 니 다.
8.2 goods 데이터 시트 에 데 이 터 를 채 우려 면 데이터 의 유형 이 엄격하게 구분 되 고 반드시 추가 해 야 합 니 다.추가 후php artisan migrate명령 을 사용 하여 표 생 성 을 완료 합 니 다.

Schema::create(‘goods', function (Blueprint $table) {
$table->increments(‘id')->comment(‘    ');

$table->string(‘title')->comment(‘     ');
8.3.특정한 필드 가 요구 에 부합 되 지 않 거나 필드 를 추가 해 야 한다 고 가정 하면 어떻게 합 니까?걱정 하지 마 세 요.github 에서 프로젝트 를 풀 어 낸 후 데이터 시트 에서 직접 수정 하려 면:

php artisan migrate:refresh
9、ORM
표를 만 들 때 모델 을 만 드 는 명령 을 사 용 했 습 니 다:

php artisan make:model XXX;
Laravel 에서 모델 은 대상 을 대상 으로 사상 을 개발 하 는 데 가장 좋 은 해석 으로 대상 이 우 리 를 도와 수 요 를 완성 하도록 하 는 것 이다.
5.1 매 뉴 얼 에서 발췌:(Laravel 의 Eloquent ORM 은 예 쁘 고 간결 한 ActiveRecord 실현 을 제공 하여 데이터 베이스 와 상호작용 을 합 니 다.모든 데이터베이스 테이블 에는 대응 하 는'모델'이 있어 데이터 테이블 과 상호작용 을 할 수 있다.모델 을 통 해 데이터 시트 의 데 이 터 를 찾 고 기록 을 데이터 시트 에 추가 할 수 있 습 니 다.)
저 는 실제 사용 에서 도 창조 모델 을 통 해 데이터 시트 작업 에 가 져 온 편리 함 을 실 감 했 습 니 다.예 를 들 어 대량 할당,크로스 표 조회,삭제 모델 과 소프트 삭제,모델 관련 등 이 있 습 니 다.물론 이런 것들 은 TP 구조 에서 도 모델 을 이용 하여 실현 할 수 있 습 니 다.이 점 은 어 진 사람 이 어 진 사람 을 보고 지혜 로 운 사람 이 지혜 를 보고 개인의 취향 에 따라 정 하 는 것 이다.
10.session 의 용법
10.1.ThinkpHP 는 Session 작업 을 패키지 하고 도입 하지 않 아 도 사용 할 수 있 습 니 다.Session 의 시작 은 응용 프로그램 이 초기 화 될 때 자동 으로 실행 되 기 때문에 Session:start()를 수 동 으로 사용 하지 않 아 도 됩 니 다.
Session 클래스 작업 과 일반 방식 으로$호출SESSION 에서 조작 하 는 것 은 본질 이 다 르 지 않 습 니 다.다만 Session 류 의 많은 매개 변 수 는 프로젝트 설정 에 따라 유연 하 게 설정 할 수 있 습 니 다.가장 자주 사용 하 는 조작 방법 예제:
//세 션 변수 가 존재 하 는 지 확인:Session::is_set(‘name');
//Session 변수 에 값 을 부여 합 니 다.Session::set(‘name','value');
//세 션 변수 가 져 오기:Session::get(‘name');
10.2、Laravel 에서 Session 을 자주 사용 하 는 방법:$request->session()->get(‘key') ;//session 의 키 이름 가 져 오기$request->session()->set(‘key','default') ;//기본 값 을 설정 합 니 다.지정 한 키 이름 이 존재 하지 않 으 면 기본 값 으로 돌아 갑 니 다.$request->session()->all() ;//모든 데이터 되 돌리 기session(‘k'=>$v) ;//세 션 저장 데이터 쓰기
그리고 플래시 메모리 데이터session()->flash()와 특정 데이터 보존->keep([","]);
세 션 드라이브 도 사용자 정의 할 수 있 습 니 다.
laravel 과 thinkphp:
laravel 과 thinkphp 는 어떤 프레임 이 좋 습 니까?
thinkphp 는 뮤 직 비디오 사상 으로 개발 되 었 습 니 다.그 활동 범 위 는 주로 국내 이 고 무료 로 오픈 되 었 으 며 학습 자료 가 매우 풍부 합 니 다.초보 자 에 게 phop 프레임 워 크 를 배 우 는 가장 좋 은 선택 입 니 다.주로 중국어 문서 입 니 다.5.0 버 전부터 API 개발 로 불 리 며 디자인 된 고성능 프레임 워 크.배치 개발 도 매우 간단 하 다.일반적으로 다운로드 프레임 워 크 를 직접 개발 할 수 있 고 개발 코드 스타일 도 국민 사상 에 부합 되 기 때문에 간단 하고 빠 르 며 초보 자 에 게 적합 한 phop 프레임 워 크 이다.
Laravel 프레임 워 크 는 WEB 아 티 스 트 를 위 한 PHP 프레임 워 크 이자 현재 API 개발 최고의 고급 phop 프레임 워 크 입 니 다.php 는 주로 사이트 웹 개발,Laravel 프레임 워 크 의 우아 하고 간단 한 코드 개발,그리고 Laravel 은 사람 을 위해 프레임 워 크 를 설계 하고 개발 하 는 사고방식 이 중급 프로그래머 의 사고방식 에 비교적 적합 하기 때문에 경험 이 있 는 php 프로그래머 들 은 Laravel 프레임 워 크 를 선 호한 다.초보 자 는 왜 강하 게 추천 하지 않 나 요?주로 Laravel 프레임 워 크 는 국제 적 인 프레임 워 크 입 니 다.대부분이 영어 문서 입 니 다.중국어 문서 도 있 지만 자료 가 유한 합 니 다.많은 유용 한 자 료 는 무료 가 아 닙 니 다.Laravel 프레임 워 크 는 반 오픈 소스 코드 라 고 할 수 있 습 니 다.초보 자가 가지 고 있 지 않 으 면 학습 정력 이 유한 할 수 있 습 니 다.
이 글 은 laravel 과 thinkphp 의 차이 점 과 장단 점 에 관 한 글 을 소개 합 니 다.더 많은 관련 laravel 과 thinkphp 프레임 워 크 비교 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기