>  기사  >  ThinkPHP 최신 공식 버전 출시 - ThinkPHP5.1.28로 업데이트

ThinkPHP 최신 공식 버전 출시 - ThinkPHP5.1.28로 업데이트

不言
不言앞으로
2018-10-29 10:46:037061검색

가장 인기 있는 PHP 프레임워크인 ThinkPHP가 2018년 10월 29일 최신 업데이트를 받았습니다. ThinkPHP 업데이트의 주요 내용은 다음과 같습니다.

이번 버전은 이전 버전에서 존재했던 일부 문제점을 주로 수정하고 관련 쿼리 부분을 개선하였습니다. 이전 버전에서 원활한 업그레이드를 지원합니다!

주요 업데이트

집합 쿼리 메서드의 필드가 DISTINCT를 지원합니다.

라우트 정의 후 url 함수의 포트 지원을 수정합니다.

컨트롤러 미들웨어의 swoole 지원을 수정합니다.

Log 클래스 저장 메서드 개선

검증 클래스 폐쇄 검증 매개변수 개선

다대다 연관은 중간 테이블 데이터의 이름 지정을 지원합니다.

연관 집계 쿼리는 집계 필드 지정을 위한 클로저 메소드를 지원합니다.

향상된 Lang 클래스 get 메소드

다대- 많은 연관이 연관된 데이터가 존재하는지 확인하는 기능을 추가합니다. 방법

관련 쿼리에 대한 fetchsql 사용 개선

수정자 실행 여부 개선

날짜 필드 비교를 위한 afterWith 및 beforeWith 유효성 검사 규칙 추가

New 버전 기능

컨트롤러 미들웨어 개선

클래스 라이브러리가 Swoole 및 기타 모드의 메모리에 상주하므로 컨트롤러 미들웨어가 두 번째로 실행되지 않습니다. 이제 컨트롤러 미들웨어의 실행 프로세스가 더 이상 수행되지 않습니다. 건축 기능에 포함됩니다.

모델 개선

수정자 실행 여부 판단 로직이 개선되었습니다. 수정자 메서드가 정의되지 않은 경우 모델 데이터에 대한 다중 할당이 허용됩니다. 이러한 방식으로 모델 이벤트에서 데이터를 쉽게 수정할 수 있습니다.

집계 쿼리의 필드는 DISTINCT 사용을 지원합니다. 예:

User::count('DISTINCT id');

관련 집계 쿼리는 클로저 사용 시 집계 필드 지정을 지원합니다.

User::withCount(['book' => function($query){
    // 统计今年出版的书的数量 并且使用books_num作为统计字段返回
    $query->whereTime('publish_time', 'y');
    return 'books_num';
})->select();

다대다 관계의 경우 다음 사용법도 지원될 수 있습니다

use think\Model;
class User extends Model{
    public function roles()
    {
        // 使用pivotDataName方法指定中间表的数据对象名称
        return $this->belongsToMany('role')
            ->pivotDataName('userRole');
    }
}
$user =  User::get(1);
$role =  Role::getByName('editor');
// 判断关联数据是否存在 如果存在则返回中间表对象
$pivot = $user->roles()->attached($role);

동시에 fetchSql 메서드를 사용하여 발생한 쿼리 오류도 수정됩니다.

유효성 검사 규칙 개선

유효성 검사 규칙에 클로저가 사용되는 경우 이제

// 新增的参数包括title(规则标题)和validate(当前验证对象)
function($value, $data, $title, $validate) {}

를 포함한 추가 매개변수를 추가할 수 있습니다. 여러 날짜 필드의 데이터를 비교하기 위해 beforeWith 및 afterWith라는 두 가지 추가 유효성 검사 규칙을 추가했습니다.

$validate = Validate::make([
    'start_time'   => 'require|beforeWith:end_time',
    'end_time'     => 'require|afterWith:start_time'
]);
if (!$validate->check($data)) {
    dump($validate->getError());
}

확장 업데이트

이 업데이트에는 일부 공식 확장 업데이트도 포함되어 있습니다.

SeasLog 로그 확장 think-seaslog 추가

Swoole 확장이 버전 2.0.14로 업데이트됨

단위 테스트 확장이 버전 2.0으로 업데이트됨 .5;

추천 과정:

최신 ThinkPHP 5.1 세계 최초 비디오 튜토리얼(PHP 전문가 온라인 교육 수업이 되기까지 60일)

Dugu Jiujian (5)_ThinkPHP5 비디오 튜토리얼

ThinkPHP 기본 실습 동영상 튜토리얼

thinkphp3.2 기본 동영상 튜토리얼

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