laravel5でグローバル関数をカスタマイズしたいのですが、どうすればよいですか?
想把
<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ヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。

PHPの厳格なタイプは、declare(strict_types = 1)を追加することで有効になります。ファイルの上部に。 1)関数パラメーターのタイプチェックと戻り値を強制して、暗黙の型変換を防ぎます。 2)厳格なタイプを使用すると、コードの信頼性と予測可能性を改善し、バグを減らし、保守性と読みやすさを向上させることができます。

PHPでは、最終的なキーワードを使用して、クラスが継承されないようにし、メソッドが上書きされます。 1)クラスを決勝としてマークする場合、クラスを継承することはできません。 2)メソッドを最終的にマークする場合、メソッドはサブクラスによって書き換えられません。最終的なキーワードを使用すると、コードの安定性とセキュリティが保証されます。
