storage_path make funciones definir defining crear clase php laravel laravel-5 view-helpers

make - ¿Cuál es la mejor práctica para crear una función auxiliar personalizada en php Laravel 5?



laravel make helpers (2)

  1. Dentro de su app/Http directorio app/Http , cree un archivo helpers.php y agregue sus funciones.
  2. Dentro de composer.json , en el bloque de autoload , agregue "files": ["app/Http/helpers.php"] .
  3. Ejecutar composer dump-autoload

Deberias hacer eso. :)

yo tengo

la fecha predeterminada de created_at sigue imprimiéndose en formato MySQL: 2015-06-12 09:01:26. Quería imprimirlo a mi manera, como 12/2/2017 , y otros formatos en el futuro.

yo creé

un archivo llamado DataHelper.php y almacenarlo en /app/Helpers/DateHelper.php - y se parece a esto

<?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 } } }

quiero

para poder llamarlo en mi hoja de vista como

DateHelper::dateFormat1($user->created_at)

No estoy seguro de qué hacer a continuación.

¿Cuál es la mejor práctica para crear una función auxiliar personalizada en php Laravel 5?


Ya que su método de ayuda es estático, puede agregar su clase de ayuda al alias config/app como una fachada, así:

''aliases'' => [ //''dateHelper''=> ''App/Helpers/DateHelper'', //for Laravel 5.0 ''dateHelper''=> App/Helpers/DateHelper::class, //for Laravel 5.1 ]

Luego, más adelante en su opinión:

{{dateHelper::dateFormat1($user->created_at)}}

Sin embargo, si también está buscando una manera de hacerlo sin una clase de ayuda. Puede considerar el uso de Mutadores y Anexos en su modelo:

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 } }

Mas tarde puedes hacer

$user = User::find(1); {{$user->date}}; {{$user->date_format_two}};