- 1. 【Laravel8】コマンド実行(artisanでバッチ処理)ではAuthファサードが使えない
- 2. 【Laravel】祝日を取得するライブラリ
- 3. GOを使ってLaravelのSeederクラスを生成するプログラムを作った
- 4. blastengineのPHP SDKを使ってメールを一括配信する
- 5. blastengineのPHP SDKを使ってメールを即時配信する
- 6. blastengineのPHP SDKを使ってCSVで宛先を一括取り込みする
- 7. Zoom Webhookのvalidationを通す PHP編
- 8. PHPでハイフン(マイナス)に似た文字を統一する
- 9. PHPを基本からまとめてみた【PHPの基本】
- 10. composerのインストールとautoload対応
- 11. LINE Messaging APIを使用してLINE通知
- 12. LaravelのテストでCookie::queueを活かす方法
- 13. 【chart.js】 MySQL + PHP
- 14. ワイが出会ったエラーについて①(PHP)
- 15. いつの間にかDBが破損して動かない
- 16. MysqlのデータをHTML, PHPで表示する(3. Mysqlのデータ書き換え)
- 17. 【環境構築】Docker + Apache + PHP + MySQL + phpMyAdmin + GDライブラリ
- 18. 【PHP8.3】 クラス定数とENUMを文字列から探せるようになる
- 19. [ポートフォリオ技術選定] Laravel Docker Laravel forge
- 20. Laravelのログローテートで指定するdaysは日数ではなくファイル数である
【Laravel8】コマンド実行(artisanでバッチ処理)ではAuthファサードが使えない
自分の環境(Laravel8)では、ターミナルでのコマンド実行(`php artisan batch:Test` や `php artisan schedule:run`)で実行した場合にAuthファサードが利用できなった(空で返される)ので投稿致しました。
## 環境
Windows 10
PHP 7.4.29
Laravel Framework 8.83.15## 検証
“`ruby:TestCommand.php
class TestCommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = ‘batch:Test’;/**
* The console command description.
*
* @var string
*/
protected $description
【Laravel】祝日を取得するライブラリ
Laravelで祝日を扱うことがあり、Yasumiというライブラリが便利でした。
https://github.com/azuyalabs/yasumi
## インストール
“`
composer require azuyalabs/yasumi
“`
## 使用例
“`php
getHolidayDates();
“`“`php
// $holidayArrayの中身
array (
‘newYearsDay’ => ‘2023-01-01’,
‘substituteHoliday:newYearsDay’ => ‘2023-01-02’,
‘comingOfAgeDay’ => ‘2023-01-09’,
‘nationalFoundationDay’ => ‘2023-02-11’,
‘emperorsBirth
GOを使ってLaravelのSeederクラスを生成するプログラムを作った
最近、GOを学習しているのと、csvファイルのデータからLaravelのSeederを作成するタスクがあったので、Seederを作成するツールをGOを使って作ってみました。
## 作ったソース
ついでに、DBからデータを取得し、Seederを作成するプログラムも作りました。
使い方は、README.mdを参照してください。https://github.com/murapon/generate_seeder_by_golang
## 参考にしたサイト
https://qiita.com/ikawaha/items/28186d965780fab5533dhttps://chat.openai.com/chat
を使って、回答を得た。スネークケースのファイル名をアッパーケースに変更する方法
![スクリーンショット 2023-02-08 17.59.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37929/358e0ba1-f95b-64c6-5903-526059b7780f.png)
blastengineのPHP SDKを使ってメールを一括配信する
blastengineはエンジニアフレンドリーなメール配信サービスです。APIとSMTPリレーの両方をサポートしており、手軽に素早くメール配信ができるようになっています。
今回はPHPでblastengineのAPIを簡単に使えるSDKを開発しましたので、使い方を紹介します。今回は大量の宛先に対して一括配送する、バルクメールの使い方です。
[blastengine/blastengine \- Packagist](https://packagist.org/packages/blastengine/blastengine)
## インストール
インストールはcomposerで行ってください。
“`
composer install blastengine/blastengine
“`## インポート
autoloaderでファイルを読み込みます。
“`php
require __DIR__ . ‘/vendor/autoload.php’;
“`## 初期化
Blastengineを初期化します。ユーザ名とAPIキーを使います。
“`php
//
blastengineのPHP SDKを使ってメールを即時配信する
blastengineはエンジニアフレンドリーなメール配信サービスです。APIとSMTPリレーの両方をサポートしており、手軽に素早くメール配信ができるようになっています。
今回はPHPでblastengineのAPIを簡単に使えるSDKを開発しましたので、使い方を紹介します。現在はトランザクションメール(即時発信メール)のみサポートしています。
[blastengine/blastengine \- Packagist](https://packagist.org/packages/blastengine/blastengine)
## インストール
インストールはcomposerで行ってください。
“`
composer install blastengine/blastengine
“`## インポート
autoloaderでファイルを読み込みます。
“`php
require __DIR__ . ‘/vendor/autoload.php’;
“`## 初期化
Blastengineを初期化します。ユーザ名とAPIキーを使います。
“`php
blastengineのPHP SDKを使ってCSVで宛先を一括取り込みする
[blastengine](https://blastengine.jp/)はエンジニアフレンドリーなメール配信サービスです。APIとSMTPリレーの両方をサポートしており、手軽に素早くメール配信ができるようになっています。
今回はPHPでblastengineのAPIを簡単に使えるSDKを開発しましたので、使い方を紹介します。この記事ではバルクメール(一括送信メール)で、メールの宛先をCSVからインポートする方法を紹介します。
## インストール
インストールはcomposerで行ってください。
“`
composer install blastengine/blastengine
“`## インポート
autoloaderでファイルを読み込みます。
“`php
require __DIR__ . ‘/vendor/autoload.php’;
“`## 初期化
Blastengineを初期化します。ユーザ名とAPIキーを使います。
“`php
// 初期化
Blastengine\Client::initialize($your_user_id,
Zoom Webhookのvalidationを通す PHP編
Zoom APIのWebhook機能を使用しようと思い、endpoint URLを入力したところこんなエラーが出ました。
“`
Event notification endpoint URL – URL validation failed. Try again later
“`[Using webhooks](https://marketplace.zoom.us/docs/api-reference/webhook-reference/#validate-your-webhook-endpoint)
ドキュメントを読むと、CRCという形式を返さないとvalidationが通らないとのこと。
Node.jsのサンプルしかなかったので、PHPで書き直してみました。# challenge-response check (CRC)
まず、Zoomアプリに記載されているSecret Tokenを用意します。
そしてエンドポイントのPHPを書きます。“`php
$body = file_get_contents(‘php://input’);
$bodyJson = js
PHPでハイフン(マイナス)に似た文字を統一する
必要に応じて配列は増減させること
“`php
str_replace([
“\u{02D7}”,
“\u{1173}”,
“\u{1B78}”,
“\u{2010}”,
“\u{2011}”,
“\u{2012}”,
“\u{2013}”,
“\u{2014}”,
“\u{2015}”,
“\u{2043}”,
“\u{207B}”,
“\u{2212}”,
“\u{25AC}”,
“\u{2500}”,
“\u{2501}”,
“\u{2796}”,
“\u{30FC}”,
“\u{3161}”,
“\u{FE58}”,
“\u{FE63}”,
“\u{FF0D}”,
“\u{FF70}”,
“\u{10110}”,
“\u{10191}”,
], ‘-‘, $value);
“`
PHPを基本からまとめてみた【PHPの基本】
## 現在時刻を表示する
“`sample.php
“`## 文字列と数式を連結する
“`sample①.php
“`“`sample②.php
“`
## オブジェクトで日付けを扱う“`sample.php
setTimezone(new DateTime(‘Asia/Tokyo’));
echo ‘現在は、’. $today->format(‘G時 i分 s秒’) . ‘
composerのインストールとautoload対応
# composerのインストール
composer.jsonを自動生成
“`
composer init
“`
ファイルが生成される“`json:composer.json
{
“name”: “フォルダ名”,
“autoload”: {
“psr-4”: {
“フォルダ名”: “src/”
}
},
“authors”: [
{
“name”: “名前”,
“email”: “メールアドレス”
}
],
“require”: {}
}“`
もしcomposer initで下記のようなエラーが出力されたら
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784589/43f6cc44-61f9-ae50-4a42-907e990b8ec6.png)php.iniを編集
“`
ex
LINE Messaging APIを使用してLINE通知
# 概要
※当記事は所属している[株式会社コンピュータテクノブレイン](https://computer-tb.co.jp/2022/10/23/line-messaging-api%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%97%e3%81%a6line%e9%80%9a%e7%9f%a5/)にて投稿した内容を転載したものです。
株式会社コンピュータテクノブレインのシステム開発部 森岡です。
タイトルの通り`LINE Messaging API`を使用してLINE通知を行う方法を紹介したいと思います。
# `LINE Messaging API`とは?
皆さんがよく使用されているアプリの LINE に対してプッシュ通知など様々なことが行えるAPIです。
詳しくは [公式サイト](https://developers.line.biz/ja/services/messaging-api/) を参照してください。
# `LINE Messaging API`を使用した実装
早速`LINE Messaging API
LaravelのテストでCookie::queueを活かす方法
# 前置き
久々に投稿。
LaravelのテストでCookieを扱う際に、やり方が公式でも書いてあるのですが、そもそものやり方が事前にCookieを仕込んでおいてそれを読み取るという方法で、トークンなど動的に変わる値には対応できていません。要はその、`Cookie::queue`のテストが避けて通れない場合にどうするか、というのが今回のお題です。
ググっても全然ヒットしなかったので、今回頑張って検証してみました。
# 使用したバージョン
| | |
|———–|————|
| Laravel | ^9.0 |
| PHP | ^8.0 |# 公式のやり方
[公式](https://readouble.com/laravel/8.x/ja/http-tests.html)
“`
$response = $this->withCookie(‘color’, ‘blue’)->get(‘/’);
“`上記を、testCase内に書かないとCookieに書き込まれたことになりません
【chart.js】 MySQL + PHP
参考記事
https://www.tohoho-web.com/ex/chartjs.html
https://qiita.com/H-Toshi/items/d548c92647a9ee30bc95
公式にもサンプルコードあり
https://www.chartjs.org/
# 準備 CDN
“`php5:chart.php
“`# テストコード
DB接続なしの試しのコード。
グラフを表示したい箇所に記述。cssで大きさを調節。“`php5:chart.php
“`
“`php5:chart.php