デフォルトのcreated_at日付は、MySQL形式で出力され続けます:2015-06-12 09:01:26。 12/2/2017
のような独自の方法で印刷したかったのですが、将来的には他の形式でも使用できるようになりました。
DataHelper.php
という名前のファイルを/app/Helpers/DateHelper.php
に保存します-このようになります
<?php
namespace App\Helpers;
class DateHelper {
public static function dateFormat1($date) {
if ($date) {
$dt = new DateTime($date);
return $dt->format("m/d/y"); // 10/27/2014
}
}
}
私のブレードビューでそれを呼び出すことができるように
DateHelper::dateFormat1($user->created_at)
次に何をしたらよいかわかりません。
phpでカスタムヘルパー関数を作成するためのベストプラクティスは何ですかLaravel 5?
app/Http
ディレクトリ内にhelpers.php
ファイルを作成し、関数を追加します。composer.json
内のautoload
ブロックに、"files": ["app/Http/helpers.php"]
を追加します。composer dump-autoload
を実行しますそれでうまくいくはずです。 :)
ヘルパーメソッドは静的なので、次のように、Facadeのようにヘルパークラスをconfig/app
エイリアスに追加できます。
'aliases' => [
//'dateHelper'=> 'App\Helpers\DateHelper', //for Laravel 5.0
'dateHelper'=> App\Helpers\DateHelper::class, //for Laravel 5.1
]
その後、あなたの見解では:
{{dateHelper::dateFormat1($user->created_at)}}
ただし、ヘルパークラスなしでこれを行う方法も探している場合。モデルでミューテーターとアペンドを使用することを検討できます。
class User extends Model{
protected $fillable = [
'date'
];
protected $appends = [
'date_format_two'
];
public function getDateAttribute($value){
$dt = new DateTime($value);
return $dt->format("m/d/y"); // 10/27/2014
}
//date
public function getDateFormatTwoAttribute($value){
$dt = new DateTime($value);
return $this->attributes['date_format_two'] = $dt->format("m, d ,y"); // 10,27,2014
}
}
後でできる
$user = User::find(1);
{{$user->date}};
{{$user->date_format_two}};