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

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

エラーを無視せずLaravel9プロジェクトを作成する

# はじめに
[前回記事](https://qiita.com/asuka-hanerock/items/1e14eff782ce6b03085e)のLaravelプロジェクトがとにかく動けば良いという簡易版だったので、理解を深めるためにちゃんと設定する方法を書いていきます

誤っている点やもっと良い方法があればコメントにてご教授お願いいたします

# 目次

1. [前提](#Chapter0)
1. [構築環境](#Chapter1)
1. [前回の問題点](#Chapter2)
1. [プロジェクトの作成](#Chapter3)
1. [動作確認](#Chapter4)



# 前提
PHP、Composerがインストールされており実行できる状態であること


# 構築環境
OS:Windows 11 Home
ターミナル:Windows11デフォルトのターミナル(PowerShel

元記事を表示

laravel FakerPHPを使ってダミーデータを生成する

# 概要

– laravelのFactoryなどでFakerPHPを用いてダミーデータを生成する方法をまとめる。

# 生成方法

– 下記の様に記載することでダミーデータを生成する事ができる。

“`FooFactory.php
// Factoryクラス内での使用
$this->faker->指定フォーマットの関数名;

// それ以外のクラスでの使用(言語はデフォルト)
use Faker\Factory;
Factory::create()->指定フォーマットの関数名;

// それ以外のクラスでの使用(言語は日本語を指定)
use Faker\Factory;
Factory::create(‘ja_JP’)->指定フォーマットの関数名;
“`

# 指定フォーマット

– 下記のFakerPHP非公式リファレンスや、本家のリファレンスで各フォーマットの指定方法がわかりやすく記載されている。
– [FakerPHP非公式リファレンス](https://fwhy.github.io/f

元記事を表示

laravel CarbonImmutableインスタンスのタイムゾーンを変更する

# 概要

– UTCで作成されたCarbomImmutableインスタンスのタイムゾーンをAsia/Tokyoに変更する方法をまとめる。

# 方法

– 既に作成されているCarbonImmutableインスタンスにtimezone関数をメソッドチェーンすることでタイムゾーンを変更する事が可能となる。

“`php
use Carbon\CarbonImmutable;

$utcDateTime = ‘2022-07-30 00:00:00’;

$utc = new CarbonImmutable($utcDateTime, ‘utc’);
$asiaTokyo = $utc->timezone(‘Asia/Tokyo’);
“`

元記事を表示

laravel タイムゾーンを指定してCarbonImmutableインスタンスを生成する

# 概要

– タイムゾーンを指定してCarbonImmutableインスタンスを生成する方法をまとめる。

# UTC現在時刻でCarbonImmutableインスタンス生成

– 下記の様に記載する。

“`php
use Carbon\CarbonImmutable;

$nowUtc = CarbonImmutable::now(‘utc’);
“`

元記事を表示

ローカル環境でLaravel9を使えるようにする

# はじめに
Laravel9を初めて触る中で苦戦した箇所がいくつかあったので、備忘も兼ねてまとめます
誤っている点やもっと良い方法があればコメントにてご教授お願いいたします

# 目次

1. [前提](#Chapter0)
1. [構築環境](#Chapter1)
1. [事前準備](#Chapter2)
1. [Laravel9のインストール](#Chapter3)
1. [プロジェクトの作成](#Chapter4)
1. [動作確認](#Chapter5)



# 前提
PHPが実行できる状態であること


# 構築環境
OS:Windows 11 Home
ターミナル:Windows11デフォルトのターミナル(PowerShell)
ブラウザ:Google Chrome


# 事前準備
ライブラリ管理ツールであるComposerをイン

元記事を表示

★備忘録 Laravel PJにてTop(index)以外のページが404になる事象の解決策

表題の通りLaravelPJにおいて
トップページ以外404になる事象に遭遇。

色々確認すべき所はあったものの、結局今回の事象では
ModRewriteが有効になっていなかった事が原因でした。

なので以下のコマンドで解決。

“`言語:コマンド
sudo a2enmod rewrite
“`

元記事を表示

PHPで使用した関数備忘録

## ****nl2br****

****nl2br関数とは改行コード「\n」を実際に改行として出力してくれる関数****

“`jsx

こんにちは
さようなら
“`

例)

“`jsx
$hoge_text = nl2br(str_replace([‘といった記号等を、正しく画面に<や>といった記号のまま出力できるような形に変換出来ます。

“`jsx htmlspecialchars( 文字列, 変換パターン, 文字コード ) “`

| 名前 | 説明 | 必須 | タイプ

元記事を表示

【Laravel】 show、edit等のルーティングを主キー(id)ではなくレコード(文字列)にするgetRouteKeyNameメソッド

## 参考ページ https://qiita.com/phper_sugiyama/items/bdeee931ae2b821af895 https://www.messiahworks.com/archives/24058

こちらの情報を元に`show`や`edit`等、通常は主キー(id)を指定するルーティングを、代わりに主キーの持つレコード(文字列)を使用する方法を備忘録として残しておきます。

## やりたい事

ブログページで別ページのリンク`http://localhost:8000/sample`をつけたい。 urlをaタグに直接入れればもちろん解決できますが、ルーティングを使用して行いたい。

“`ruby:show.blade.php オススメ記事オススメ記事 “`

## 開発環境 Windows 10 XAMMP PHP 7.4.29 Laravel Framework 8

元記事を表示

【Laravel Breeze】Breezeのデフォルトで存在するコンポーネントを図解していく

Breezeのデフォルトのコンポーネントについての解説はどこにもなかった(たぶん)ので、誰かの役に立てばということでQiitaの記事にしてみました。

::: note 「dashboard.blade.php(PC画面)」と「dashboard.blade.php(スマホ画面)」と「login.blade.php」の3つだけ図解しました。 :::

# この記事を読むと… 1、dashboard.blade.phpとlogin.blade.phpの構成が分かる。 2、bladeコンポーネントのslotの動きが分かる。 3、再利用したいコンポーネントが見つかるかも。 4、bladeコンポーネントの勉強になるかも。

# dashboard.blade.php(PC画面) 赤色=コンポーネント 黄色=includeされたファイル 黒色=slot

![1659019117642.jpg](https:

元記事を表示

PHP+PostgreSQLから読み解くトランザクション制御

# 始めに こんにちは。新人エンジニアの打越です。 現場に配属されて2か月。現在は、主にPHPを業務の中で学んでおります。まだ配属されて間もないこの2か月の間、プログラムの仕組みをイメージすることに何度も苦戦しました。その中でも、苦戦したこと…「トランザクション制御」について今回は記事にしました。

# トランザクション制御とは ## トランザクション制御について調査してみた感想 私の感想「なにそれ、、、おいしいの?」 決して説明が悪いわけではありません。新人エンジニアの私は、イメージができなかったのです。調査を繰り返しても、様々な情報で溢れ、頭が混乱してしまいました。 そんな私は、現場で使われているPHP+PostgreSQLのコードを読み進めることでイメージできるようになりました。なので、一つ一つのコードで何を処理しているのか確認しながら、トランザクション制御についてイメージしていきましょう。 PHP+PostgreSQLが分からない方も安心してください。今回は、トランザクション制御がイメージできるようになることが目的です。

# PHP+PostgreSQLのコードからトランザ

元記事を表示

AWS SDK for PHP: DynamoDB だけ? リトライを 10 回する件

参考) [retries – AWS SDK for PHP](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_configuration.html#config-retries)

## 概要

リファレンス上リトライのデフォルトは以下のとおり(のはず)だが、DynamoDB のときだけ(?) 10 回リトライしている。

– retry_mode: legacy – max_attempts: 3

## 例

### DynamoDB (リトライ未指定)

“`php $ddbClient = new Aws\DynamoDb\DynamoDbClient([ ‘region’ => ‘ap-northeast-1’, ‘version’ => ‘2012-08-10’, ‘endpoint’ => ‘http://192.168.1.1’, // 応答なし ‘http’ => [ ‘connect_timeout’ => 3, ], ])

元記事を表示

Symfonyのpublic/index.phpはなぜ”無名関数”をreturnしているだけなのか

Symfonyをインストールすると、LaravelやCakePHPなどと同様に、Webサーバから実行されるファイル`public/index.php`が自動生成されます。 例えば、Laravelの`public/index.php`ですが、

“`php:public/index.php make(Kerne

元記事を表示

laravel ErrorCase setAttribute(), 1 passed …HasAttributes.php … exactly 2 expected

### Laravel Illuminate\Database\Eloquent\Model::setAttribute(), 1 passed in HasAttributes.php on line 525 and exactly 2 expected

引数が足りないということはないはずで、以下の記事にも該当しない。 https://qiita.com/qiita-kurara/items/d14a8d26954c843cdca3 https://toriyaru.com/2019/11/08/laravel%E3%81%AE%E3%83%97%E3%83%A9%E3%82%A4%E3%83%9E%E3%83%AA%E3%82%AD%E3%83%BC%E3%81%AE%E5%AD%98%E5%9C%A8%E3%81%97%E3%81%AA%E3%81%84%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%B8%E3%81%AE%E3%82%A4/

$primaryKey = null; の件も該当しない。

やっていることは updateOr

元記事を表示

Alpine.js 紹介

##### Alpine.jsの公式の翻訳になります。 https://alpinejs.dev/

## 15 Attributes

#### x-data HTMLのブロックに対して新しいAlpineコンポーネントとそのデータを宣言します “`php

    …

“` #### x-bind ##### 要素に動的にHTML属性を設定する “`php

  …

“` #### x-on ##### 要素のブラウザイベントをリッスンする “`php “` #### x-text ##### 要素のテキストコンテンツを設定する “`php

  Copyright ©     
元記事を表示

Symfony Stringでアローラロコンをアーロンにする

PHPの標準機能でもアローラロコンをアーロンにできるのだが、Symfonyの[String Component]というやつがちょっとおしゃれな文字列演算を提供しているので、せっかくなのでこれを使ってみよう。

https://qiita.com/tadsan/items/828cf43ec902440255cb

## Symfony String Componentとは

https://symfony.com/doc/current/components/string.html

だいたいドキュメントを見ればわかる。

Symfony Stringは`ByteString` `CodePointString` `UnicodeString`という3種類のクラスを用意しているが、基本は`UnicodeString`が扱う[書記素(grapheme)](https://ja.wikipedia.org/wiki/%E6%9B%B8%E8%A8%98%E7%B4%A0)という単位で扱うのがいいだろう。

![image.png](https://qiita-image-store.s3.

元記事を表示

PHPでアローラロコンをアーロンにする

PHPでもアローラロコンをアーロンにしたい。

つまり、

Pythonの[str型はテキストシーケンス型と呼ばれていて](https://docs.python.org/ja/3/library/stdtypes.html#text-sequence-type-str)、これに[スライスという操作](https://docs.python.org/ja/3/tutorial/introduction.html#strings)をしてやるといい感じになるのですが、**PHPにそんなおしゃれな機能はない**。

ではどうするのか。

## 配列演算を使う方法

“`php

元記事を表示

【PHP初級⑬】for文応用5

[問題]  (参照:http://www.cc.kyoto-su.ac.jp/~mmina/bp1/hundredKnocksPrimary.html)
整数値を入力させ、1から9まで、入力値以外を表示するプログラムを作成せよ。

# コード
“`php
$m = intval(fgets(STDIN));
for($a = 1; $a <= 9; $a++){ if($a <> $m){
echo $a,PHP_EOL;
}
}
“`

↓「3」と入力

# 結果
“`
1
2
4
5
6
7
8
9
“`

元記事を表示

phpのモジュール追加

# やりたいこと
phpのモジュール追加
基本的に全部yumで入れた

# 環境
・CentOS7.3
・php5.4

# 使用できるモジュール一覧
下記コマンドで確認できる
“`
# php -m
“`

# php-pear
DB接続とかでよく使うっぽい

# php-pgsql
phpでpostgresqlの関数等を使う
https://www.php.net/manual/ja/book.pgsql.php

# php-mbstring
phpでマルチバイト文字を使用できるようにする拡張モジュール

元記事を表示

Apache+php-fpmの構築

# 環境
・CentOS7.3
・Apache2.4
・php5.4

# Apahceのインストール

“`

# yum install httpd

“`

# phpのインストール

“`

# yum install php

“`

# php-fpmのインストール

“`

# yum install php-fpm

“`

# php-fpmの設定

/etc/php-fpm.d/www.confの下記を変更
“`
# vi /etc/php-fpm.d/www.conf

listen = /var/run/php-fpm/php-fpm.sock ← 好み

listen.owner = apache
listen.group = apache
listen.mode = 0660

“`

#phpの設定

下記コマンドでphp.iniの場所を確認

“`
# php –ini

(出力例)
Loaded Configure File: /etc/php.ini

“`

php.iniの下記を変更

“`
# vi /etc/php.

元記事を表示

Illuminate\Database\QueryException:SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’ (using password: YES) の解決方法

## はじめに
タイトルに記載のエラーがなかなか解決できず、心が折れそうになりながらも
試行錯誤の末、、、ようやく解決できました!!
試した事を時系列順に記載してしまうとごちゃごちゃしてしまうと思ったため、できる限り
スムーズに解決に繋げていただくためにも、エラーの原因に直接関わっていたであろう
項目を流れも含めピックアップしました。
この記事の内容が、見て下さった方の問題解決のきっかけやヒントに繋がる事を願っています。

## 対象者
Laravelを使って、webアプリ開発をしようと考えられている方

## 開発環境
・macOS Monterey(バージョン12.4)
・PHP 8.1.8
・MAMP & MAMP PRO 6.6(Intel)
・MySQL 8.0

## エラーが発生するタイミング
以下のコマンドを実行した時
“`
php artisan migrate
“`

## 原因
結果的に複数の問題が重なってましたが、今回のケースで言うと原因は主に以下の3つでした。
1. phpMyAdminで作成したユーザ情報の不備
2. .envに設定している環境変数に

元記事を表示

OTHERカテゴリの最新記事