PHP関連のことを調べてみた

PHP関連のことを調べてみた

date(‘Ym’, strtotime(‘2024-08’))とdate(‘Ym’, strtotime(‘202408’))の罠

`202408`は**Ym**と評価されるのではなく、**His**として評価されるので実行日の20時24分08秒になります。気をつけてください
“`php
date(‘Ym’, strtotime(‘2024-08’)) !== date(‘Ym’, strtotime(‘202408’))
“`

https://www.php.net/manual/ja/datetime.formats.php#:~:text=%27t%27%3F-,HH%20MM%20II,-%22040837%22%2C%20%22T191919%22

元記事を表示

VScodeプラグイン 各言語おすすめ

VScodeの拡張機能について各言語ごとにまとめる

## 共通

### Japanese Language Pack
 日本語化するための言語化パック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879789/dab28482-ae62-81f6-c8c9-d89dad705f12.png)

### Code Spell Checker
スペルチェック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879789/b106fc87-20c2-9cf9-b235-b6c52f836d0e.png)

### vscode-icons
アイコン表示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879789/48d74c47-fa84-433c-461b-f448ab0c9157.p

元記事を表示

Laravel PHPコマンドを使いこなす

LaravelでのWebアプリケーションの作る際の初期段階として、migrationを使用したDB操作のやり方について随時更新していく

### DBの作成
migrationではDBの作成自体はすることができないため、PHPMyAddmin等でDBをあらかじめ作成しておく

