Ответ 1
- В вашем каталоге
app/Http
создайте файлhelpers.php
и добавьте свои функции. - В
composer.json
в блокеautoload
добавьте"files": ["app/Http/helpers.php"]
. - Выполнить
composer dump-autoload
Это должно сделать это.:)
дата по умолчанию 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}};