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

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

All-in-One WP Migrationで1G以上のサイトをインポートする方法

1G以下であればphp.iniか.htaccessを編集し、サイトの最大アップロードサイズを変更すれば可能です。ただ1G以上になるとphp.iniなどで最大アップロードサイズを引き上げてもインポートの途中で止まってしまいエラーになります。そういった場合に使用する方法です。

All-in-One WP Migration ver6.68を使用します。
まずはこちらからver6.68のプラグインをインストールします。
→ https://drive.google.com/drive/folders/1XamXIzpAnhuqYSSeKDSwpcM7QdcXoTaI?usp=sharing

インストールが完了したら、
管理画面>ツール>プラグインエディターからAll-in-One WP Migrationを選択し、contants.phpを開きます。
ファイル内で”Max”と検索をかけて、以下のコードを見つけてください。

~~~ php
// =================
// = Max File Size =
// =================
define( ‘AI1

元記事を表示

webエンジニア界隈で使われる各言語のテンプレートリテラル比較してみた

# はじめに

昨日書いた記事でもしれっと使ってるんですが、固定の文字列+連番みたいなことをやるときに、普通に文字列連結してもいいのですが見づらいし直感的ではないので、テンプレートリテラル(テンプレート構文)というものを使って、文字列に直接変数をぶっこんでしまう、というやり方を日常的にやるんじゃないかと思います。

昨日書いた記事はこちら

https://qiita.com/layzy_glp/items/7f3e43af11858eff622d

というわけで、昨日書いた記事の順番で各言語のテンプレートリテラルを紹介していきたいと思います。

# Ruby

“`ruby:例
v = “hoge”
print “hoge#{v}” # hogehoge
“`

ダブルクォートで囲われている中の `#{v}` のところですね。変数名を `#{変数名}` ってな感じで囲むやり方です。
割と古く(v1系)からのrubyでは当たり前のように使われているもののようです。
正確には「**式展開(string interpolation)**」と呼ばれるものらしく、変数どころかruby式を入

元記事を表示

isNaNはTRUEじゃないの?

## 今回記事を記述した背景
☆isNaNを書いてつまづいた人へ。
暇だったのである問題を解いていました。
問題の内容は
入力した引数が
*数字だったら5枚する
*数字ではなければ”ERROR”という文字を返す
という簡単な問題を作っていました。
## 記入したコード
“`function num(input){
if(isNaN(input)){
console.log(input * 5)
}else{
console.log(‘error’)
}
}

num(3);
“`
*numの中身が数字だったら→numを5倍するなので、3を入れたら15になるかとおもいきや、、errorになってしもーた。
### isNaN(input)で、数字かどうか判断します

## 原因

### isNaN() 関数は数値ではない場合に true を返すので、注意して使用してください。とのこと

## 修正
“`function num(input){
if(!isNaN(input)){
console.log(input * 5)
}else{

元記事を表示

超初歩的なミス 論理演算子 (否定または否定)条件で無駄な時間を過ごす

論理演算子を用い、ある配列から特定の2つ以上の要素を除いて表示させようとし、 (否定または否定)条件を設定してしまったせいでうまくいかず。

一応メモ。

“`
//配列例
$types = Array(‘A’=>apple, ‘B’=>banana, ‘C’=>cappuccino, ‘D’=>dorian);
“`

“`
//間違い
foreach($types as $type => $key){
if($type != ‘A’ || $type != ‘B’){
echo $type;
}
}
//結果
全て表示される
“`

“`
//単純に書くと
foreach($types as $type => $key){
if($type != ‘A’){
  if($type != ‘B’){
echo $type;
  }
}
}
//結果
A,Bを除いて表示される
“`

元記事を表示

Symfonyのコントローラにおけるパラメータ取りだし

# Symfonyのコントローラにおけるパラメータ取りだし

## Symfony\Component\HttpFoundation\Request のプロパティ
| アクセス | class | 説明 |
| — | — | — |
| ->query | ParameterBag | URLのクエリパラメータ |
| ->request | ParameterBag | POSTのリクエストパラメータ |
| ->attributes | ParameterBag | Routeアノテーションで定義したパスパラメータ |

## Symfony\Component\HttpFoundation\Request のメソッド
| アクセス | 型 | 説明 |
| — | — | — |
| ->get(‘name’) | string | 値 |

## ParameterBag で使用可能な取りだし方法
| アクセス | 型 | 内容 |
| — | — | — |
| ->all() | KV array | すべてのパラメータ |
| ->has(‘name’

元記事を表示

VScode PHP/Laravel デバッガーを導入する

# 概要

– 「Xdebug」の導入方法をまとめる。なお、VScodeでの使用を考慮して導入する。

# 詳細

– 筆者のPCはMacである。
– Homebrewが導入され、使える状態になっている。
– MacのローカルにHomebrewを用いてPHPがインストールされている。

# 方法

1. Xdebugのインストール
1. 下記コマンドを実行してXdebugをインストールする。

“`shell
pecl install xdebug
“`

1. 「Build process completed successfully」と表示されたことを確認する。こちらが出力されれば正常にインストールされている。
1. ターミナルに出力されているインストールログの最後から3行目に表示されている「Installing」の後に記載されているパスをメモする。筆者の出力例を下記に記載する。↓筆者の場合

“`
Installing ‘/opt/homebrew/Cellar/php/

元記事を表示

【Laravelの環境構築】プロジェクト(Laravel用)を作成しようとコマンドを実行したら作成出来ず…

## はじめに
以前、Laravelの環境構築に失敗し若干トラウマのようになっていたのですが(笑)
今回改めてチャレンジし、無事に完了することが出来ました!
全く同じ事象のエラーにぶつかる事は少ないかもしれないですが、
これから「Laravelを使って開発を進めていきたい」という方に向けて
少しでも参考になればと思います。

### 【 構築前の環境 】
・ OS : macOS Monterey バージョン12.4
・ PHP : 7.4.30

### 【 構築後の環境 】
・ OS : macOS Monterey バージョン12.4
・ PHP : 8.1.8
・ Laravel : 9.21.0

### 【 前提条件 : 必須項目 】
#### ・ MAMPのインストール
https://www.mamp.info/en/downloads/
まだインストールされていないという方は、まずこちらの対応からお願いします。
こちらは簡単に言うと、ローカル環境で開発をする上で必要なサーバ(WEBサーバやDBサーバ等)
の役割をまとめて担ってくれるようなソフトウェアです。
不安な方は

元記事を表示

HTMLが動く仕組み

プログラミング学習を本格的に初めて1日目。
以下表題の問いについて分かったので、残しておきます。

# どうしてブラウザ上でHTMLが動作するのか
結論、ブラウザには言語ソフト(解析エンジン)なるものが備わっており、
そいつがHTMLを解釈してブラウザに表示できたわけらしい。

素朴な疑問だったけどわかってよかった。

元記事を表示

ターミナルのインタープリターを使って文字列+連番を出したい!

# はじめに
仕事してて
“`
hoge430,hoge431,hoge432,hoge433,hoge434,hoge435,hoge436,hoge437,hoge438,
“`
みたいな文字列+連番みたいなのをぴゃぴゃっと出したいなーって思ったんですよ。使う用事があったんで。
で、こういうのってターミナルの各言語のインタープリターを使うとやれるんですけど、どうやったっけなー、と思いまして。
備忘録的な感じで。

# Ruby

まずはRubyです。Rubyがこういうの一番簡単に行けたイメージあったので。

“`bash
$ ruby -e ‘(430..438).each{|i|print “hoge#{i.to_s},”}’
“`

簡潔でいいですね。

ちなみにfor文使うとこうです。結局コレでも内部的には`each`が動いているんだそうです。

“`bash
$ ruby -e ‘for i in 430..438 do print “hoge#{i.to_s},” end’
“`

@scivola さんからコメントで頂いたのですがこんな書き方もあるとのことで

元記事を表示

PHP match式

# 概要

– PHPのmatch式について簡単にまとめる

# match式

– switch文の上位互換的な存在

“`
match 式の比較は、 switch 文が行う弱い比較ではなく、 厳密に値を比較(===) します。
match 式は値を返します。
match 式の分岐は、 switch 文のように後の分岐に抜けたりはしません。
match 式は、全ての場合を網羅していなければいけません。
“`

– PHP8以降で利用可能
– `;`で終わらせる必要あり(これは「matchだから`;`で終わらせる必要がある」訳ではない。「matchは式である。式は;で終わらせる必要がある」ということ)

# 使い方

“`php
match (評価したい変数) {
評価したい変数の値A => 評価したい変数が評価したい変数の値Aだった時の処理,
評価したい変数の値B => 評価したい変数が評価したい変数の値Bだった時の処理,
評価したい変数の値C => 評価したい変数が評価したい変数の値Cだった時の処理,
}

元記事を表示

いろんな言語での文字列操作の比較(VBA, Java, C#, PHP, Python, JavaScript)

うちのような小さな会社が、受託案件を長年やっているといろんな言語の保守メンテをやる必要があるのですが
文字列操作、この言語でなだっけ?とよく忘れてしまいます…
よく使うものを中心に文字列操作をまとめていきます。
完全に個人的な忘備録です。

主にVBAを中心に Java, C#, PHP, Python, JavaScriptについて書いていきます

[文字数の長さを取得する](#文字数の長さを取得する)
[文字列から指定文字数の文字を取得する(トリミング)](#文字列から指定文字数の文字を取得する(トリミング))
[文字列から左側の指定文字数の文字を取得する](#文字列から左側の指定文字数の文字を取得する)
[文字列から右側の指定文字数の文字を取得する](#文字列から右側の指定文字数の文字を取得する)
[文字列から指定文字を検索する](#文字列から指定文字を検索する)
[文字列の後ろから指定文字を検索する](#文字列の後ろから指定文字を検索する)
[文字列を置換する](#文字列を置換する)
[アルファベットの小文字を大文字に変換する](#アルファベットの小文字を大文字に変換する)

元記事を表示

contact form 7でメールアドレス確認用フォーム作成する方法

自分の備忘録としてコード残しておきます。

functions.phpに記述
~~~ php
add_filter( ‘wpcf7_validate_email’, ‘wpcf7_validate_email_filter_confrim’, 11, 2 );
add_filter( ‘wpcf7_validate_email*’, ‘wpcf7_validate_email_filter_confrim’, 11, 2 );
function wpcf7_validate_email_filter_confrim( $result, $tag ) {
$type = $tag[‘type’];
$name = $tag[‘name’];
if ( ‘email’ == $type || ‘email*’ == $type ) {
if (preg_match(‘/(.*)_confirm$/’, $name, $matches)){ //確認用メルアド入力フォーム名を ○○○_confirm としています。
$tar

元記事を表示

WordPressでカスタム投稿タイプ別にループする方法

# WordPressでカスタム投稿タイプ別にループする方法

以下カスタム投稿タイプ別にループ処理を作成する場合のコード。

投稿タイプ:news
表示する投稿数:5

~~~ php


‘news’, /* 投稿タイプを指定 */
‘posts_per_page’ => 5, /* 表示するページ数 */
); ?>





~~~

このコードを利用すればindexページに複数種類のループを入れることも可能です。

元記事を表示

kindle本セールの開催情報を、出版社くくりではなく一冊ごとにリマインダー通知を受け取りたくて作った

kindle本セールの開催情報を、出版社くくりではなく一冊ごとにリマインダー通知を受け取りたくて作ったのが、この
kindleセールチェッカーというスクリプトです。

出版社のセール情報だと、欲しいと思っていた本がセール対象になっているのか、いちいちAmazonトップから検索をかけないとなりませんでした。

それが面倒くさかったので、キャンペーン情報をページ内からスクレイピングするファイルを作りました。

元記事を表示

Cloud9で開発したLaravelプロジェクトを、ローカルで動かそうとした時につまった話

# はじめに
大学講義の最終課題で、Laravelを使用したWebアプリケーションを作成した。
参考にした書籍に従って、AWSのCloud9を使って開発を行なったが、教授に提出する際のデバッグのことを考え、ローカルで動くように改修しようとした際つまったことを記述する。

# 問題点
Cloud9で開発していた際にはhttpsでの接続がされていたが、localhostではhttpでの接続をしなければならなかったために、php artisan serve –port=8080 をコマンドで入力してから接続すると、
“`
Invalid request (Unsupported SSL request)
“`
がコマンドラインに表示され、接続ができなかった。
# 解決策
/routes/web.php に
“`php
URL::forceScheme(‘http’);
“`
を追記したところ、httpsがhttpに問題無く変わった。

元記事を表示

【PHP】連想配列の指定カラムの値を別の配列に追加する方法

## 概要
文字で書いてもつかみにくいので、まず2つの配列の図をご覧ください。
![ああああ.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2713225/b7a6ba03-9596-04af-7544-2784377c9754.jpeg)
・`$shop_lists` 【出荷先配列】果物・出荷先を定義 
・`$origins` 【産地配列】果物・産地を定義
### やりたい事
`$shop_lists`に`$origins`の配列から産地を取得して追加したい。

## 追記

こちらの記事で解説しました方法はまだまだ改善の余地のある書き方となっております。
下のコメント欄によりシンプルな書き方を載せて頂きました。
備忘録として筆者が書いた方法も残しておきたいのでそのまま残しますが、やり方の参考はコメント欄に乗せて頂きました方法をご確認ください。

## 開発環境
Windows 10
XAMMP
PHP 7.4.29
Laravel Framework 8.83.15
※処理内容はバニラのphpで書

元記事を表示

【PHP8.2】PHP8.2の新機能

[PHP8.2](https://qiita.com/rana_kualu/items/fc4b02e2daaf102aa92f) / [PHP8.1](https://qiita.com/rana_kualu/items/a6601b49e0591eb42200) / [PHP8.0](https://qiita.com/rana_kualu/items/fe7998fbe773544d5d25)

2022/07/19、PHP8.2が[フィーチャーフリーズ](https://wiki.php.net/todo/php82)しました。
言語機能に関わるような機能の追加・変更が締め切られたということです。
今後はデバッグを繰り返しながら完成度を高めていき、2022/11/24にPHP8.2.0がリリースされる予定です。

というわけでPHP8.2で実装されるRFCを見てみましょう。

# RFC

## [Disjunctive Normal Form Types](https://wiki.php.net/rfc/dnf_types)

賛成25、反対1で受理。

[選言標準形](

元記事を表示

endroid/qr-codeを用いてphpでQRコード画像を生成する

## 実現したいこと
phpのController内で任意の情報を持たせたQRコード画像を生成・保存する。

## インストール
“`console
composer require endroid/qr-code
“`

## 実装
“`$qrData“`にはQRコードの中に保持させたいデータを入れておく。

“`php
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Builder\Builder;
use Endroid\QrCode\Encoding\Encoding;
use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelHigh;
use Endroid\QrCode\Label\Alignment\LabelAlignmentCenter;
use Endroid\QrCode\Label\Font\NotoSans;
use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin;
use

元記事を表示

PHPでのclassの使用

# PHPでclassを学習した
基本的にフレームワークなんかを触りすぎてclassの概念を理解できていると言えなかったので備忘録として残しておく

# 実際にclassを使ってみた
# クラスの作成
class Name {
# クラス内で使う変数の定義
private $name;

# クラスを呼び出したときに呼び込まれる関数
public function __construct($name) {
$this->name = $name;
}

public function getName() {
return $this->name;
}
}

# インスタンスの作成
$name = new Name(“Taro”);
$get_name = $name->getName();
echo $get_name;

コードが呼び込まれる流れ
① name = new Name(“Taro”)でインスタンスを

元記事を表示

【PHP】Youtube Data APIで動画のコメントの一覧の取得

## できること
特定のYoutubeの動画のコメント欄の一覧の取得とcsvファイルへの書き込み

## 事前準備

**ライブラリのインストール**
“`
composer require google/apiclient:^2.0
“`

**APIキーの取得**
下記が参考になるかと思います。

https://qiita.com/gentuki/items/dfd9f4febaec11851c06

https://developers.google.com/youtube

## ソースコード

“`

元記事を表示

OTHERカテゴリの最新記事