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

PHP関連のことを調べてみた2022年10月05日
目次

php.iniを使ってエラー表示方法

php.iniはphpのファイル設定のことを指す。

エラーの表示方法はphpのファイルのデフォルト設定では
デフォルトの設定では「display_errors = Off」となっています。
こちらの記述を編集します。

これを、
「display_errors = On」
にします、

場所は「Applicants > MAMP > bin > php > php7.3.8 > conf」
の順に移動していきます。

ファイル内検索で、「display_errors」を検索すれば、手間が省けます。

デフォルトでは「display_errors = Off」となっているので、
 
設定を「On」に編集してファイルを保存します。

それも表示がうまくいかない場合は、PHPファイルに直接記述していきましょう。
“`javascript
//エラー表示

//エラーしない

“`

となります。

元記事を表示

Laravel8 Jetstream team版でOwner以外にチームメンバーのロール編集権限を持たせる

Laravel8 Jetstreamであれやこれや作っています。
今回はチーム内に管理者を置いて、共同管理ができるようにしたく、まずはロール変更が出きるようにしてみました。

### 条件
– Laravel8
– Jetstream team版導入済み
– 新規ユーザ登録時にチームIDは指定し、ロールはreaderを持たせている

### なんでこれが必用か
JetstreamのチームメンバーのロールはTeam Ownerしか変更できません。
そこで、editorにも編集権限を渡したいと思います。

### 参考にしたサイト

https://jetstream.laravel.com/2.x/features/teams.html#member-management

### ロールの確認

app/providers/JetstreamServiceProvider.php

editorに**update**があることを確認する。

“`php:JetstreamServiceProvider.php
Jetstream::role(‘editor’, ‘

元記事を表示

php
の改行がうまくいかない場合は??

CSSを確認する

元記事を表示

【PHP】元のDateTimeオブジェクトを変更せずに日付のmodifyを行いたい

## 概要
PHPの日付で計算した後の値取得を行うとなると、DateTimeのオブジェクトを作成した後に`modify`関数を呼ぶ方法が挙げられます。[[PHP] 日時の加算・減算をする(modify)](https://php.programmer-reference.com/php-datetime-modify/)の記事に、実装例があります。
ただ、注意点としてDateTimeのmodifyは破壊的なメソッドなので、modifyを呼び出した後に元のオブジェクトの値も変わってしまいます。元のDateTimeオブジェクトを変更せずに日付のmodifyを行いたい場合どうするか、というのを今回メモ書きします。

## 対応方針
modify後は新しいオブジェクトを使用したい場合、元のオブジェクトに変更を加えない`DateTimeImmutable`クラスが用意されているので、これを使えばやりたいことができそうです。DateTimeImmutableの概要については[【PHP】DateTimeクラス・DateTimeImmutableクラスのオブジェクトの違い](https://blog-

元記事を表示

AlmaLinux8のPHPを7.3/7.4/8.0/8.1/8.2系にバージョンアップする

# はじめに
AlmaLinux8でデフォルトでインストールできるPHPは、2022-10-04時点で“`PHP7.2系“`です。このほかにも7.x系のPHPや最近では8.x系のPHPも登場してきています。
ここでは、AlmaLinux8におけるPHPのバージョンアップ手順を備忘録としてまとめておきます。

# PHPのインストール元
ここでは、AlmaLinux8標準リポジトリ“`AlmaLinux 8 – AppStream“`ではなく、“`epel“`リポジトリ“`remi“`リポジトリを用います。たまに、PHPのモジュールが標準リポジトリでは提供されていない場合があり、これを吸収するために外部リポジトリを利用します

# アップデート手順
## 1. 外部リポジトリの追加
“`bash
# epelリポジトリを追加します
dnf -y install epel-release

# remiリポジトリを追加します
dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

#

元記事を表示

PhpStormの便利機能

