laravel 5에서 전역 기능을 사용자 정의하고 싶은데 어떻게 해야 합니까?
想把
<code>//生成友好时间形式 function friendly_date( $from ){ static $now = NULL; $now == NULL && $now = time(); ! is_numeric( $from ) && $from = strtotime( $from ); $seconds = $now - $from; $minutes = floor( $seconds / 60 ); $hours = floor( $seconds / 3600 ); $day = round( ( strtotime( date( 'Y-m-d', $now ) ) - strtotime( date( 'Y-m-d', $from ) ) ) / 86400 ); if( $seconds == 0 ){ return '刚刚'; } if( ( $seconds >= 0 ) && ( $seconds <= 60 ) ){ return "{$seconds}秒前"; } if( ( $minutes >= 0 ) && ( $minutes <= 60 ) ){ return "{$minutes}分钟前"; } if( ( $hours >= 0 ) && ( $hours <= 24 ) ){ return "{$hours}小时前"; } if( ( date( 'Y' ) - date( 'Y', $from ) ) > 0 ) { return date( 'Y-m-d', $from ); } switch( $day ){ case 0: return date( '今天H:i', $from ); break; case 1: return date( '昨天H:i', $from ); break; default: //$day += 1; return "{$day} 天前"; break; } }</code>
放入函数库,怎么放呢
回复内容:
想把
<code>//生成友好时间形式 function friendly_date( $from ){ static $now = NULL; $now == NULL && $now = time(); ! is_numeric( $from ) && $from = strtotime( $from ); $seconds = $now - $from; $minutes = floor( $seconds / 60 ); $hours = floor( $seconds / 3600 ); $day = round( ( strtotime( date( 'Y-m-d', $now ) ) - strtotime( date( 'Y-m-d', $from ) ) ) / 86400 ); if( $seconds == 0 ){ return '刚刚'; } if( ( $seconds >= 0 ) && ( $seconds <= 60 ) ){ return "{$seconds}秒前"; } if( ( $minutes >= 0 ) && ( $minutes <= 60 ) ){ return "{$minutes}分钟前"; } if( ( $hours >= 0 ) && ( $hours <= 24 ) ){ return "{$hours}小时前"; } if( ( date( 'Y' ) - date( 'Y', $from ) ) > 0 ) { return date( 'Y-m-d', $from ); } switch( $day ){ case 0: return date( '今天H:i', $from ); break; case 1: return date( '昨天H:i', $from ); break; default: //$day += 1; return "{$day} 天前"; break; } }</code>
放入函数库,怎么放呢
在app/Helpers/(目录可以自己随便来) 下新建一个文件 functions.php
在functions.php 中加入这个方法
然后在
bootstrap/autoload.php 中添加
<code>require __DIR__.'/../app/Helpers/functions.php';</code>
或者在
composer.json 中的 autoload 下增加
<code>"files": [ "app/Helpers/functions.php" ]</code>
<code>... "autoload": { "classmap": [ "database" ], "psr-4": { "App\\": "app/" }, "files": [ "app/helpers/functions.php" ] }, ...</code>
参考:Creating a Helpers File
自制函数一个,供大家参考和改进
<code> /** * 格式化时间 * @param mixed \Carbon\Carbon $dt / Int $timestamp / String $date / String "now" * @return date */ function format_time($dt) { $format = [ 'between_one_minute' => '刚刚', 'before_minute' => '分钟前', 'after_minute' => '分钟后', 'today' => 'H:i', 'yesterday' => '昨天 H:i', 'tomorrow' => '明天 H:i', 'default' => 'n月d日 H:i', 'diff_year' => 'Y年n月d日 H:i', 'error' => '时间显示错误' ]; //创建对象 if( is_int($dt) ) { $dt = Carbon\Carbon::createFromTimestamp($dt); } else if( ! $dt instanceof \Carbon\Carbon) { //错误时间 if( $dt == '0000-00-00 00:00:00' || $dt === '0' ) return $format['error']; $dt = new Carbon\Carbon($dt); } $now = \Carbon\Carbon::now(); //今天 if( $dt->isToday() ) { $diff_minute = floor(abs($now->timestamp - $dt->timestamp) / 60); $diff_second = $now->timestamp - $dt->timestamp; //一小时内 if($diff_minute < 60) { //一分钟内 if($diff_second < 60 && $diff_second >= 0) return $format['between_one_minute']; return $diff_second < 0 ? $diff_minute.$format['after_minute'] : $diff_minute.$format['before_minute'] ; } return $dt->format($format['today']); } //昨天 if( $dt->isYesterday() ) return $dt->format($format['yesterday']); //明天 if( $dt->isTomorrow() ) return $dt->format($format['tomorrow']); //非今年,其他时间 if( $dt->format('Y') !== $now->format('Y') ) return $dt->format($format['diff_year']); //今年,其他时间 return $dt->format($format['default']); }</code>

핫 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)

뜨거운 주제











JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

PHP의 마법 방법은 무엇입니까? PHP의 마법 방법은 다음과 같습니다. 1. \ _ \ _ Construct, 객체를 초기화하는 데 사용됩니다. 2. \ _ \ _ 파괴, 자원을 정리하는 데 사용됩니다. 3. \ _ \ _ 호출, 존재하지 않는 메소드 호출을 처리하십시오. 4. \ _ \ _ get, 동적 속성 액세스를 구현하십시오. 5. \ _ \ _ Set, 동적 속성 설정을 구현하십시오. 이러한 방법은 특정 상황에서 자동으로 호출되어 코드 유연성과 효율성을 향상시킵니다.

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

PHP8에서 매치 표현식은 표현식의 값에 따라 다른 결과를 반환하는 새로운 제어 구조입니다. 1) 스위치 명령문과 유사하지만 실행 명령문 블록 대신 값을 반환합니다. 2) 경기 표현식은 엄격하게 비교되어 (===) 보안을 향상시킵니다. 3) 스위치 명세서에서 가능한 파손을 피하고 코드의 단순성과 가독성을 향상시킵니다.

PHP에서는 예측할 수없는 토큰을 사용하여 CSRF 공격을 효과적으로 방지 할 수 있습니다. 특정 방법은 다음과 같습니다. 1. 형태로 CSRF 토큰을 생성하고 포함시킨다. 2. 요청을 처리 할 때 토큰의 유효성을 확인하십시오.

php의 엄격한 유형은 declare (strict_types = 1)를 추가하여 활성화됩니다. 파일 상단에서. 1) 함정 유형 변환을 방지하기 위해 함수 매개 변수 및 리턴 값의 검사 유형 검사를 강요합니다. 2) 엄격한 유형을 사용하면 코드의 신뢰성과 예측 가능성을 향상시키고 버그를 줄이며 유지 관리 및 가독성을 향상시킬 수 있습니다.

PHP에서 최종 키워드는 클래스가 상속되고 메소드가 덮어 쓰는 것을 방지하는 데 사용됩니다. 1) 클래스를 최종적으로 표시 할 때는 수업을 상속받을 수 없습니다. 2) 메소드를 최종으로 표시 할 때는 메소드를 서브 클래스로 다시 작성할 수 없습니다. 최종 키워드를 사용하면 코드의 안정성과 보안이 보장됩니다.
