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

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

PHP8.3の新機能について(part2)

以前PHP8.3の新機能について(part1)という内容でQiitaに投稿をしました。
その続きの内容を投稿したいと思います。
[前回の記事](https://qiita.com/HaruKado777/items/54e74936406262b2b39c)はこちらをご確認ください。

## [Randomizer Additions](https://wiki.php.net/rfc/randomizer_additions)
Randomizerクラスに以下の関数が追加されます。

① getBytesFromString()
与えられた文字列、文字列長を参照してランダムに文字列を生成します。
 第一引数$string:選択対象の文字列
 第二引数length:返り値の文字列長

“`php
$randomizer = new \Random\Randomizer();

// ランダムな文字列を生成する
$randomizer->getBytesFromString(‘abcdefghijklmnopqrstuvwxyz0123456789’, 16);

// aが75%、b

元記事を表示

[Laravel] EloquentでのEager LoadingとN+1問題: first()メソッドの罠

# はじめに
現在、laravelを使ってWebアプリの開発をしております。
実務中にfirst()メソッドを使ってデータを取得する際に、インスタンスの内容が変更してしまう現象が起きてしまいました。
原因を調べてみると、Eager LoadingとN+1問題が関わっていることが判明しました。

その**Eager LoadingとN+1問題**を実例とともに簡単にまとめました。

# 目次

1.環境
2.実際に起こった現象
3.Eager Loadingとは?
4.N+1問題とは?
5.Eager Loadingを使った解決策
5.まとめ

# 1.環境
PHP 8.0.10
Laravel Framework 8.83.25

# 2. 実際に起こった現象

下記のようにデータを取得しようとした時に起こりました。
“`
$users = User::query()
->whereIn(‘id’, $userIds)
->where(‘group_id’, auth()->user()->group_id)
->get();
// $users①

$

元記事を表示

【23年9月】Laravel10+ViteへのBootstrap導入手順

## 実行環境

| OS | macOS Ventura 13.5 |
| — | — |
| shell | zsh 5.8.1 (x86_64-apple-darwin21.0) |
| framework | laravel(10.20.0) |
| | vite(4.4.9) |

:::note info
検証日: 2023/09/25
:::

## 本記事で得られる結果

– Laravel10 + Vite環境にて利用できるようになる
– Bootstrap
– Bootstrap-icons

## 事前準備

– [Docker](https://www.docker.com/)がインストール済みであること
– [Laravel](https://laravel.com/)の環境構築済みであること

https://qiita.com/naoto24kawa/items/6848dc89df1514efcea5

## 手順

### Bootstrap本体

1. laravel-ui のインストール

“`shell

元記事を表示

【23年9月】Laravel10をとりあえず使いたい時のとりあえずの設定をする

## 実行環境

| OS | macOS Ventura 13.5 |
| — | — |
| shell | zsh 5.8.1 (x86_64-apple-darwin21.0) |
| middleware | Docker(24.0.6) |
| framework | laravel(10.20.0) |
| | vite(4.4.9) |

:::note info
検証日: 2023/09/25
:::

## 本記事で得られる結果

– 日本向けの最低限の設定を行った Laravel10 動作環境
– Laravel(10.20.0)
– PHP(8.2.9)
– MySQL(8.0.34)

## 前提

– Dockerインストール済み

## 手順

### Laravel

1. 公式を参照 (macOS向け)

https://laravel.com/docs/10.x#getting-started-on-macos

1. インストール

“`shell
curl -s “https://laravel.b

元記事を表示

Silence is golden.

ディレクトリインデックスで何のプラグインやテーマをインストールしているか隠すことができます。

https://github.com/WordPress/WordPress/blob/master/wp-content/index.php

https://github.com/WordPress/WordPress/blob/master/wp-content/plugins/index.php

https://github.com/WordPress/WordPress/blob/master/wp-content/themes/index.php

元記事を表示

WordPressでIntuitive Custom Post Orderが効かないときの対処メモ

直感的に記事などの表示順序並べ替えることができるIntuitive Custom Post Order。
管理画面上は入れ替わっているものの、肝心のサイトでは表示が入れ替わっていない部分があった。その際のメモ。

※ファイルの状態によってまちまちだと思うので「今回はこれで解決した」程度のメモです。要件を書くと果てしないのでファイルの構成などの細かいところの説明は省いています。また、諸事情で子テーマを作成していたため、該当の記述はその子テーマに行っています。
※WordPressとphp初心者なのでなにか間違いがあればご指摘いただけると幸いです!

https://blog.piece-web.jp/wordpress/1702.html

上記サイトによると
> WP_Query や pre_get_posts 等で「orderby」パラメータに、
「menu_order」を設定することで並べ替えが効くようになる場合があります。

とのこと。
が、そもそも上記の記述がうまいこと見つからない…。

ああでもないこうでもないとほかのサイトを見ながらいじり倒している中で、以下のサイトを発見。

元記事を表示

Heredoc / Nowdoc Converter【ヒアドキュメント】

See the Pen
Heredoc/Nowdoc Converter
by John Doe (@04)
on CodePen.