Fork me on Baidu

使用门面模式 ----------实现根据日期获取当前星期几

1,首先是封装一个工具类 

2,是继承 facade 

3,在提供者里面 进行服务的绑定

4,在app/config 里面 provider 和 alias 里面 进行数据的加载

 

1,创建DateTool 工具类

<?php

namespace App;
use Carbon\Carbon;

class DateTool
{
/**
* 根据日期判断今天是星期几
*
* @param string $date 日期字符串,格式为 Y-m-d,例如 "2023-03-04"
* @return string 返回星期几的字符串,例如 "星期一"
*/
public function getWeekdayFromDate($date)
{
$weekdayMap = array(
'Sunday' => '星期日',
'Monday' => '星期一',
'Tuesday' => '星期二',
'Wednesday' => '星期三',
'Thursday' => '星期四',
'Friday' => '星期五',
'Saturday' => '星期六',
);
$weekday = date('l', strtotime($date));
return $weekdayMap[$weekday];
}
}

2,创建Facade 文件夹 并且创建 DateFacade 文件

<?php
namespace App\Facades;

use Illuminate\Support\Facades\Facade;

class DateFacade extends Facade {

public static function getFacadeAccessor()
{
return 'DateTool';
}
}

3,php artisan make:provider DateServiceProvider  生成文件 

<?php
namespace App\Facades;

use Illuminate\Support\Facades\Facade;

class DateFacade extends Facade {

public static function getFacadeAccessor()
{
return 'DateTool';
}
}

4,配置 app/config 信息

 

\App\Providers\DateServiceProvider::class, 放置在provide, 数组里
放到alias 数组
'DateTool'=>\App\DateTool::class,

5 ,需要注意是的 取名字的时候 不要使用一些特殊的单词 否则会消耗大量的事件 会找不到文件等 

6, 使用web.php 进行接口访问

Route::get('getDate', 'App\Http\Controllers\admin\TestController@getDate');
<?php

namespace App\Http\Controllers\admin;

use App\DateTool;
use App\Http\Controllers\Controller;

class TestController extends Controller
{
public function getDate(){
$weekday = '2023-03-06';
return DateTool::getWeekdayFromDate($weekday);
}

}


7,结束!!!!!!!!!!

 

posted @ 2023-03-04 23:57  consideration  阅读(30)  评论(0)    收藏  举报