Laravel在控制器中使用公共静态函数很不好

用户名

在Laravel控制器中使用公共静态功能是否不好

在我的产品模型中,我有一个看起来像这样的函数:

public static function setEndDate($time)
{
   if ($time == 2)                                                 
   {
         return Carbon::now()->addMonths(2)->toDateTimeString();
   }
   else                                                            
   {
         return Carbon::now()->addDays($time)->toDateTimeString();
   }

}

然后在我的控制器中使用如下功能:

//Validation etc..

$time = Input::get('end_date'); //To transform end-time

$newProduct = new Product();

$newProduct->some_value = Input::get('some_value');
$newProduct->some_value = Input::get('some_value');


$newProduct->end_date = Product::setEndDate($time); //Using my static function like this


newProduct->save();

使用上面的静态函数不好吗?

Lukasgeiter

这个问题本身就是基于观点的。我不会说在您的模型中拥有这样的方法不一定很坏,尽管我也不建议这样做。(有关该信息的更多信息,请查看@Colin Schoen的答案

无论如何,Eloquent为您的这个特定问题提供了一个更好的解决方案:Mutators!

它们是一种“设置方法”,您可以在其中修改或变异将分配给该属性的值。这是一个例子:

public function setEndDateAttribute($time){
    if ($time == 2)                                                 
    {
        $this->attributes['end_date'] = Carbon::now()->addMonths(2)->toDateTimeString();
    }
    else                                                            
    {
        $this->attributes['end_date'] = Carbon::now()->addDays($time)->toDateTimeString();
    }
}

您可以像这样使用它:

$newProduct->end_date = $time;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C#中使用静态函数和变量的困难

来自分类Dev

我无法从codeigniter中的另一个控制器调用静态函数。为什么?

来自分类Dev

在控制器构造函数中使用HttpContext

来自分类Dev

在XAML中使用静态函数绑定

来自分类Dev

StringHashTable中使用的静态函数线程安全?

来自分类Dev

在PHP的扩展类中使用静态函数

来自分类Dev

Angular-在控制器函数中使用$ http服务

来自分类Dev

在AngularJS控制器中使用jQuery函数

来自分类Dev

在C ++中使用静态和静态函数时出错

来自分类Dev

save()无法在猫鼬中使用静态函数

来自分类Dev

Laravel 5.2模型静态函数的使用

来自分类Dev

在Swift中使用静态函数处理弹出窗口是否不好?

来自分类Dev

在重复的FreeRtos任务中使用静态函数

来自分类Dev

如何在控制器中使用构造函数传递所有函数的$ variables(Laravel)

来自分类Dev

如何获取ID以在控制器laravel中的另一个函数中使用

来自分类Dev

yii控制器操作中使用的PHP Sleep函数

来自分类Dev

在C#中使用静态函数和变量的困难

来自分类Dev

在控制器中使用的Symfony2函数

来自分类Dev

我无法从codeigniter中的另一个控制器调用静态函数。为什么?

来自分类Dev

在控制器构造函数中使用HttpContext

来自分类Dev

Laravel在控制器中使用公共静态函数很不好

来自分类Dev

我是否在Laravel控制器中使用静态方法将自己设置为失败?

来自分类Dev

在PHP的扩展类中使用静态函数

来自分类Dev

Angular-在控制器函数中使用$ http服务

来自分类Dev

在Laravel 5控制器中使用自定义函数

来自分类Dev

在C ++中使用静态和静态函数时出错

来自分类Dev

Laravel 5.2模型静态函数的使用

来自分类Dev

用于管理控制器中使用的方法的静态控制器处理程序......好吗?

来自分类Dev

在函数中使用请求时 Laravel 控制器错误

Related 相关文章

  1. 1

    在C#中使用静态函数和变量的困难

  2. 2

    我无法从codeigniter中的另一个控制器调用静态函数。为什么?

  3. 3

    在控制器构造函数中使用HttpContext

  4. 4

    在XAML中使用静态函数绑定

  5. 5

    StringHashTable中使用的静态函数线程安全?

  6. 6

    在PHP的扩展类中使用静态函数

  7. 7

    Angular-在控制器函数中使用$ http服务

  8. 8

    在AngularJS控制器中使用jQuery函数

  9. 9

    在C ++中使用静态和静态函数时出错

  10. 10

    save()无法在猫鼬中使用静态函数

  11. 11

    Laravel 5.2模型静态函数的使用

  12. 12

    在Swift中使用静态函数处理弹出窗口是否不好?

  13. 13

    在重复的FreeRtos任务中使用静态函数

  14. 14

    如何在控制器中使用构造函数传递所有函数的$ variables(Laravel)

  15. 15

    如何获取ID以在控制器laravel中的另一个函数中使用

  16. 16

    yii控制器操作中使用的PHP Sleep函数

  17. 17

    在C#中使用静态函数和变量的困难

  18. 18

    在控制器中使用的Symfony2函数

  19. 19

    我无法从codeigniter中的另一个控制器调用静态函数。为什么?

  20. 20

    在控制器构造函数中使用HttpContext

  21. 21

    Laravel在控制器中使用公共静态函数很不好

  22. 22

    我是否在Laravel控制器中使用静态方法将自己设置为失败?

  23. 23

    在PHP的扩展类中使用静态函数

  24. 24

    Angular-在控制器函数中使用$ http服务

  25. 25

    在Laravel 5控制器中使用自定义函数

  26. 26

    在C ++中使用静态和静态函数时出错

  27. 27

    Laravel 5.2模型静态函数的使用

  28. 28

    用于管理控制器中使用的方法的静态控制器处理程序......好吗?

  29. 29

    在函数中使用请求时 Laravel 控制器错误

热门标签

归档