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

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

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に設定している環境変数に

元記事を表示

html+cssでデザインしたPDFにデジタル署名を発行する

# 目次
[1.はじめに](#1-はじめに)
[2.wkhtmltopdfとTCPDFの準備](#2-wkhtmltopdfとTCPDFの準備)
[3.PDFをhtml+cssでデザイン](#3-PDFをhtml+cssでデザイン)
[4.3をwkhtmltopdfでPDF化](#4-3をwkhtmltopdfでPDF化)
[5.4にTCPDFでデジタル署名](#5-4にTCPDFでデジタル署名)
[6.おわりに](#6-おわりに)

# 1. はじめに

PDF用のライブラリはいろいろありますが、レイアウトにこだわりつつ、簡単にデザインできて、かつ、デジタル署名の発行までおこなうにはどれを使うのが一番よいのでしょう?

[Digital Signature Additions #4286](https://github.com/wkhtmltopdf/wkhtmltopdf/issues/4286)
*意訳)*
> wkhtmltopdfはデジタル署名の発行ができない
> TCPDFはCSSのサポートがひどい
> そしたらwkhtmltopdfで作成したPDFにTCPDFで署名を発行

元記事を表示

【PHP初級⑫】for文応用4

[問題]  (参照:http://www.cc.kyoto-su.ac.jp/~mmina/bp1/hundredKnocksPrimary.html)
1から20まで順に表示するが、5の倍数の場合は数字の代わりにbarと表示するプログラムを作成せよ。

# コード
“`php
for($a = 1; $a <= 20; $a++){ if($a%5 == 0){ echo 'bar',PHP_EOL; }else{ echo $a,PHP_EOL; } } ``` # 結果 ``` 1 2 3 4 bar 6 7 8 9 bar 11 12 13 14 bar 16 17 18 19 bar ```

元記事を表示

if文で、「AまたはBまたはCまたは….の場合」の条件式をスッキリ書きたい(PHP, JavaScript)

## 初めに
if文で、
`「AまたはBまたはCまたは…の場合」`というように、
特定のOR条件のパターンでのみ実行したい処理がある場合
愚直に書くとif文の条件式が長くなりがちです

イメージ(PHP):
“`hoge_before.php

元記事を表示

【Laravel】 ControllerからViewへ変数を渡す

# 初めに
今までLaravelを使っていた際に、何となくcompact関数を使ってControllerからViewへ変数を渡していましたが、なぜ配列として渡す必要があるのかや、arrayやwithとの違いがいまいち分からなかったので、調べてみました。
今回はその備忘録になります。
何か間違っている箇所がありましたら、ご指摘いただけますと幸いです。

使用環境
・PHP 7.3.24
・Laravel 7.30.4
・M1 Mac

## viewメソッドを使った変数を送る際の仕組み
Laravelではviewメソッドを使うことで、指定したViewに変数を渡すことができます。
よくある書き方としては

“`php
public function show($id) {
$post = Post::find($id);
return view(‘posts.show’, [‘post’ => $post]); //viewメソッド
}
“`

などがあります。(よくController内で見かける書き方かと思います)
実はこのviewメソッドはvendor/larav

元記事を表示

WordPressから自作テーブルを利用する

本稿は下記案件の続きです。併せてご参照下さい。

https://qiita.com/mindwood/items/eccc97cc0eacff1bdc95

# やりたいこと
昨秋以降の原油価格上昇に加え円安とウクライナ情勢…と仕入コスト負担が急騰し、価格改定(値上げ)のニュースが後を絶ちません。
価格改定の度に、ホームページに記載している価格を手作業でひとつひとつ修正するのはしんどいので、データベースを参照するように直してみました。

# データベースを準備しよう
まず、システムから抜いた価格情報(下図はイメージ)をCSVファイルにしてサーバにアップロード。
MySQLにインポートします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236222/d44479fa-9f68-8250-1005-3ee847186a0a.png)

“`:MySQLにログイン
mysql -h example.com -u ユーザ名 -pパスワード データベース名
“`

今回は、WordP

元記事を表示

【MAMP(サーバ)が起動しない】※Startを押しても緑色ではなく、黄色に変化する現象について

## はじめに
こちらの記事は、サーバを起動しようとMAMPのStartボタンを押した際、
(Stopボタンが)黄色に変化し上手く起動しない問題に悩まされている方向けの内容です。
(正常に起動した場合はボタンが緑色に変化し、WebStartボタンが押せる状態になります。)
黄色に変化しサーバが正常に起動しない原因はいくつかあると思いますが、
googleで検索したいくつかの記事通り手順を行っても、なかなか解決できなかったので
同じように解決できていない方がもしいたら、是非参考にしていただきたいです。

## 本記事の対象者
・MAMPが上手く起動しない(既にインストール済みで、前までは正常に起動できていた)
・これまでに、何かしらの形でMySQL(DB)に接続した事がある
・最近PHPのバージョンをアップした
・使用しているポート番号を把握できていない
※上記の内容にいくつか該当する方は、この記事を見る価値はありそうです。

## 開発環境(解決前)
・macOS Monterey(バージョン12.4)
・PHP 8.1.8
・MAMP & MAMP PRO 6.6(Intel)
・M

元記事を表示

OTHERカテゴリの最新記事