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

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

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 のサポート状況について (2023.10)

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

# Python のサポート状況

サポートが有効な Python のバージョンは **Python 3.8, 3.9, 3.10, 3.11, 3.12** です。
3.8 は1年以内にサポート終了の予定です。

|バージョン系列|最新バージョン|リリース日|バグ修正の対応期間|セキュリティ修正の対応期間|
|—|—|—|—|—|
|**Python 3.12**|3.12.0|[2023年10月2日](https://peps.python.org/pep-0693/)|[**サポート内**](https://peps.python.org/pep-0693/#bugfix-releases)|[**2028年10月**](https://peps.python.org/pep-0693/#lifespan)|
|**Python 3.11**|3.11.6|[2022年10月24日](https://peps.python.org/pep-0664/#

元記事を表示

【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:

元記事を表示

$_ENVがすっからかん

variables_order: GPCSのときは、`$_ENV`が空になります。回避するには、`getenv(‘PWD’)`を使いましょう。
すべての環境変数がほしいなら、`getenv()`を実行しましょう

“`php

元記事を表示

静的解析ツールで生まれたSQLインジェクション

Security.Tokyo #2 で発表した、CakePHPの脆弱性 CVE-2023-22727の話です。
CakePHPはいいぞ

元記事を表示

Laravel Requestで403 Forbiddenエラーが発生

初心者SEの備忘録。。

[発生状況]
Laravelにて、、
実行すると403 Forbiddenエラーが発生。
どうやら、バリデーションを行うために作成したFormRequestを使うとエラーが出るみたい。

“`app\Http\Controllers\TestController.php
public function update(Int $id, TestRequest $request)
//↑引数が、Request $requestだとエラーは出ない、TestRequest $requestだとエラーが出る
{
return $this->TestService->updateTestInfo($id, $request);
}
“`

Requestファイルは、コマンドで作成したもの。特に変なところはない。
“`
php artisan make:request TestRequest
“`

と思ったら、ここに原因があったーー!

[解決方法]
作成したRequestファイル内のauthorize()のreturnをfals

元記事を表示

nginx でユーザーディレクトリから PHP スクリプト

ネットからいくつかの情報 (Github gist, Stack Exchange) を集めたが、どうもうまくいかない。ユーザーディレクトリの location ブロックには正しく入り、php ファイルの存在も確認できるが、実行すると 404 ばかり。

元記事を表示

VSCodeでPHPをローカル実行してみた

ひょんなことからphpコードをいただいたのだが、手元でパッと確認するにはどうしたら良いのかな、と思って調べた。(いつもはDocker使っちゃってる)
なんやアプリダウンロードせぇだの出てきたんだが…なんと、VSCodeの拡張機能で簡単にローカルサーバーを立ち上げられるらしい!
それが一番簡単じゃん!やってみよう!

## 必要なもの
– VSCode
– 動かしたいphpのソース

## 手順
1. VSCodeで`PHP Server`という拡張機能を探してインストールする
2. `index.php`など実行したいファイルを開き、ウィンドウ右上にある青いボタンを押す
3. ブラウザで実行されたphpファイルが開かれる!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490854/b6d344ae-716e-4ea1-e423-f38bed76b595.png)

## 注意
上記手順で実行ボタン押したら`php not found`って怒られた。
その場合、設定で`Phpserv

元記事を表示

IBMi db2へ、PHP ODBCから接続する

### 導入
こんにちは。phpでお仕事してます。
お仕事の傍、php-srcのコントリビュータもしています。

今回、phpの`odbc_connect()`および`odbc_pconnect()`の改修をするにあたり、いろんなODBCドライバの挙動を見る必要が出てきてIBMi db2に初めて触ることになりました。

日本語にしろ英語にしろまとまった情報源がなく、かなり手探りで接続までたどり着いたので、備忘録を兼ねて記事にすることにしました

なお、この記事では

– DBにPUB400のIBMi db2を使用
– phpは8.4(執筆時点のphp-src masterブランチのビルド)、localのdocker ubuntu22.04環境

での操作の備忘録となります(ただし、php-srcのビルドは本記事の趣旨と逸れるので、割愛します)。

### IBMi db2とは
IBMiに搭載されているdb2のことです。IBMiについての説明はwikipedia先生に任せます。

[IBMi(Wikipedia)](https://ja.wikipedia.org/wiki/IBM_i)

元記事を表示

PHP勉強記録(1日目) – DB接続を共通化 / 見出し部分を一部だけ表示

# 1.はじめに

今日から記録として、その日自分がした勉強の記録を残していこうと思います。
途中から始めようと思ったので、初歩からのスタートではないのですが…
現在Udemyの教材などで勉強中!

# 2.PHPでのDB接続を共通化

“`dbconnect.php

“`
“`index.php

“`
毎回DBの接続の情報を記載するの手間かかるなぁと思っていた時にちょうど教材で解説してくれて助かった。
間違えそうな箇所はなさそうなので、一番最後に付ける;を忘れないように気を付ける。

# 3.見出し部分を一部だけ表示させる。

“`index.php
[PHP] バージョン比較にはversion_compare()を使おう

## 結論

PHPでバージョン比較をする時は、[version_compare()](https://www.php.net/manual/ja/function.version-compare) を使おう

> version_compare()は、ふたつの “PHP 標準” バージョン 番号文字列を比較します。

## サンプル

### 自前で書く場合

“`php
$app_version = ‘5.3.0’;
if ($app_version >= ‘5.3.0’) {
echo($app_version); // 5.3.0
}
“`

こんなふうに書けば自力でバージョン比較できる
・・・けど、

### こんな時に注意⚠️

プレリリース版の`5.3.0-dev` と、`5.3.0` を比較する場合、結果が異なる

“`php
$app_version = ‘5.3.0-dev’;
if ($app_version >= ‘5.3.0’) {
echo($app_version); // 5.3.0-dev
}
“`

“`php
$app_v

元記事を表示

OTHERカテゴリの最新記事