DB作成については[こちら](https://qiita.com/aMASSO/items/08e1ee8b2245d0f524e4)

### テーブル作成
“`
php artisan make:model {table名} -m
php artisan migration
“`

### ログイン機能の実装
デフォルトのログイン機能を実装
“`
composer require laravel/ui
php artisan ui bootstrap –auth
npm install && npm run dev
“`

元記事を表示

未経験から独学でポートフォリオの完成まで【Laravel / MySQL】

# はじめに
2024年1月から独学でプログラミングの学習を始め、
ポートフォリオが完成するまでにやってきたことをまとめたいと思います。

## 目次

1. ポートフォリオの紹介
1. 使用技術
1. 基本設計
1. 開発の進め方
1. 学び
1. 苦労したこと
1. 課題
1. 最後に

# 1. ポートフォリオの紹介

◾️サービスの概要
農業体験イベントの情報や農業に関する知識をブログを通じて発信するサービスです。農業に興味のある方や新たに始めようとする方々に向けて、情報を提供します。

![スクリーンショット 2024-09-09 17.56.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3835741/005d4dd2-1340-a46d-b48f-49337a03b780.png)

◾️開発の背景
父の農業を手伝う中で、何か自分にもできることはないかと考え、このWebアプリケーションを作成しました。農業に挑戦したいがどこから始めればいいのか分からない人や、知識や技術を求めている

元記事を表示

PHPUnit 10 以降で withConsecutive を使いたい場合の 2 つの方法

こんにちは。やまゆです。

https://github.com/sebastianbergmann/phpunit/issues/5063

PHPUnit 9 でモック用の `withConsecutive` メソッドが deprecated になり、 10 で削除されました。

このメソッドは、同じメソッドを連続して呼ぶ場合のモック定義として有効でした。

例えば、このような実装コードがあるとします。

“`php

元記事を表示

【Laravel】NGワードを精度高く検知する機能を開発してみる

こんにちは!
サーバーサイドエンジニアからフルスタックエンジニアにテラ進化したいすぎちゃんです! :cat:

今回はNGワードを**精度高くマスキング**する機能についてお話ししたいと思います!

さて、このNGワードマスキング機能はどのような効果をもたらすでしょうか?

– サービス利用者の心理的安全性の向上
– カスタマーサポート対応の負担軽減
– エンジニアによるデータベースクリーニング作業の削減
([実際に被害にあった人の声](https://qiita.com/nasuB7373/items/10bebd8e9f0b3331f348))

などなど・・・
まさに三方良しの機能と行っても過言ではありません。

実際に配信サービスやオンラインゲームにも、NGワードに対してなんらかの処理をかける機能が搭載されています!

:::note info
– [**ニコニコ生放送**](https://dic.nicovideo.jp/a/%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3%E7%94%9F%E6%94%BE%E9%80%81%3A%E9%81%8

元記事を表示

環境構築メモ – Laravel編

環境構築としてLaravelのセットアップについて記録しておく
今回はUbuntu上にLaravelをインストールする

[Ubuntuのインストールはこちら](https://qiita.com/aMASSO/items/c436339ad183a9dbb545)
[PHP・MySQLのインストールはこちら](https://qiita.com/aMASSO/items/08e1ee8b2245d0f524e4)

### 1.nodeのインストール
※sudo apt でインストールされるnodeは古い為、nvm(ノード バージョン マネージャー)でインストールする

nvmインストール
“`
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879789/6ec66be

元記事を表示

【デレステ】レアアイドルは本当に均等に出現するのか15901人調べてみた

アイドルマスター シンデレラガールズ スターライトステージ9周年おめでとうございます。

https://x.com/imascg_stage/status/1830621726352572503

ところで日課の納税をするたびに気になっていたことがあるんですよね。
レアアイドルって本当にみんな均等に出現するんだろうか?

![01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26088/fa1f6c63-ff23-d04f-5316-537e6df0ece1.jpeg)

デレステはガシャの出現率が全て表示されていまして、レアアイドルは全員0.825%で共通となっています。
ただ毎日引いていると、なんとなくそうではない気がしてくるんですよね。
西園寺琴歌やクラリスはわりとよく見かけるし、逆に楊菲菲や兵藤レナなどはあんまり見ない気がします。
これは単に記憶が偏っているだけなのでしょうか。
それとも本当に何らかの偏りが発生していたりするのでしょうかね。

調べてみたいですよね。
しかし調査するにしても

元記事を表示

新人PGのLaravel備忘録~論理削除の実装~

# はじめに
こちらは筆者がLaravelに関する知識の定着を図るための投稿です。
以下の点にご注意ください
* この記事の読者は私と同じ実務歴半年~1年程度の新人PGの方を想定しています
* 記事内において間違いや冗長な説明が多々あることをご容赦ください
* 公式ドキュメントと相違がある場合はそちらを参考にしてください
* 公の場で記事を引用していただく場合は予めご連絡ください
* コメント大歓迎です!!出来るだけ返信しようと思っております!!
# 今回のテーマ
この記事ではLaravelにおける論理削除の実装について具体的なコードを用いて説明します。[^1]
※今回の実装はlaravel8での実装となります。他のバージョン(特に5.x以前)のlaravelで実装する場合はコードが異なる可能性があるため[公式ドキュメント](https://laravel.com/docs/8.x/eloquent)の#Soft Deletingの項をご確認ください。
[^1]:今回の記事はあくまでも「論理削除の実装」に関する記事であり、導入を推奨するものではありません。
# 論理削除とは
そもそも論

元記事を表示

環境構築メモ – PHP・MySQL編

環境構築としてPHP・MySQLのセットアップについて記録しておく
今回はUbuntu上にPHP・MySQLをインストールする

[Ubuntuのインストールについてはこちら](https://qiita.com/aMASSO/items/c436339ad183a9dbb545)

### 1.PHPインストール
phpのバージョンを確認
“`
sudo apt show php
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879789/b17f0361-bc6b-ad0f-b8ea-91c15700be5c.png)

リポジトリを追加
“`
sudo apt install software-properties-common
sudo apt-add-repository ppa:ondrej/php
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

元記事を表示

PHP Warning: PHP Startup: Unable to load dynamic library ‘curl’ …

まえがき

`xampp` で表題のエラーが出ていたので、それを修正するためのメモです。
(なお、他のすべてのエラーが無くなったわけではありません。)

:::note info
**私の環境**
+ Windows 10 Home(22H2)
+ `D`ドライブ直下に`xampp`をインストールしています(`D:\xampp`)。
:::

## 1. エラーの内容

以前に書いた記事
「**更新が止まった(?)XAMPPに新バージョンのPHPを導入する**」
で追加導入した`PHP8.3.10`は見た目はちゃんと動いたのですが、
`apache`の`error.log`(`D:\xampp\apache\logs\error.log`)に、`apache`を起動するたび、以下のような9行のエラーが記録されていました。

“`conf
[Sun Sep 08 17:52:10.100260 2024] [core:warn] [pid 4956:tid 696] AH00098: pid file D:/xampp/apache/logs/httpd.pid overwritten

元記事を表示

Laravelのテストコードでマテリアライズド・ビューのテーブルに対するクエリのテストをする

業務でマテリアライズド・ビューのテーブルに対して、クエリを実行する関数のLaravelのフレームワークを使ったテストを書きたいとなったときに迷ったので備忘録のために残しておきます。
珍しいケースかなとは思うものの、実際やってみるとそんなに難しくなかったのという感じでした。

ただ、マテリアライズド・ビューのもとになるSQLクエリが複雑だと元データの作成は大変なのでそこのハードルはあるなと思いました。

# マテリアライズド・ビューとは?

本来、SQLのビューは実体を持たない仮想テーブルのようなもので、SELECT文などで生成されます。
マテリアライズド・ビューはその点、実体を持つビューでクエリの結果をテーブルとして作成できる仕組みです。

このテーブルは登録、更新、削除などはできず、読み込みのみできるテーブルとなっており、通常のテーブルとは少し異なります。

参考

https://products.sint.co.jp/siob/blog/materializedview#:~:text=%E3%83%9E%E3%83%86%E3%83%AA%E3%82%A2%E3%83%A9%E

元記事を表示

PHPとMySQLの接続方法をわかりやすく解説【初心者向け】

# 1.はじめに
この記事では、PHPを使ってMySQLデータベースに接続する方法を解説します。
PHPの基本的な知識がある方、データベース接続に挑戦したい初心者の方は是非ご覧ください。

# 2.PHPとMySQLの接続とは?
まずデータベースとは何か、PHPがどのようにデータベースと通信するのかについて簡単に説明します。
接続方法として「PDO(PHP Datta Objects)」と「MySQLi」の2つの接続方法があります。
今回はより汎用的で推奨されているPDOを使用します。

# 3.PHPでのMySQL接続コードの解説
### 3.1 PDOを使用した接続方法
“`PHP:php
try {
$dsn = ‘mysql:host=localhost;dbname=test_db;charset=utf8’;
$username = ‘root’;
$password = ”;
$option = [
PDO::ATTR_ERRMODE => PDO::ERRRMODE_EXCEPTION,
PDO::AT

元記事を表示

[PHP] 可読性0の短めなbase64エンコード・デコード関数 (v2)

この記事は、以下の記事に書いたやつがさすがにゴミだったので、その改訂版です

https://qiita.com/UziDeer/items/a624bf1b06c17fc24fee

“`b64fn.php
$b64Arr = array_merge(range(“A”, “Z”), range(“a”, “z”), range(“0”, “9”), [“+”, “/”]);

function b64safe(string $b64, bool $dec = false, array $rep = [[“+”, “/”, “=”], [“.”, “_”, “-“]]):string {
return str_replace($rep[(int) $dec], $rep[(int) !$dec], $b64);
}

function blockPad(string $str, string $pad, int $len, bool|int $right = false) {
$i = 0;
while

元記事を表示

LaravelでGemini APIを使おう

## はじめに
ChatGPTもいいけどGeminiもアツいよね、ということで使おうとしたのですがどうにも資料が少なくずいぶん苦労したのでやり方をまとめました。

## 環境
“`
$ php -v
PHP 8.2.20 (cli) (built: Jun 4 2024 13:22:51) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.20, Copyright (c) Zend Technologies
with Zend OPcache v8.2.20, Copyright (c), by Zend Technologies

$ php artisan –version
Laravel Framework 11.22.0
“`

## 手順
### 1. Google Cloud Platformへの登録&APIキーの発行
・[Google Cloud Platform](https://console.cloud.google.com/)にユーザ登録
・「APIとサービス」の「Generative Lang

元記事を表示

【PHP/Docker/Twig】初めて生PHPのアプリケーション作成してみた【Pスク生必見!?】

# はじめに
初めまして。Ricccckです。

私は、ReactやJavaScriptには、以前触れたことがあるのですが、今回は、初めてのバックエンド言語。初めてPHPに触れ、わからないこと、難しいことも多くありました…。

そんな中で、初めてアプリケーションを作成したので、今回は、その備忘録を書き留めておこうと思います。

この記事では、コードの詳しい内容までは触れず、「全体のモデルの話」や「コードの書き方」に注目して記事をまとめていきます。DockerとPHPの連携、GDライブラリの使用などで詰まった点もあったので、他の初学者の方に、少しでも参考になればと思います!

今は、twigを用いたフロント実装はあまりないかとも思いますが、Laravelではない **「生のPHP」** を触る機会がある場合には、うってつけの教材になると思いますので、ぜひ触れてみてください。

以下敬略にて失礼します。

# ビルドイメージ
### ロゴ画像
Mac OSユーザーのための必須ソフトウェア

本日のテーマは、Mac OSにインストールすべき必須ソフトウェアです。オフィス、動画、システムに関する日常使用のための生産性ツールをいくつかご紹介します。

役に立ったら、いいねとフォローをお願いします。

## 効率ツール
[Homebrew](https://brew.sh/)
Homebrewは、コマンドラインのパッケージ管理ツールで、サードパーティのソフトウェアパッケージを簡単に管理できるように設計されています。macOSだけでなくLinuxにも対応しており、ユーザーにシンプルなインストールと管理体験を提供します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3878716/e25a5800-f04c-eaab-44e2-4a5500413129.png)

[ServBay](https://www.servbay.com/ja)
ServBayは、開発者向けのワンストップ開発環境管理ツールです。その主な目的は、開発環境の設定と維持のプロセスを簡素化し、開発者が環境の構成に多

元記事を表示

PHP8.0復活!Homebrewのicu4cバージョンアップに対応する方法

# Mac の Homebrew で入れた PHP8.0 が使えなくなったので対処してみた

最近、PHP8.3 にアップデートしたら、突然 PHP8.0 が使えなくなったんです。どうやら、icu4c が 74 に依存するようになってしまい、PHP8.0 では icu4c のバージョンが 73 じゃないとダメみたい。なので、ちょっとした対処方法をシェアします!

## エラーの発生

まず、ターミナルで `php -v` コマンドを叩いたらこんなエラーが出ました。

“`bash
$ php -v
dyld[660]: Library not loaded: /opt/homebrew/opt/icu4c/lib/libicuio.73.dylib
Referenced from: <139D175A-03FF-30B0-926E-B3B5282021FF> /opt/homebrew/Cellar/php@8.0/8.0.30_1/bin/php
Reason: tried: ‘/opt/homebrew/opt/icu4c/lib/libicuio.73.

元記事を表示

高いジムなのに休館しててムカついた勢いでWebアプリリリースした話

## 自己紹介
皆様はジムに行かれてますでしょうか。私は健康を目指して週3で通っております。
大学生のときに、某24hジムでバイトしていたことをきっかけにジムに通い始めました。
その習慣は6年後の今でも続いており、転職を機に最高峰のジムと謳われるゴールドジムに転入しました。
しかし、ゴールドジムは会費が高いです。普通の24hジムの3〜4倍はするんじゃないでしょうか。

## ゴールドジムの問題点
早速ですが、ゴールドジムに文句をつけていきます。
ペルソナ設定ってやつです。

ゴールドジムには、休館日があります。
運営の視点からすれば、その間に掃除をしたり、スタッフの方もお休みも必要ですから、なんら問題はありません。

でも、私は夜型です!22時からやる気が出るのです。
そのため、普段は営業時間の長い大阪付近のゴールドジムで汗を流しています。
ジュラシック木澤さん や なかやまきんに君、横川くんの動画を見なから、フガフガとシムの前までくると。

**「本日は閉館しました。」**

![スクリーンショット 2024-09-04 21.28.45.png](https://qiita-im

元記事を表示

WordPressをローカル環境でDockerを使って一瞬で動かす備忘録

普段Wodpress関連をローカルで開発するときには、WSL2環境でApacheを使って行っています。
しかし、訳あってdockerで動かす必要があったのでその時の備忘録です。

正直、難しいんだろうな・・・
呪文の書(dcoker-compose.yml)かけるかな・・・
と不安だったのですが、 **一瞬でした。**
`docker-compose.yml`の書き方は後で覚える!今は開発環境作るのが先やで!という方はコピペ爆速でいけるはずです。
是非どうぞ!

# 環境
– WSL2
– Docker Desktop for Windows
– WordPress最新
– MySQL

# 爆速を求めてるあなたに
何も気にせず次の通りにしてください。
1. Dockerを起動(私はDocker Desktop for Windowsを使ってます)
1. プロジェクトを置きたいディレクトリに`dcoker-compose.yml`ファイルを作成
1. `docker-compose.yml`に以下をコピペ
“` docker-compose.yml
version:

元記事を表示

OTHERカテゴリの最新記事