## 概要
最近未経験からエンジニアに転職したひよっこエンジニアです。
スキルアップのために、不定期で30分でインプットしたことをまとめて投稿していきます。
第一弾として本記事では、職場で使っている**PhpStormの便利機能・ショートカットキー**についてやっていこうと思います。

## PhpStorm便利機能3選
### 1. 検索系
#### 1-1. どこでも検索:「shift+shift」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680888/aafb7292-46e2-c59b-2e43-4de90eabe103.png)
※**ファイル名検索:「⌘+shift+o」**、**クラス名検索:「⌘+o」** もあるみたい。

#### 1-2. 複数ファイル内検索:「⌘+shift+f」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680888/68cf0e51-

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのオブジェクト指向プログラミングの比較

Python JavaScript PHP Java Ruby

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlのオブジェクト指向プログラミングの比較

# Python

https://qiita.com/kaitolucifer/items/926ed9bc08426ad8e835

# Ruby

https://qiita.com/shogo-1988/items/e749208c0733bbe025c0

# PHP

https://qiita.com/mpyw/items/41230bec5c02142ae691

# Java

https://qiita.com/nao0725/items/aba8126c50bf85543c78

# JavaScript

https://qiita.com/shotets/items/e4b2ca36f5cbdc39

元記事を表示

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolutionエラーが出た

