PHP関連のことを調べてみた2023年10月13日

PHP関連のことを調べてみた2023年10月13日

PHPカンファレンス2023に初めてスタッフとして参加してとても良かったよというお話

## はじめに

2023/10/8に開催されたPHP Conference Japan 2023にスタッフとして参加しました。

社員の皆さんはこんな奴が最近エンジニアになって頑張ってるんだなと暖かい目で読んでいただければと思います。

社外の方やエンジニアを目指している方は少しでも学習の参考や、コネクター・ジャパンに興味を持っていただければと思います。

## 私について
未経験から独学でプログラミング学習し5ヶ月でLaravelでポートフォリオを作成しました。そして現在は自社開発企業に入社し、WEBエンジニアとしてプロダクト開発に携わっています。エンジニアになって早いもので3ヶ月経ちました!

## この記事を書いた理由
アウトプットをするまでがカンファレンスだと、どこぞの誰かが言っていたのでこの記事を書きました。

## 記事の流れ

PhpConって?
参加の経緯
前日準備
当日
カンファレンスに参加してみて思ったこと
まとめ

## PhpConって?
PHP Conference Japan 2023の略称で、2000年より年に一度開催されている日本最大のPHPのイベン

元記事を表示

Mac,XAMPPのmysqladminでzsh: command not foundが出る時の対処方法

## MacでXAMPPでPHP環境を整えて、コマンドプロンプトでmysqladmin -u root passwordと入力した所エラーが
phpの勉強のためXAMPPをインストールしてMariaDBのデータベースを作成する際に、コマンドプロンプトで
mysqladmin -u root password
と実行した所、
zsh: command not found: mysqladminエラーが。

## 結論:こうすれば動いた↓
mysqladmin -u root password
ではなく、
/Applications/XAMPP/xamppfiles/bin/mysqladmin -u root -p
とフルパスで入力したら動いた。

![スクリーンショット 2023-10-13 4.10.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576117/3352d3a6-1b87-3acf-7661-846024b8ce99.png)

## viエディタでパスを追加しても動かなかった

元記事を表示

General error: 1364 Field ‘uuid’ doesn’t have a default valueエラーが出た時の対処法

# エラーメッセージ

“`
General error: 1364 Field ‘uuid’ doesn’t have a default value (SQL: insert into `failed_jobs` (`connection`, `queue`, `payload`, `exception`, `failed_at`) values (database, default, {“uuid”:”6c370f45-895f-4b6b-99dd-53443ddcfc61″,…
“`

# 原因
Laravelでジョブ失敗テーブルを作成し、わざと例外を発生させジョブを失敗させたところ該当のエラーが出現した。

原因としては`config/queue.php`の`’failed’`、`driver`に`database-uuids`設定されていなかったため。
日本語公式にも説明がなかったため注意が必要。

“`.php
/*
|—————————————————————

元記事を表示

WordPressの投稿コンテンツフィルター機能をReactで制作

`WordPress REST API`を使ってWordPressの投稿データ(コンテンツ)を`json`形式で取得できます。今回はそれを用いて React / TypeScript でコンテンツのフィルター機能を作りました。備忘録を踏まえて記事にしていきたいと思います。
記事構成は【WordPressでの準備編】と【Reactでのフィルター機能実装編】の2部構成にしています。

【使用技術】
– WordPress
– React
– TypeScript
– Vite

# WordPressでの準備編
## WordPressの投稿データ(コンテンツ)を取得する方法
`WordPress REST API`を使ってコンテンツを取得する方法はシンプルです。`取得先のWordPressサイトドメイン/wp-json/wp/v2/`を指定するだけです。下記例では`fetch API`を使っていますが、他の方法(`axios`や`ajax`)でも行えるでしょう。
“`javascript
fetch(‘取得先のWordPressサイトドメイン/wp-json/wp/v2/’);
“`

元記事を表示

Laravelでweb.phpにrouteを書いてもApacheの404エラーになるのは.htaccessの問題

通常、web.phpにURIを書けば動くはずだが
404エラーになる。
それもLaravelの吐き出すグラフィカルな404ではなく
旧来のApacheが出力する文字だけの404
↑ここに気がつくのが遅くてずっとweb.phpやcacheを疑っていたが
Laravel10の.htaccessは

“`


