使用门面模式 ----------实现根据日期获取当前星期几
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,结束!!!!!!!!!!