今まで問題なく立ち上がっていたDockerがなぜか立ち上がらない・・・
“`
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution (SQL: select * from information_schema.tables where table_schema = テーブル名 and table_name = migrations and table_type = ‘BASE TABLE’)

at vendor/laravel/framework/src/Illuminate/Database/Connection.php:692
688▕ // If an exception occurs when attempting to run a query, we’ll format the error
689▕ // message to include the bindin

元記事を表示

【Qiita】10万Contributionいったので記録を色々と公開してみるよ

Contributionが10万行ってたので、せっかくだから投稿記事を分析してみたというものです。

本来他者には開示されないView数とかも出してるので一部の人には興味深い内容かもしれません。
知らんけど。
10万Contributionを狙っている方は参考にしてみてはいかがでしょう。

集計に使った値は2022/09/30あたりに取得したデータです。

# いいねランキング / Stockランキング

これは公式に用意されているので[ここ](https://qiita.com/search?sort=like&q=user%3Arana_kualu)見て。

# View数ランキング

よく見られた記事のランキングです。

| 順位 | View数 | 記事 |
| — | — | — |
| 1 | 243836 | [2017年のフロントエンドエンジニアならこの程度は知ってて当然だよな?](https://qiita.com/rana_kualu/items/cad8dbbe5f5a1f1b3ba1) |
| 2 | 190163 | [三項演算子をもっと使おう](h

元記事を表示

未経験転職一ヶ月目のしおり〜やったこと・良かったこと・困ったこと〜

# はじめに
はじめまして、Itoiと申します。
2022年9月に未経験エンジニアとして、今の会社に採用してもらいました。

本記事では、この一ヶ月で経験したことについてまとめてみました。

本稿で私ができた経験や感じたことは、あくまで私の主観です。
業務形態、周囲の人物の人柄、自身の知識などによって、経験も感じ方も大きく左右されると思います。
あくまで、筆者の目線から見た1ケースとしてお読みください。

#### 想定読者
– 未経験転職でどんな会社に行くか悩んでいる方
– 未経験転職で内定をもらい、いよいよ働き出すという方
– 未経験者を育てようとしている方

## 筆者・会社の概要
### 筆者
– 32歳、前職は事務の公務員
– 理系
– 中学生からPCを自作してITに強め
– プログラミング経験はゆるく2年(Ruby。AtCoderでB問題まではほぼ確実に解ける)
– フレームワーク(FW)、DB周りの知識はあまりない

### 会社
– コンサル会社
– 受託開発(社内開発)
– Webサイトの企画・設計・構築・運用業務
– 従業員数約50名
– エ

元記事を表示

XAMPP ローカル環境からGmailを送信する

## はじめに
前回予約フォームを作成しました。
今回はこのフォームに登録したあアドレスには予約完了、管理者のアドレスには受付完了のメールが届くようにします。

## Gmail側でアプリパスワードを取得する
使用するGmail側でアプリパスワードを発行します。
まずはGoogleアカウントの2段階認証を有効に設定されているか確認します。

[Googleのアカウントページ](https://myaccount.google.com/security)の「セキュリティ」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/829365/dfb2d7fa-a89c-4e8e-e981-79a02ff4214d.png)
「2段階認証プロセス」がオンになっていればパスワードの発行が可能です。
オンになっていない場合は[2段階認証の許可](https://support.google.com/accounts/answer/185839?hl=ja&co=GENIE.Platform%

元記事を表示

PHPのフックってなんぞ(フィルターフック編)

[前回の記事](https://qiita.com/nyopono/items/2f87fd5a7c3996250c92)の続きで今回はフィルターフックについてまとめていきます。

※参考記事
・[Web 制作リファレンス (+α)](https://www.webdesignleaves.com/pr/wp/wp_func_hook.html)
・[WordPress フィルターフックの使い方を理解する](https://shu-sait.com/wordpress-filter-hook-tukaikata/)

# フィルターフックとは
[こちらの記事](https://www.webdesignleaves.com/pr/wp/wp_func_hook.html)から抜粋

>WordPressの処理の途中で、出力する内容をカスタマイズしたい場合に使われる仕組み

例えばWordPressでブログを設営していたとして、記事タイトルの頭に「■」という記号をつけたくなったとします。
一つ一つに「■」を書き足していくのは非常に手間な

元記事を表示

会員向けのメール配信機能のショートコードを定義する。

カスタム投稿、「メール配信」が合ったとして、その投稿を会員向けにメール配信する場合、真っ先に思いつくのはadd_shortcodeによってそれぞれのユーザー情報を表示してメールを送信しようかと考えましたが、複数宛に送信したいので使えません。
なので投稿本文をstr_replaceで置換して上げて、returnで返すようにしてあげれば簡単に実装できます。
後はwp_mail等で送信します。

“`php:functions.php
function mail_shortcodes($user_id,$body){
$user_data = get_userdata($user_id);
$shortcodes = array(
‘nickname’ => get_user_meta($user_id,’nickname’,true),
‘user_email’ => $user_data->user_email,
);

$shortcd = array();
$replace = array();
foreach ($sh

元記事を表示

正規表現メモ

– 業務でちょっとした正規表現(半角英数字バリデーション)を書かないといけなかったので個人的メモです( preg_matchの中の一部抜粋 )

“`
/^[a-zA-Z0-9]+$/
“`
・先頭の「^」は文字列の初めからという意味
・[a-zA-Z0-9]に関しては> a~z、A~Z、0~9 の範囲
・「+」 は一回以上
・「$」 は文字列の最後まで

ちなみに「+」 のところは「*」にしてしまうと「0回以上」という意味になり空白文字を受けつけるので気をつけないとですね。

元記事を表示

ブラウザキャッシュ更新 プラグインでbaserCMSのスタイル調整や画像差し替えなどをすぐに反映する

https://market.basercms.net/products/detail.php?product_id=149&category_id=1

サイト改修などで、スタイルシートを変更したり、画像を差し替えたりした際に、ブラウザキャッシュが原因で、なかなか表示が変わらず困ったことはありませんか?
クライアントに改修を依頼されて、変更分をリリースしたところ、クライアントから「変更されてません」という連絡をもらった経験のある方もいらっしゃるかと思います。
こういったトラブルを防ぐために、一般的によく使われているのが、「更新したcssや画像ファイルにクエリストリングを付ける」といった方法です。
具体的には
“`“`
を更新したときには
“`“`
といった形で、拡張子に後ろに“`?{好きな文字}“`

元記事を表示

Laravelで複合主キーを持つ中間テーブルへの値保存時のエラー: local.ERROR: Illegal offset type

## はじめに
– Laravelで複合主キーを持つ中間テーブルへの値保存時のエラーを解消する。
– 今回グループにユーザーを新たに招待して、招待したユーザーが参加を承諾すると中間テーブルに参加状態が保存されるということを行いたい前提で進めます。

## エラー内容
– `local.ERROR: Illegal offset type {“userId”:4,”exception”:”[object] (TypeError(code: 0): Illegal offset type at /app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1125)`

## 現状
– ボタンを押すとグループに参加(ボタン押下でエラー)
“`php:sample.blade.php

@csrf
元記事を表示

5種類のテストダブルを知ろう!

# 初めに

株式会社ナイトレイの和田です。普段、自社サービスの開発に取り組んでいます。

現在私が関わっているプロダクトにユニットテストを導入しました(そのプロダクトではユニットテストが省略されていました)。依存箇所はモックに置き換えてテストすることになり、その際に学習したテストタブルについて共有します。

# テストダブルとは

ソフトウェアテストにおいて、SUTが依存しているコンポーネントを置き換える代用品のこと。

? SUTとは、「テストしている対象」を示すもの。ユニットテストの場合、テストスクリプトが実行する「テスト対象のクラスやメソッド」のことを指す。

# 5種類のテストダブル

## ①スタブ

### スタブとは

SUTの依存コンポーネントを置き換えて、都合の良い任意の値を返すテストダブルのこと。

スタブを利用するメリットは以下が挙げられる。

– **テスト対象が意図通りに動くか?をテストできる**(=SUTが依存コンポーネントの出力に左右されずに意図した出力ができるかどうかをテストできる)
– 依存コンポーネントの部分に決まりきった正しい挙動をするオブジェク

元記事を表示

【PHP】配列のキーを並び替えて⦅駄菓子打線⦆組んでみた

# やりたいこと

懐かしの『駄菓子打線』が入った配列があります。
現状、背番号順に並んでいますが、このままの打順だと気に入らないので、
キー(背番号)の順番を並べ替えて、打順を組み替えたいと思います。

![Noto Sans Black (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694053/f21d1655-2db6-14cb-ec39-4f470b842bd7.png)

(打順について、異論は認めます。)

# 環境
PHP 8.0.1

# PHPのソート関数

PHPで用意されている配列をソートする関数があれば、それを使いたいと思います。
公式を参照すると、これだけありました。

| 関数名 | ソートの基準 | キーと値の相関関係 | ソート順 |
| —- | —- | —- | —- |
| array_multisort() | 値 | 文字列がキーの場合は維持し、数値添字配列の場合は維持しない | 最初の配列、

元記事を表示

WordPressでSEOに強いサイトを作るにはコツがある!その方法を解説

たまにSNSなどで「WordPressはSEOに強い」みたいに言っている方がいます。
間違いなく言えることは、そのようなことを言っている方はSEOに詳しくありません。

なぜそのように言えるのか?SEOに強いWordPressサイトを作るにはどうすればよいか解説します。

本記事はSEOコンサルやWebサイト制作でフリーランスをしている[ミツキ](https://twitter.com/ptnimz1987)が解説していきます。
さまざまなキーワードで上位を取った実績があり、[事例紹介](https://cotrot.net/case/)にて一部を紹介しています。

SEOの基礎については、[SEOとは?初心者向けにわかりやすく解説](https://propagandes.info/seo/)も参考にしてみてください。

## WordPressに関するSEOの勘違い
まずは、WordPressに関するSEOについての勘違いからです。
よくある勘違いとしては、次に挙げる2つではないかと思います。

### WordPressでサイトを作れば、どのようなサイトもSEOに強くなる
202

元記事を表示

OTHERカテゴリの最新記事