烨竹
本文参考:https://laravel-china.org/topics/3265/laravel-53-add-custom-facade-steps
今天七夕,很不幸,听说前女友要结婚了,下个七夕一定不会再一个人过了;
官方文档
medoo的优点就不多做介绍了,官方首页有详细的介绍;就本人而言只是为了实现‘优雅的偷懒’;优雅在于代码的优雅,偷懒是因为学了它,就再也不用学习其他的数据库操作类了;
与laravel的交互上面,app.php后面这一段
//使用Medoo命名空间
使用Medoo \ Medoo ;
//注册为数据库
$ app - > singleton ('database' ,function (){
返回新的Medoo ([
'database_type' => 'mysql' ,
'database_name' => 'name' ,
'server' => 'localhost' ,
'username' => 'your_username' ,
'password' => 'your_password'
]);
});
不太喜欢;(或者说不太优雅,还不如去注册一个自定义的门面类)
自定义门面MedooCustom实现:
1、在App下的自定义目录,添加自定义门面类和自定义容器
/app
|- Custom
|- Classes 这里添加自定义 Facade 类
|- Facades 这里添加自定义容器
app/Custom/Classes/MedooCustom.php
'mysql',
'database_name' => $dbname,
'server' => 'localhost',
'username' => 'root',
'password' => 'root',
// 'port' => 3306,
]);
}
}
app/Custom/Facades/MedooCustom.php
2、将自定义的 Facade 和自定义的 Class 绑定起来
$ php artisan make:provider MedooCustomServiceProvider
成功后会创建一个新文件:app/Providers/MLSServiceProvider.php,然后我们在 register() 部分添点东西,如下:
app->bind('medoocustom', function () {
return new MedooCustom($app->make('HttpClient'));
});
}
}
3、添加到自定义容器和取别名
'providers' => [
...
App\Providers\MedooCustomServiceProvider::class,
],
'aliases' => [
...
'MedooCustom' =>App\Custom\Facades\MedooCustom::class,
]
4、定义路由,控制器中直接调用
$router->get('/foo', 'HomeController@foo');
select('movies', ['id', 'title']);
return json_encode($data);
}
}
demoo就不多做介绍,以前的笔记有过总结https://www.jianshu.com/p/0e552d70155e