グローバル関数が使いたい
たまに、グローバル関数がLaravelで使いたくなる。というか、個人の小さなサービスくらいなら、繰り返し使う関数は、グローバルで済ましたくなっちゃう。
vendorとかをいじくると、環境変える度に消えてしまったり、深く探すのが大変だったりする。
だから、もうこれでいいや。
ファイルを作る。
僕は app/Http/helper.php にした
helper.php
<?php
define('WEBHOOK','https://discordapp.com/api/webhooks/406852731390925824/BPttDSYrwVf8hub38BBs6velFp6e0sc6Hn8vntEXNz_QrFX_NrmfpKmGhPsJfffLh4Xm');
define('HOOKNAME','HOOK')
function postToDiscord($error)
{
$content = "[where]:".$error->getFile()."\n";
$content .= "[when]:".date("Y/m/d H:i:s")."\n";
$content .= "[state]:".$error->getMessage()."\n";
$data = array("content" => $content, "username" => HOOKNAME);
$curl = curl_init(WEBHOOK);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
return curl_exec($curl);
}
?>
これで
postToDiscord($e);
composer.json 編集
composer.jsonのautoloadプロパティに以下のように追加
composer.json
{
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
},
"files":["app/Http/helper.php"]
},
}
composer dump autoload
laravelのプロジェクトのルートディレクトリで
composer dump-autoload
これで使える。
好きな時に呼ぼう
postToDiscord($e);