PHP関連のことを調べてみた2021年10月13日

PHP関連のことを調べてみた2021年10月13日
目次

 phpでWordpressの動画をランダム再生する方法

[基本環境](#基本環境)
[wordpressでカスタムページを作成](#wordpressでカスタムページを作成)
[ランダム表示php](#ランダム表示php)
[動画再生htmlタグ](#動画再生htmlタグ)
[ランダム表示と動画再生組み合わせ](#ランダム表示と動画再生組み合わせ)
[動画アップロード](#動画アップロード)
[カスタムページをカスタマイズ](#カスタムページをカスタマイズ)
[表示確認](#表示確認)
[参考記事](#参考記事)

#基本環境
WordPressで子テーマ設定済み

#wordpressでカスタムページを作成

親テーマのpage.phpをコピペしてカスタムページvideo-random.phpを作成

“`
# cp -p /var/www/html/example.com/wp-content/themes/親テーマ/page.php /var/www/html/example.com/wp-content/themes/子テーマ/video-random.php
“`

video-random.php最上部に以下を追記

“`

元記事を表示

WSL2のUbuntuでPHPStanを使う(VSCode)

# はじめに

– 自分だけの環境に PHPStan を入れて、他の開発メンバーと差をつけたい時、あると思います
– ということで、WSL2 で利用する Ubuntu ディストリビューションに PHPStan を設定し、そちらを VSCode で読み込むようにします

# バージョン

– Windows11 Pro
– 21H2
– VSCode
– 1.61.0
– Ubuntu
– 20.04.2 LTS
– Composer
– 2.1.3

# 前提

– こちらの記事の続きです

# 拡張機能インストール手順

## 1.PHPStan インストール

– 以下のコマンドを実行する

“`bash
# パッケージ最新化
sudo apt update
# PHPStan インストール
composer global require phpstan/phpstan
“`

## 2.VSCode と連携

– VSCode の拡張

元記事を表示

PHPでnull判定関数(isset, empty, is_null)の違い

## はじめに
実務で「変数に配列がセットされてるけど、空配列であることを判定」する必要がありました。
PHPでは配列の空判定が出来る関数としてisset, empty, is_nullがありますが、違いがよくわからずに苦労しました。
理解を深めるために違いをまとめたので記事にしました!

## 対象者
この記事は下記のような人を対象にしています。

– 駆け出しエンジニア
– プログラミング初学者
– null?空文字?なにそれ美味しいの?な人
– isset, empty, is_null…聞いたことあるけど、全部同じじゃないの?と思ってる人

## PHPのnull判定関数(isset, empty, is_null)の違い早見表
まずは結論から。

|| 値 | if($var) | isset | empty | is_null |
|—-| —- | —- | —- | —- | —- |
|1| $var=1 | true | true | false | false |
|2| $var=””; |

元記事を表示

word pressにてgoogle vision apiを使い画像の検索機能を作成する

word press(wp)環境下で、Google Cloud Vision Apiを使用して苦労した話
https://zenn.dev/crinoid/articles/f41a4a09753a71#11.-web_detection
こういった記事を見つけ、画像を検索するシステムを作成しようと思った。
公式:

https://cloud.google.com/vision/docs/detecting-web?hl=ja#vision_web_detection-python
#wpにて、apiを使用する
まず、apiの登録をする。こちらは結構情報があるので割愛。
downloadしたjsonを用意する。(image.json)

### vision clientを使う
結構情報が少なく苦労した部分ですね。特にPHPの情報が少ない….
参考:
https://googleapis.github.io/google-cloud-php/#/docs/google-cloud/v0.165.0/vision/visionclient?method=annotate

※vis

元記事を表示

wpにてdebugする

“`wp-config.php
define( ‘WP_DEBUG’, true );
//ここをtrueにすることにより、デバッグ機能が動く

if ( WP_DEBUG ) {
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
@ini_set( ‘display_errors’, 0 );
}
//ここを記述することにより、debug.logにエラーなどのlogが表示される。
そのため、検証が可能になる。
“`

参考:

https://www.nxworld.net/wp-debug-log.html

元記事を表示

【Laravel】バージョンを確認するときのコマンド

#はじめに
現在自分が使っているLaravelのバージョンを確認する方法を見ていきましょう。

#Laravelのバージョン確認方法

“`php:ターミナル
php artisan –version
“`

“`php:ターミナル
php artisan -V
“`

`Laravel Framework 5.8.38`のようにバージョンが表示されればOKです!

元記事を表示

オブジェクト指向プログラミング入門 for PHP programmers (3)〜継承編

## この記事について

この記事は[オブジェクト指向プログラミング入門 for PHP programmers (2)〜オブジェクト編 – Qiita](https://qiita.com/nunulk/items/286cf0da2d55d4c28ae4)の続編です。

前回「ひとつのアクション対してロジックが複数存在するケース」のところで続きを書きますと宣言していたので、書きました。

本記事では、基底クラス、抽象基底クラス、インターフェイス、トレイトあたりを扱います。

前回同様**「実際の設計・実装」とあまり乖離してない例**で解説してみようとする試みです。

## はじめに

今回は以下のトピックを取り上げます。

* 継承
* インターフェイス
* トレイト

これらのトピックを説明しようとすると長くなってしまうので、本文中でその都度説明していこうと思います。

### 環境

* PHP: 8.0.10

### 目次

1. 継承
2. インターフェイス
3. トレイト
4. 合成と委譲

## 1. 継承

`extends` キーワードを用いて、クラス間でデータや

元記事を表示

DeepL API の使用方法

auth_key と text, source_lang, target_lang を指定して GET or POST するだけ
参考: https://www.deepl.com/docs-api/introduction/

## シェルスクリプト

“`bash:deepl.sh
#!/bin/sh
DEEPL_API_URL=”https://api-free.deepl.com/v2/translate”
YOUR_API_KEY=”__DEEPL_API_KEY_HERE__”
SOURCE_TEXT=”
I’m a lumberjack and I’m OK.
I sleep at night, I work during the day.

He’s a lumberjack and he’s OK.
He sleeps all night and he works all day.

I cut down trees, I eat my lunch.
I go to the lavatory.
On Wednesdays I go shopping and have

元記事を表示

【初心者向け】LaravelでYoutubeのお気に入りCuration(まとめ)アプリを作る【第4回: ログイン&動画登録】

(この記事は作成中です。)

こんにちは。
ITエンジニアの濱辺(ハマベ)です。

今回は、ログイン&お気に入り動画登録機能を実装していきます。

↓第3回はこちら
[LaravelでYoutubeのお気に入りCuration(まとめ)アプリを作る【第3回】](https://qiita.com/dogabon20/items/4133b65637dc7f60530d)

↓こちらの画面定義書のものを作っていきます。
Youtube-Curation 画面定義所 (googleスプレッドシート)

## ログイン機能の実装

ログイン機能についても、Laravelに標準で備わっているファイルがあります。
基本機能は最初から用意されているんですね。

#### Route設定

下記3つのrouteを記述しましょう。

“`web.php
Route::get(‘login’, ‘Auth\LoginController@showLoginForm’)->name(‘login’);
Route::post(‘login’, ‘Auth\LoginController@login’)-

元記事を表示

【第九回】コロナ禍だから何かできることをー 自宅療養者連絡ツール ー

#前回までのあらすじ
[【第八回】コロナ禍だから何かできることを](https://qiita.com/STYLE-D/items/c32e9098a3948e8f32f2)

####実装イメージ図
LINEを利用して保健所の担当者の負担を軽減するとともに、自宅療養者はいつでもつながっている安心感を持たせるためのツールイメージです。
![メイン.00_00_51_12.Still002.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/744261/cf85391e-aef8-5a59-0a1d-63d8e15412ce.jpeg)

今回が最後なので、まとめていきたいます。

#イメージ動画
まずは、第1回でも公開したイメージ動画です。