по умолчанию 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
Это должно сделать это. 🙂
Поскольку ваш метод Helper статичен, вы можете добавить свой вспомогательный класс в псевдоним config/app
как и в Facade, например:
'aliases' => [ //'dateHelper'=> 'App\Helpers\DateHelper', //for Laravel 5.0 'dateHelper'=> App\Helpers\DateHelper::class, //for Laravel 5.1 ]
Затем, на ваш взгляд,
{{dateHelper::dateFormat1($user->created_at)}}
Однако, если вы также ищете способ сделать это без вспомогательного класса. Вы можете использовать Mutators и Append в своей модели:
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}};