찾다
PHP 프레임워크Laravel라라벨 7.6이 출시되었습니다! ! !

Laravel 팀은 어제 v7.6.0을 출시했습니다. 여기에는 7.x 브랜치에 대한 13가지 새로운 기능과 최신 수정 사항 및 변경 사항이 포함되어 있습니다.

컬렉션에 새로운 "until" 메서드가 추가되었습니다.

Jason McCreary가 컬렉션에 기여했습니다. : Until() 메서드를 사용하면 이 메서드는 요소가 조건을 충족할 때까지 컬렉션을 반복한 다음 요소를 반환할 수 있습니다. Collection::until() 方法, 该方法可以循环遍历集合直到元素满足条件再将该元素返回:

// Before
[$before, $after] = $primes->partition(function ($item) {
    return $item < 11;
});
$before->dump();
// Using until
$passed = $primes->until(11)->dump();

此方法采用闭包或值与集合进行对比。

String Empty Methods

Mark van den Broek 为 Stringable 和 HtmlString 提供了一些便利方法。第一个,HtmlString::isEmpty() 方法让我们检测空实例更加方便:

$string = new \Illuminate\Support\HtmlString(&#39;&#39;); 
// Previously
if (empty($string->toHtml()))
// Using isEmpty
if ($string->isEmpty())

其次,Mark 也贡献了 isNotEmpty() 方法

use Illuminate\Support\Stringable;
(new Stringable())->isNotEmpty(); // false
(new Stringable(&#39;Hello World&#39;))->isNotEmpty(); // true

Stringable 类的 Trim 方法

Ryan Chandler 为 Stringable 类贡献了 ltrim 和 rtrim 方法,可以修剪字符串开头和结尾的字符:

use Illuminate\Support\Stringable;
echo (new Stringable(&#39; Hello World&#39;))->ltrim(); // &#39;Hello World&#39;
echo (new Stringable(&#39;Hello World &#39;))->rtrim(); // &#39;Hello World&#39;
echo (new Stringable(&#39;/example/&#39;))->rtrim(&#39;/&#39;); // &#39;/example&#39;

特定路由忽略中间件

@dsazup 提供了在定义路由时跳过中间件的功能:

Route::get(&#39;/something&#39;)
    ->skipMiddleware(VerifyCsrfToken::class)
Route::get(&#39;/teams/create&#39;)
    ->skipMiddleware(VerifyUserHasTeam::class)

Http 客户端:获取 JSON 响应作为对象

Adrian Nürnberger 贡献了 object() 方法,可以返回对象形式的 JSON 响应体而不是一个关联数组:

// Array access
Http::get(&#39;some-api.wip&#39;)[&#39;result&#39;];
// Using json()
$response = Http::get(&#39;some-api.wip&#39;)->json();
$response[&#39;result&#39;]
// New option
$response = Http::get(&#39;some-api.wip&#39;)->object();
$response->result;

组件别名

Dries Vints 贡献了 为组件设置别名:

我遇到一个场景,其中我需要根据组件的别名有条件地呈现组件的内容。 例如,当您有一个 Svg 组件并使用 <x></x> 作为该组件的别名时,如下所示:

Blade::component(Svg::class, &#39;heroicon-o-bell&#39;);

这比 <svg name="heroicon-o-bell"></svg> 这种方式更加简洁。 将别名添加到 Component 类将为 Blade 组件增加许多新的用法和可能性...

Append Attributes Across an Eloquent Collection

Niels Faurskov 贡献了一个 eloquent 集合方法 append() ,他可以向集合中附加特定属性:

// Before Laravel 7.6
$collection->each(function($model) {
    $model->append($attribute)
});
// Append method
$collection->append($attribute);

支持 Retry-After 方法

@RyanDaDeng 贡献了个方法级的支持,他可以对队列监听器的  retryAfter 进行补充,以适用更高级的用例:

// listener implementation
public function retryAfter()
{
    // 自定义 retryAfter 逻辑
}

支持 Composer 新版 installed.json 格式

Jakub Arbet 支持 Composer 2 新版本的快照功能 (尚未稳定), 但仍与旧版本的 composer 向后兼容:

在 composer 的最新快照版本中更改了 vendor/composer/installed.json 的格式,从而破坏了自动发现软件包的功能。 此 PR 通过较早版本的 composer 向后兼容来解决此问题。

UUID 支持更改

Mathieu Tudisco 支持在 uuid 列使用 change()  方法,在此之前会导致以下错误:

Unknown column type “uuid” requested.

发行说明

您可以在下面查看 GitHub 上的新功能和更新的完整列表以及 7.5.0 and 7.6.0](https://github.com/laravel/framework/compare/v7.5.0...v7.6.0) 之间的区别。 Laravel 7.x 的完整发行说明可在最新的 v7 changelog 中找到:

v7.6.0

新增

● 新增 Collection::until() 方法 (#32262)

● 新增 HtmlString::isEmpty() 方法 (#32289, #32300)

● 新增 IlluminateSupportStringable::isNotEmpty() 方法 (#32293)

● IlluminateSupportStringable 类新增 ltrim()rtrim() 方法 (#32288)

● 新增忽略中间件的功能 (#32347, 412261c)

● 新增 IlluminateHttpClientResponse::object() 方法 (#32341)

● 支持设置组件别名 (#32346)

● 新增 IlluminateDatabaseEloquentCollection::append()rrreee이 메서드는 클로저 또는 값을 사용하여 컬렉션과 비교합니다.

🎜문자열 빈 메서드🎜🎜🎜Mark van den Broek는 Stringable 및 HtmlString에 대한 몇 가지 편리한 메서드를 제공합니다. 첫째, HtmlString::isEmpty() 메서드를 사용하면 빈 인스턴스를 더 쉽게 감지할 수 있습니다.🎜rrreee🎜두 번째로 Mark는 isNotEmpty() 메서드🎜rrreee🎜에도 기여했습니다. 🎜 Stringable 클래스의 Trim 메서드🎜🎜🎜Ryan Chandler는 Stringable 클래스에 ltrim 및 rtrim 메서드를 제공하여 문자열의 시작과 끝 문자를 잘라낼 수 있습니다. 🎜rrreee🎜🎜특정 경로 무시 ​​미들웨어🎜🎜🎜@dsazup 제공 경로를 정의할 때 미들웨어를 건너뛰는 기능: 🎜rrreee🎜🎜Http 클라이언트: JSON 응답을 object🎜🎜🎜로 가져옵니다. Adrian Nürnberger는 object() 메서드를 제공했습니다. 이 메서드는 JSON 응답 본문을 형식으로 반환할 수 있습니다. 하나의 연관 배열 대신 객체: 🎜rrreee🎜🎜Component aliases🎜🎜🎜 Dries Vints가 기여한 구성 요소에 대한 별칭 설정: 🎜🎜별칭을 기반으로 구성 요소의 콘텐츠를 조건부로 렌더링해야 하는 시나리오를 발견했습니다. 예를 들어 Svg 구성 요소가 있고 <heroicon-o-bell></heroicon-o-bell>를 해당 구성 요소의 별칭으로 사용하는 경우 다음과 같이 🎜rrreee🎜이것이 보다 낫습니다. 이 방법이 더 간결합니다. Component 클래스에 별칭을 추가하면 Blade 구성 요소에 대한 많은 새로운 용도와 가능성이 추가됩니다...🎜🎜🎜Eloquent Collection에 속성 추가🎜
🎜🎜Niels Faurskov는 뛰어난 수집 방법인 추가()에 기여했습니다. 컬렉션에 첨부: 🎜rrreee🎜🎜Retry-After 메소드 지원 🎜🎜🎜@RyanDaDeng은 메소드 수준 지원에 기여했으며 대기열 리스너의 retryAfter를 보완하여 고급 사용 사례에 적용할 수 있습니다. 🎜rrreee 🎜🎜새 항목 지원 Composer install.json 형식 버전 🎜🎜🎜Jakub Arbet은 Composer 2의 새 버전(아직 안정적이지 않음)의 스냅샷 기능을 지원하지만 여전히 이전 버전의 Composer와 역호환됩니다. 🎜🎜최신 스냅샷 버전에서 변경됨 작곡가vendor/composer/installed.json 형식으로 인해 패키지 자동 검색이 중단됩니다. 이 PR은 이전 버전의 Composer와의 하위 호환성을 통해 이 문제를 해결합니다. 🎜🎜🎜UUID 지원 변경🎜🎜🎜Mathieu Tudisco는 uuid 열에서 change() 메서드 사용을 지원합니다. 이전에는 다음 오류가 발생했습니다. 🎜rrreee🎜🎜릴리스 노트🎜🎜🎜다음을 수행할 수 있습니다. 아래에서 GitHub 7.5.0 및 7.6.0의 새로운 기능 및 업데이트 전체 목록을 확인하세요.](https://github.com/laravel/framework/compare/v7.5.0...v7 .6.0 🎜). Laravel 7.x의 전체 릴리스 노트는 최신 v7 변경 로그🎜에서 발견됨: 🎜🎜🎜v7.6.0🎜🎜🎜🎜New 🎜🎜🎜● 새로운 Collection::until() 메서드(#32262🎜)🎜🎜● HtmlString::isEmpty() 메서드 추가(#32289🎜, #32300🎜)🎜🎜● IlluminateSupportStringable::isNotEmpty() 메서드를 추가했습니다(#32293🎜)🎜🎜● IlluminateSupportStringable 클래스는 ltrim()rtrim() 메서드를 추가합니다(#32288🎜)🎜🎜● 미들웨어 무시 기능 추가(#32347🎜, 412261c🎜 )🎜🎜● IlluminateHttpClientResponse::object() 메서드 추가(#32341🎜 )🎜🎜● 구성 요소 별칭 설정 지원(#32346🎜)🎜🎜● 새로운IlluminateDatabaseEloquentCollection:: 추가() 메서드(#🎜32324🎜)🎜

● BelongsToMany의 피벗 열에는 새로운 "between" 문이 있습니다(#32364)

● 대기열 모니터링은 retryAfter() 메서드를 지원합니다(#32370retryAfter() 方法 (#32370)

● 新增对 composer 新版 installed.json 的格式支持 (#32310)

● 数据库迁移文件新增 uuid 更改支持 (#32316)

● 允许保存资源到 postgresql bytea (#32319)

修复

● 修复 phpredis 的 *scan 方法 (#32336)

● 修复 IlluminateAuthNotificationsResetPassword::toMail() (#32345)

● 在 IlluminateTranslationTranslator::__construct() 调用 setLocale  (1c6a504)

● 使用映射来防止不必要的数组访问 in IlluminateHttpResourcesJsonPaginatedResourceResponse::toResponse() (#32296)

● 当 pivot 未被修改的时候阻止时间戳更新 (#32311)

● 修复 CURRENT_TIMESTAMP 在 IlluminateDatabaseSchemaGrammarsMySqlGrammar  中的精度 bug (#32298)

修改

● HtmlString 的构造函数增加默认值 (#32290)

● 使用 BindingResolutionException 标示容器解析问题 (#32349)

● IlluminateValidationConcernsValidatesAttributes.php ::validateUrl() 使用 Symfony/Validator 5.0.7 匹配 (#32315)

弃用

● 弃用 elixir)● 새 버전의 Composer Installed.json에 대한 형식 지원이 추가되었습니다(#32310

)

● 데이터베이스 마이그레이션 파일에 대한 새로운 uuid 변경 지원(#32316

)

● postgresql bytea에 리소스 저장 허용(#32319
)🎜🎜수정🎜🎜● phpredis의 *scan 메서드 수정(#32336🎜)🎜🎜● IlluminateAuthNotificationsResetPassword::toMail() 수정( #32345🎜)🎜🎜● IlluminateTranslationTranslator::__construct()에서 setLocale을 호출합니다(1c6a504🎜)🎜🎜● 매핑을 사용하여 IlluminateHttpResourcesJsonPaginatedResourceResponse::toResponse()에서불필요한 배열 액세스를 방지하세요(<a href="https://github.com/laravel/framework%20/pull/%2032296" target="_blank">#32296🎜)🎜🎜● 피벗이 수정되지 않은 경우 타임스탬프 업데이트 방지(</a><a href="https://github.com/laravel/framework/pull/32311" target="_blank">#32311🎜)🎜🎜● <code>IlluminateDatabaseSchemaGrammarsMySqlGrammar에서 CURRENT_TIMESTAMP의 정밀도 버그 수정(#32298🎜)🎜🎜수정🎜🎜● HtmlString 의 생성자는 기본값(#32290🎜)🎜🎜● 컨테이너 해결 문제를 나타내려면 BindingResolutionException을 사용하세요(#32349🎜)🎜🎜● IlluminateValidationConcernsValidatesAttributes.php ::validateUrl() Symfony/Validator 5.0.7사용 > 일치(#32315🎜)🎜🎜지원 중단됨🎜🎜● 지원 중단됨elixir 함수 (🎜#32366🎜)🎜🎜🎜이 글은 재인쇄되었습니다:🎜🎜원본 주소: https://learnku.com/laravel/t/43480🎜🎜

위 내용은 라라벨 7.6이 출시되었습니다! ! !의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 learnku에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
풀 스택 개발을위한 Laravel 대안 : 프레임 워크 비교풀 스택 개발을위한 Laravel 대안 : 프레임 워크 비교Apr 30, 2025 am 12:26 AM

Laravel, Node.jswithExpress.js, Django, Rubyonrails 및 ASP.NetCore에 대한 대안을 찾고 있다면 선택 사항 옵션입니다. 1.node.jswithExpress.js는 고성능 및 확장 성이 필요한 프로젝트에 적합합니다. 2. Django는 빠른 개발과 전체 기능이 필요한 프로젝트에 적합합니다. 3. RubyOnrails는 빠른 프로토 타이핑 및 유연한 개발에 적합합니다. 4. ASP.NETCORE는 트래픽이 많고 교차 플랫폼 개발에 적합하지만 학습 곡선은 가파르게됩니다.

프로젝트 관리 발전소 : 분산 팀을 구성하고 추적합니다.프로젝트 관리 발전소 : 분산 팀을 구성하고 추적합니다.Apr 30, 2025 am 12:20 AM

TheKeyChallEngesIngingDistributedTeamSareCommunicationGaps, TimeZonEdifferences, andTaskManagement.ProjectManagementToolShelPoverCometHeChallEngesby : 1) 향상된 CommunicationThroughPlatformsLikesLackAndMicRosoftTeams, 2) ManuceingTimezonEdifferencesw

멀리서부터의 관리 : 분산 팀을 효과적으로 주도하고 권한을 부여합니다.멀리서부터의 관리 : 분산 팀을 효과적으로 주도하고 권한을 부여합니다.Apr 30, 2025 am 12:12 AM

원격 팀을 이끄는 열쇠는 기술을 사용하고 신뢰를 구축하며 개인화 된 전략을 개발하는 것입니다. 1) 통신 도구 및 작업 관리 시스템을 사용하여 명확한 작업 할당 및 상태 업데이트를 보장합니다. 2) 비동기 통신을 통한 소진을 피하고 생산성을 향상시킵니다. 3) 승인 및 명확한 목표 설정을 통한 인센티브 팀 구성원. 4) 팀 만족과 협력에주의를 기울이고 정기적으로 포괄적 인 검사를 수행하십시오.

기술 문제 : 분산 팀원을위한 도구 및 리소스에 대한 공평한 액세스 보장기술 문제 : 분산 팀원을위한 도구 및 리소스에 대한 공평한 액세스 보장Apr 29, 2025 am 12:40 AM

분산 팀원이 도구 및 리소스에 공정한 액세스 권한을 갖도록하는 방법 : 1) 비동기 비디오 또는 텍스트 업데이트와 같은 저 대역폭 대안 사용, 연결 문제를 해결하기 위해; 2) 코어 중첩 근무 시간을 설정하고 시간대 차이를 관리하기위한 유연한 근무 시간을 제공합니다. 3) 번역 기능과 문화 인식 훈련을 통해 다양한 문화적 요구에 적응합니다. 이러한 전략은 포용적이고 효율적인 원격 작업 환경을 조성하는 데 도움이됩니다.

인스턴트 메시징 필수 해보 : 원격 설정에서 실시간 커뮤니케이션을 육성합니다인스턴트 메시징 필수 해보 : 원격 설정에서 실시간 커뮤니케이션을 육성합니다Apr 29, 2025 am 12:38 AM

forenhancingremotecollaboration, aninstantmessagingtoolmusthave : 1) 신뢰성이 연속적으로 해당하는 경우, 2) anintuitiveuserinterinterfaceynavigation, 3) Real-TimenotificationStayupdated, 4) SeamlessFilesharingforefficialDocumentExchange, 5) 통합

분산 팀에서 일하는 동안 어떤 도전에 직면 한 적이 있습니까?분산 팀에서 일하는 동안 어떤 도전에 직면 한 적이 있습니까?Apr 29, 2025 am 12:35 AM

ThebiggestchallengeofmanagingDistributedTeamsiscommunication.toaddressthis, usetoolslikeslack, Zoom 및 Github; setClearExectations; FoscertrustandAutonomy; ubstractAnchronousworkpatterns; andintegratestaskmanagement withCommunicationPlatformsForforforforforforforforforforfforforfforforfforforfforforfforfforfforfforforfforforfforforfforforfforforforfforfforforfforforfforforformital

새로운 Laravel 버전의 보안 개선은 무엇입니까?새로운 Laravel 버전의 보안 개선은 무엇입니까?Apr 29, 2025 am 12:17 AM

Laravel의 최신 버전은 다음을 포함하여 보안을 크게 향상 시켰습니다. 1.보다 강력한 토큰 검증 메커니즘을 통해 CSRF 보호 향상; 2. 향상된 쿼리 구성 방법을 통해 개선 된 SQL 주입 보호; 3. 사용자 데이터 보안을 보장하기위한 더 나은 세션 암호화; 4. 더 미세한 세분화 된 사용자 인증 및 MFA (Multi-Factor Authentication)를 지원하는 인증 시스템 향상.

시간대 탱고 : 글로벌 인력의 일정 충돌 예약 탐색시간대 탱고 : 글로벌 인력의 일정 충돌 예약 탐색Apr 29, 2025 am 12:13 AM

Tonavigateschedulingconflictsinaglobalworkforce, usetechnology, 공감 및 전략적 계획 : 1) EmployToolsworldtimebuddyorcalendlyforscheduling; 2) rotatemeettimeettimeettimeStoensureFairness; 3) SpuctionCoreHourOverlap;

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.