Options -MultiViews -Indexes

RewriteEngine On

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# Redirect Trailing Slashes If Not A Folder…
RewriteCond %{REQU

元記事を表示

PHPStormが起動しない (Cannot connect to already~)

# PHPStormが起動しない (Cannot connect to already~)

## エラーメッセージ

“`
Cannot connect to already running IDE instance. Exception: Process 482 is still running
“`

## 解消法

該当のプロセスをkillする

自分の場合はカレンダーアプリを終了したら正常に起動しました
“`
user 482 xxxx /System/Applications/Calendar.app/Contents/MacOS/Calendar
“`

## リファレンス

コミュニティにも報告が上がってる
https://intellij-support.jetbrains.com/hc/en-us/community/posts/13541697317906-Error-while-opening-intellij-Cannot-connect-to-already-running-IDE-instance-Exception-Process-2-

元記事を表示

WordPressのPermalink structureが “/%category%/%post_id%/” かつCategory baseが “.” の時2ページ目以降が404になる問題の解決案

## Permalink structureが “/%category%/%post_id%/” かつCategory baseが “.” の時のWordPressの振る舞い(憶測)

おそらく、

– /[カテゴリ名]/ → カテゴリ記事一覧
– /[カテゴリ名]/[ID]/ → IDが[ID]の記事
– /[カテゴリ名]/page/2/ → IDがpage/2って記事? → 404

となる。

## 解決案

:::note warn
十分に検証していません。
:::

– 全てのカテゴリのリライトルールを先頭に追加する。

“`php
add_action(‘init’, function () {
foreach (get_categories([‘hide_empty’ => false]) as $i) {
add_rewrite_rule(
“({$i->slug})/page/?([0-9]{1,})/?$”,
‘index.php?categor

元記事を表示

scm-manager で作成される svn リポジトリをバックアップする

scm-manager で作成されるsvn リポジトリのディレクトリは単純にリポジトリ名ではなくハッシュか何かで作られていて、かつその情報が metadata.xml に格納され、リポジトリディレクトリが …/data にあるかと思いきや同じ “…/data” が2つ作成されているなどチョーめんどくさいのでどうにかする。

基本的にはプロジェクト情報が記述された metadata.xml を読み込んで対象ディレクトリを決定し、バックアップ名称も決める。

svn-backup-dumps.py に -i を渡しているが週1回程度フルバックアップになるようこのオプションなしで実行しないと差分リビジョンが増えすぎてつらいことになる

“`php

元記事を表示

JavaScriptからPHPへのAPIリクエスト: POSTメソッドの実践ガイド

# JavaScriptからPHPへのAPIリクエスト: POSTメソッドの実践ガイド

## 1. XMLHttpRequestを使った方法

### JS側のコード

“`javascript
// XMLHttpRequestオブジェクトを作成
var xhr = new XMLHttpRequest();

// POSTメソッドとAPIのエンドポイントを指定してリクエストを初期化
xhr.open(‘POST’, ‘https://your-server-endpoint.com/api’, true);

// リクエストヘッダーを設定
xhr.setRequestHeader(‘Content-Type’, ‘application/x-www-form-urlencoded’);

// リクエストの状態が変わったときのイベントハンドラを設定
xhr.onreadystatechange = function() {
// リクエストが完了し、レスポンスが成功だった場合
if (xhr.readyState == 4 && xhr.status ==

元記事を表示

Blade Component はキャメルケースで書く

最近 Blade Component を使ってます。
[PSR-12](https://www.php-fig.org/psr/psr-12) とかだと

– スネークケースで変数は書こうね
– 関数名はローワーキャメルケースで書こうね

って感じなので、そんな感じでやってたら若干ハマりました。

#### NG
“`html

“`

#### OK
“`html

“`

[PSR-12: 4.7 Method and Function Calls](https://www.php-fig.org/psr/psr-12/#47-method-and-function-calls) をよく見ると、引数はキャメルケースみたいです。(むずすぎいい!!)

# まとめ
|内容|書き方|例|
|—|—|—|
|変数|スネークケース|test_val|
|関数|ローワーキャメルケース|testMethod|
|引数|ロ

元記事を表示

PHP Conference Japan 2023に登壇しました。

## はじめに

[PHP Conference Japan 2023](https://phpcon.php.gr.jp/2023/)に参加・登壇してきました!
私が所属している[NE株式会社](https://ne-inc.jp/)は本イベントのシルバースポンサーでした。
(温泉の素を配っていた会社です!)

## 登壇

発表概要と資料はこちらです。

https://fortee.jp/phpcon-2023/proposal/383e4223-02f0-4229-93b4-ccae3247527a

社内外で登壇する機会はまぁまぁあるので直前まではあまり緊張しませんでしたが、やはりLTの待機列で待ってる間に徐々に緊張してましたね。
LTって他の講演と違って並列の講演がないので参加者ほぼ全員が聞きに来るんですよね。
今回のぺちこんは大体1000人くらいの参加だと聞いているので、私

元記事を表示

Composerについて

# Composer #

Composer(コンポーザー)は、PHPの依存関係管理ツールで、PHPプロジェクトで使用されるライブラリやパッケージを管理およびインストールするためのツールです。

## Composerの特徴 ##
1. **依存関係の管理**:
– Composerは、PHPプロジェクトの外部依存関係(ライブラリ、フレームワーク、パッケージなど)を管理します。これにより、プロジェクトのコードベース内に必要なパッケージを簡単に追加、削除、アップデートできます。

2. **自動的な依存関係解決**:
– Composerは、依存関係を解決する際に、各パッケージが必要とするバージョンを選択し、競合を解決します。これにより、依存関係が正確に管理され、バージョンの競合や互換性の問題が最小限に抑えられます。

3. **プロジェクトごとの設定**:
– Composerは、プロジェクトごとに独自の`composer.json`ファイルを使用して依存関係を定義します。このファイルには、プロジェクトで使用するパッケージとそのバージョン情報が含まれます。

4. *

元記事を表示

HomebrewでMacにPHPをインストールする

# HomebrewでMacにPHPをインストールする #

## コマンド ##
下記コマンドを実行

“`
brew install php
“`

インストール後、下記コマンドでバージョンが表示されれば成功

“`
php -v
“`

## 公式ページ ##
https://www.php.net/manual/ja/install.macosx.packages.php

元記事を表示

phpタグを瞬時に書きたい。。

phpを学び始めて<?php ?> のタグだけ何故かショートカットとして存在しないという、なんとも地味に煩わしい問題にぶち当たり調べたところ、「html.json」という場所に設定することで簡単にphpタグを入力することが可能になる記事を発見したのでご紹介。

https://zenn.dev/miz_dev/articles/157a7aaad0bdcf

非常に分かりやすく解説されていたので、記事が無くなっても良いようにメモがわりに投稿します。

# 設定方法
左下の歯車(設定)から「ユーザースペニット」を選択
![スクリーンショット 2023-10-09 3.42.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3569237/74fa3f58-d1a2-f887-324b-4460e55079a2.png)
画面上部から「html.json」を検索し選択
![スクリーンショット 2023-10-09 3.42.57.png](https://qiita

元記事を表示

laravel migrateできない!

以下のエラーが発生してmigrateできないです。
![スクリーンショット 2023-10-08 23.31.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492906/6aa3f993-3ba6-f4cb-7387-208db3105a34.png)
エラーメッセージを確認すると、SQLiteデータベースが存在しないことが原因であることが示されています。具体的には、/home/pi/hello-laravel/database/db.sqliteというパスでデータベースファイルが見つかりませんということでしょうか。

SQLiteデータベースファイルが存在しない場合は以下で追加
“`
touch database/db.sqlite
“`
SQLiteデータベースファイルが存在する場合
“`
database % ls
db.sqlite factories migrations seeds
“`
.env に指定されたデータベースのパス /home/pi/hello-larave

元記事を表示

php バージョン変更

**php artisan migrateを行うと以下のエラーが発生してmigrateできない!**
LaravelのバージョンとPHPのバージョンの間に不整合があるため実行できないというエラーが発生しています。
(現在のバージョン**8.2**)
![スクリーンショット 2023-10-08 22.14.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492906/fb6e2689-1008-bd24-7577-126dc3f7bd1a.png)
PHP 8.0にグレードダウンするためPHP 8.0をインストールする
“`
brew install php@8.0
“`

シンボリックリンクを変更して、デフォルトのPHPバージョンとして設定
“`
brew link –overwrite –force php@8.0
“`
PHPのバージョンを確認
“`
php -v
“`
以下のようにバージョンが8.0に変更されたらOK。
![スクリーンショット 2023-10-08 22.5

元記事を表示

[VSCode編] MACでPHPの環境構築

# 今回やること
MAMPを使わず、VSCodeだけででPHPを使うことができます。
但し、SQLを使う場合はMAMP必須です。

1. 拡張機能を入れる
1. VSCodeにPATHを通す
1. 動作確認

※. この記事を読む前に、MAMP編をご確認ください。
[[MAMP編] MACでPHPの環境構築](https://qiita.com/Rei_33/items/109e09d7bcfe1f821fd7)

導入するもの
* VSCode(既にインストールしていることを想定しています。)
* PHP Server(拡張機能)

## 1. 拡張機能を入れる
拡張機能からPHP Serverを検索してインストールしてください。
※ 画像は無効にするになってますが、インストールと表示されているはずです。

[MAMP編] MACでPHPの環境構築

# 今回やること
1. MAMPをインストール
1. MACにPHPのPATHを通す
1. 動作確認
1. 続きは[[VSCode編]](https://qiita.com/Rei_33/items/49b5ebadbe2adca4186c)

今回導入するバージョンは以下になります。
目的に応じてここは変更してください。
* MAMP 4.5
* PHP 7.1.12

前提知識は以下を触ったことがある方を想定しています。
* HTML/CSS
* VSCode
* Terminalでコマンドをいくつか試したことがある
コマンドラインがわからなければ、
Progateで「Command Line 基礎編」を終わらせてください。
そんな時間かかりません。

## 1. MAMPをインストール
公式サイトから好きなバージョンを入れてください。
今回は4.5を導入します。
IntelMacの方は同じもの選んでOKです。
M1Macの方は、M1用を入れてください。(バージョン6.8など)
https://www.ma

元記事を表示

Python と Java と Go と Node.js と PHP と Ruby と TypeScript のサポート状況について (2023.10)

オープンソース系のプログラム言語のセキュリティサポートの期限をまとめました。他の方の参考になれば幸いです。

# Python のサポート状況
Python は通常1年ごとにマイナーバージョンがリリースされます。マイナーバージョンはリリースされてから18ヶ月の間、バグ修正が行われます。バグ修正期間が終了すると、最初のリリースの5年先までセキュリティ修正が提供されます。セキュリティ修正期間中はソースコード形式で提供されます。

サポートが有効な Pythonのバージョンは **3.8, 3.9, 3.10, 3.11, 3.12**です。3.8 のサポートは1年以内に終了する予定です。また 3.8, 3.9, 3.10 の最新版の macOS と Windows 向けのインストーラはありません。

|マイナーバージョン|最新版|初版リリース日|バグ修正の対応期間|セキュリティ修正の対応期間|
|—|—|—|—|—|
|**Python 3.12**|[3.12.0](https://www.python.org/downloads/release/python-312

元記事を表示

【PHP】TRON の “Transfer from” の実装

# 【PHP】TRON の “Transfer from” の実装

PHP で TRON の “Transfer from” 機能を実装するには、TRON ブロックチェーンとのインタラクションが必要です。一般的なアプローチは、TRON の公式 PHP API または他のサードパーティのライブラリを使用する方法です。[参照](https://github.com/fwx5618177/PHP-Torn-Transfer-From)

本記事は、ウェブページ上で TRON ブロックチェーンとのインタラクションを可能にする TRON の公式ウォレット、TRONLink を使用した例を提供しています。

**TRONLink とは**:

TRONLink は、ウェブページ上で TRON ブロックチェーンとのインタラクションを可能にする TRON の公式ウォレットです。TRONLink には、Chrome 拡張バージョンとウェブバージョンの 2 つのバージョンがあります。本記事では、ウェブバージョンを使用しています。

## 2. 基本セットアップ

1. [Composer](https:

元記事を表示

OTHERカテゴリの最新記事