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

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

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で書きましたが、Laravelのメソッド`dd`で実行内容の確認をしています。

## 配列を定義する
### 出荷先配列
“`ruby:php
$shop_lists = array(
array(‘fluit’ => ‘リンゴ’, ‘shop’ =>

元記事を表示

【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

## ソースコード

“`

元記事を表示

【PHP】基本文法まとめ(※随時追加予定)

PHPを学習している中で出てきた基本文法をまとめていきたいと思います。

# 基本形
– PHPを使うときは、``でくくる。
– 文末に必ずセミコロンをつける。

“`php

“`

# 変数の四則演算
– 省略形の一覧

まずは検索機能のコントローラーを作成します。
同時にコントローラーアクションも作成します。

“`php
// 変数xに1を代入
$x = 1;

// 四則演算の省略形
$x += 10;
$x -= 10;
$x *= 10;
$X /= 10;
$x %= 10;

// 値が1のときだけの省略形
$x ++;
$x –;
“`

# 文字列の連結
– 文字列の連結は、ドット「.」を使う
– 「.=」で省略して書ける

“`php
$name = ‘佐藤’;

echo ‘私の名前は’.$name.’です’;
// 結果: 私の名前は佐藤です

// 省略形
$name .= ‘にしき’;
echo $name;
// 結果: 佐藤にしき

元記事を表示

高知県のよさこい祭り2022に出るチームとスケジュールをjsonデータにする迄。

# 高知県のよさこい祭り2022に出るチームとスケジュールをjsonデータにする迄。

http://www.cciweb.or.jp/kochi/yosakoiweb/schedule/

1. 公式ページからよさこい祭りに出るチームとスケジュールを確認する。
2. 残念ながらチームとスケジュールデータは画像データだった為、OCR処理を行う。
3. OCR後、変換できなかった部分を手動修正する。
4. カンマ区切りのデータを作り下記のPHPコードでjsonファイルを生成する。

尚、githubと自サイトに置いておきますのでjsonデータはご自由にお使いください。

https://yosakoi-video.com/yosakoi2022/

https://github.com/taoka-toshiaki/yosakoi2022-json-data

“`php:下記のPHPコード

元記事を表示

CakePHP4.3のフィクスチャファクトリとプラグインのユニットテスト

引き続き、baserCMS5の開発にてCakePHP2系から4系への移行を進めています。

CakePHP4.3 より、これまでのフィクスチャマネージャーが非推奨になり、フィクスチャファクトリの利用が推奨されているようです。
色々と仕組みがややこしく、ドキュメントが少ないので記録しておきます。

– [フィクスチャのアップグレード](https://book.cakephp.org/4/ja/appendices/fixture-upgrade.html)

従来は、テスト実行時にテーブルの作成とデータ登録がされていたのですが、フィクスチャマネージャーを利用しなくなった事により、テーブルの作成処理が `tests/bootstrap.php` でのマイグレーションでの生成に移行となっている様子。
つまり、 `bootstrap.php` にて、マイグレーションを実行しないとテーブルが作成されない仕様。

まず、マイグレーションは `tests/bootstrap.php` 次のように実行します。
“`php
use Migrations\TestSuite\Migrator;
/

元記事を表示

PHPでログインフォームを作成してみました。

# PHPでログインフォームを作ってみました
開発環境
・M1 MacBook
・MAMP
・PHP フレームワーク無し
・HTML5
・phpmyAdmin
・エディタ vscode

## コード一覧 (会員登録は載せていません)

“`

元記事を表示

2022-07-11 apache から file_put_contents で /tmp に書き込んだファイルが見当たらない

元記事を表示

PHP – とある月の末日を取得する

少々まわりくどいようですが、これが安全な手続きのうちのひとつです。
## サンプル
~~~PHP

~~~
~~~
$ php -f test.php
2022-07-31
$
~~~

元記事を表示

CakePHPでリレーション 先のテーブルの条件検索

matchingを使う。

matchingの使い方。

“`
$user_id = $this->request->user_id;

$query = $users->find()
->matching(‘relation’, function ($q) use ($user_id) { // useで定義した変数が使えるようになる。
return $q
->where([‘
relation.user_id => $user_id,
relation.created_at => ‘2022-07-15’
})
->limit(10)->offset($offset);
“`

元記事を表示

【PHP初級⑪】for文応用3

[問題]   (参照:http://www.cc.kyoto-su.ac.jp/~mmina/bp1/hundredKnocksPrimary.html)
整数値を入力させ、その個数だけ*を、5個おきに空白(スペース)を入れて表示するプログラムを作成せよ。入力値が0以下の値の場合は何も書かなくてよい。

# コード
“`php
$a = intval(fgets(STDIN));
for($m = 1; $m <= $a; $m++){ echo '*'; if($m%5 == 0){ echo ' '; } } ``` ↓「12」と入力 # 結果 ``` ***** ***** ** ```

元記事を表示

OTHERカテゴリの最新記事