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

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

Contact Form 7 で、メールテンプレート上でプルダウンのラベル値を取得する方法

# 結論:`[_raw_{field_name}]` と書く

お問い合わせ種別をContact Form 7で記述すると、以下のような記述になると思います。

“`
[select* type id:type class:form-select include_blank “イベントに関する問い合わせ|event” “IRに関する問い合わせ|ir” “求人に関する問い合わせ|recruit” “ホームページに関する問い合わせ|web” “その他|etc”]
“`

こうすれば、プルダウンの画面上に表示される選択肢では日本語名が表示され、POSTされる値はvalueに入っている英語名を送ることが出来ます。

でも、メールテンプレートでメールタグを使って出力すると、
valueに入っている値のほうが取得されます

“`
お問い合わせ種別: [type]

お問い合わせ種別: ir
“`

こういう場合、`[_raw_{field_name}]`のように書けば、ラベル値のほうを取得できます

“`
お問い合わせ種別: [_raw_type]

お問い合わせ種別: IRに関する

元記事を表示

PHPにおける return;

## return; の役割

* **関数の終了:** 関数の中で`return;`が実行されると、それ以降のコードは実行されずに、関数が終了します。
* **void関数:** 返り値を必要としない関数(void関数)では、`return;`を省略することもできますが、明示的に`return;`を書くことで、関数の終了を明確にすることができます。
* **返り値 NULL:** `return;`は NULL を返します。

## return; と return null; の使い分けと一般的な使用について

### return; の場合
* **返り値はNULL:**
– `return;` と単に記述した場合、PHPは自動的にNULLを返します。
– NULLは、変数が何も値を持っていないことを示す特別な値です。
* **用途:**
– 関数の処理が正常に終了した場合に、特に値を返さずに処理を中断したい場合。
– エラーが発生した場合に、以降の処理を中断し、エラー処理に移りたい場合。

### return null; の場合
* **明示的にNULLを返

元記事を表示

【Laravel】依存性注入(DI)とは

## 依存性注入とは
依存性注入(Dependency Injection、DI)とは、ソフトウェア設計パターンの一つで、クラスがその依存オブジェクトを自分で生成するのではなく、外部から提供される方法。

## 実装例
“`php
public function __construct(
//コンストラクタの引数
//このクラスが動作するために必要な依存オブジェクト。
//Mainというサービスと、Factoryという工場(ファクトリー)クラスを依存として受け取る。
Main $main_service,
Factory $apply_validate_factory
) {
//依存オブジェクトの代入
//コンストラクタで受け取った依存オブジェクトをクラスのプロパティに代入。
//これにより、クラス内の他メソッドでこれらを使用できる。
$this->main_service = $main_service;
$this->apply_validate_factory = $apply_validate_factory;
}
“`

## DIのメリット

元記事を表示

macでphpのバージョンを切り替える

1, Homebrewを最新の状態にアップデートし、アップグレード
“`
brew update
brew upgrade
“`
2, インストール可能なバージョンを確認
“`
brew search php
“`
3, 必要なPHPをインストール
“`
brew install php@8.2
“`
4, 以下で切り替えと反映
“`
echo ‘export PATH=”/usr/local/opt/php@8.2/bin:$PATH”‘ >> ~/.bash_profile
echo ‘export PATH=”/usr/local/opt/php@8.2/sbin:$PATH”‘ >> ~/.bash_profile
source ~/.bash_profile
“`

元記事を表示

【PHP】APIをNew Relicでエンドポイントごとにモニタリング with Docker

# やりたいこと
PHPで書いたAPIのエンドポイント毎のパフォーマンスをNewRelicでざっくり見ていくまでを書きます。
APMを細かく分析していくところまでは書きません。
ホスト端末のCPU状況などは見ません。
無料枠を利用して、Dockerで完結させます。

# 環境
Mac M2

# NewRelicのアカウント作成
こちらから会員登録しておきます。
クレカ情報いらないので色々安心。

https://newrelic.com/jp/sign-up-japan

ログインしたらコンソールに飛ばされるので、LICENSE_KEYを控えておきます。
以下のようにデフォルトでもアカウントが作成されていると思うので、こちらのTypeがINGEST – LICENSEの三点リーダーをクリックしてCopy Keyで取得できます。
![スクリーンショット 2024-08-18 21.17.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/c509142a-9d0c-9d49-b116-15

元記事を表示

PHPStanをインストールして使ってみる

## はじめに

PHPを学習して2か月が経ち、コード量が増えるにつれてエラー原因の特定に時間がかかるようになってきました。そのため、潜在的なバグやエラーを検出できる静的解析ツールを導入することにしました。

## PHPStanとは

PHPStanはPHPの静的解析ツールで、実行ファイルを実行することなくコードを解析し、バグやエラーを検出することができます。

## 導入

公式ドキュメントに従い、Composerを使ってインストールします。PHPStanの実行ファイルはデフォルトで `/vendor/bin` に配置されます。

“`bash
composer require –dev phpstan/phpstan
“`

## 設定ファイルの作成

PHPStanの設定ファイル (`phpstan.neon`) を作成します。`level` には0から9までの数値が設定可能で、数値が大きくなるほど解析が厳しくなります。記事を参考にすると、レベル8や9は厳しすぎると感じる人が多いようです。今回はレベル6を使用します。

`paths` には静的解析の対象となるフォルダを指

元記事を表示

Laravel 学習(ミドルウェア)

## ミドルウェア

下記コマンドを実行し、ミドルウェアを作成します。
“` cmd
php artisan make:middleware HelloMiddleware
“`

下記ファイルが作成されます。
“`\app\Http\Middleware\HelloMiddleware.php

元記事を表示

Laravel 学習(viewおさらい)

## 内容

以前viewについて学習したのですが下記内容がややこしかったのでおさらいです。

– @section・@yeild・@extends
– @component・@slot
– @include
– ビューコンポーザ

## 実行結果

以降に記述しているデフォルトや@section、@componentなどいずれも下図の結果になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604560/a9e8a316-3025-232f-0d8e-c54345e72f16.png)

## 共通処理

“` php:\routes\web.php
Route::get(‘/hello’,’App\Http\Controllers\HelloController@index’);
“`

## デフォルト

継承などせずに、コントローラとビューだけで解決します。

“`php:\app\Http\Controllers\HelloController.php

元記事を表示

【PHPフレームワークFlow】FlowでPSR-15のカスタムミドルウェアを扱う

# 初めに
PHPにおけるリクエストとレスポンスを扱うためのガイドラインであるPSR-15は主にFW内で使われる技術であり、Controller以降を実装する開発者にとって意識する機会は少ないかもしれません。
そんな中、Flowでは独自のミドルウェアを作成し、ミドルウェアチェインの中に組み込む機能を有しています。

今回は、Flowにおけるカスタムミドルウェアの作成方法とその組み込み方について解説します。

# PSR-15とは
PSR-15は、Web APIやWebアプリケーションのリクエストとレスポンス処理を共通化・標準化するためのガイドラインです。

https://www.php-fig.org/psr/psr-15/

詳しくは以下の記事で解説をしたので、ご覧ください。

https://qiita.com/nnhkrnk/items/912fa9ade4352bf1c764

# FlowにおけるPSR-15
前述の通り、FlowではPSR-15のルールに沿ってリクエストとレスポンスを扱う処理を共通化しています。そして、Flowでは開発者が独自に作成したミドルウェアをミドル

元記事を表示

XserverにComposer 2をインストール

See the Pen
Untitled
by John Doe (@04)
on CodePen.