为了账号安全,请及时绑定邮箱和手机立即绑定

无涯教程: Laravel 8 - 自定义函数介绍

标签:
laravel

我们已知laravel 8还为array,url,route,path等提供了辅助函数。但是,并非我们需要的所有函数。也许一些基本的辅助函数,例如我们项目中的日期格式。这是很多时候,我们需要创建自己的辅助函数,因此本章将讨论如何实现。

步骤1:创建helpers.php文件

在此步骤中,您需要在laravel项目中创建app/helpers.php,并将以下代码放入该文件中:

app/helpers.php

<?php
  
function changeDateFormate($date,$date_format){
    return \Carbon\Carbon::createFromFormat('Y-m-d', $date)->format($date_format);    
}
   
function productImagePath($image_name)
{
    return public_path('images/products/'.$image_name);
}

步骤2:在composer.json文件中添加文件路径

在这一步中,您必须放置helpers文件的路径,因此基本上打开composer.json文件,并将以下代码放入该文件中:

composer.json

...
  
"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Database\\Factories\\": "database/factories/",
        "Database\\Seeders\\": "database/seeders/"
    },
    "files": [
        "app/helpers.php" 
    ]
},
  
...

步骤3:运行命令

这是最后一步,您应该只运行以下命令:

composer dump-autoload

好的,现在您终于可以使用您的自定义帮助程序函数,如changeDateFormate()和productImagePath(),将为您提供如何使用自定义程序函数的示例。

在路由中使用:

Route::get('helper', function(){
    $imageName = 'example.png?imageView2/0/q/75|watermark/2/text/bGVhcm5may5jb20=/font/Y29uc29sYXM=/fontsize/400/fill/I0YxMTQxNA==/dissolve/100/gravity/SouthEast/dx/10/dy/10';
    $fullpath = productImagePath($imageName);
  
    dd($fullpath);
});
  
Route::get('helper2', function(){
    $newDateFormat = changeDateFormate(date('Y-m-d'),'m/d/Y');
  
    dd($newDateFormat);
});

输出:

"/var/www/me/laravel8/blog/public/images/products/example.png?imageView2/0/q/75|watermark/2/text/bGVhcm5may5jb20=/font/Y29uc29sYXM=/fontsize/400/fill/I0YxMTQxNA==/dissolve/100/gravity/SouthEast/dx/10/dy/10"
"09/14/2020"

在视图文件中使用:

$imageName = 'example.png?imageView2/0/q/75|watermark/2/text/bGVhcm5may5jb20=/font/Y29uc29sYXM=/fontsize/400/fill/I0YxMTQxNA==/dissolve/100/gravity/SouthEast/dx/10/dy/10';
$fullpath = productImagePath($imageName);
print_r($fullpath);
{{ changeDateFormate(date('Y-m-d'),'m/d/Y')  }}


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
PHP开发工程师
手记
粉丝
8
获赞与收藏
17

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消