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

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

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)
・My

元記事を表示

「’」か「”」どちらを使うか

# <学習記録>「’」か「”」どちらを使うか」
エンジニア転職を目指す24歳の学習記録です。
学習目標:平日2時間以上、休日6時間以上


#### 結論:時と場合によるが、基本的に「’」で良い。
– 「’」を使うと
– 「’」は「”」に比べて動作がやや高速
– 変数やエスケープ文字は展開できない

– 「”」を使うと
– 変数やエスケープ文字を展開できる(↓例)
“`ruby:qiita.php
$name = ‘たろう’;
echo ‘{$name}さん、ありがとう’; //「{$name}さん、ありがとう」
echo “{$name}さん、ありがとう”; //「たろうさん、ありがとう」
“`

元記事を表示

PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (6)

PLCからゲートウェイでデータを取得し、データベースにJSONで保存します。複数回に分けて、サンプルを用いて解説します。
前回は、PLCから取得したデータをデータベースに保存しました。

[PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (5)](https://qiita.com/COOLMAGICPRODU1/items/92724b0908143275cfac)

タイトルに書かれたテーマは前回で完了しています。完了していますが、これでは何か物足りないと感じ、今回はデータベースに次々と書かれるPLCからのデータをブラウザに表示してみます。
![e6061bc3683ceff53f53e09554a0288e62dbf2a4188d4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737842/050d04b5-125b-4651-b5ef-77be2d9eb1d7.png)
## WEBアプリケーション
データベースのデータをWEBブラウザに表示するために、WEBアプリケーシ

元記事を表示

静的コナーセンスについて 「意味のコナーセンス」から「名前のコナーセンス」に弱めるコード実例

## 本記事の目的
現在、「ソフトウェアアーキテクチャの基礎 エンジニアリングに基づく体系的アプローチ」を読んでいます。
*読んでいる途中で記事を書いているので、間違った解釈が含まれているかもしれません。

この本で「コナーセンス」という言葉が出てきます。
コナーセンスには、「静的コナーセンス」と「動的コナーセンス」という二種類に分けられますが、今回は、静的コナーセンスの中にある「意味のコナーセンス」と「名前のコナーセンス」について、コードベースでお話したいと思います。

新卒1年目の記事のため、説明が下手だったりすると思いますが、お手柔らかにお願いします。

## 静的コナーセンスとは
この本では、Page-Jonesという方が定義したと書かれていました。
> 静的コード解析によって発見可能な静的コナーセンスと、実行時の振る舞いに関する動的コナーセンスという、2種類のコナーセンスを定義した。

つまり、静的コナーセンスは、コード解析やコード部分でのコナーセンスである。

「意味のコナーセンス」…マジックナンバーとか。意味のある値
「名前のコナーセンス」…定数名、クラス名、メ

元記事を表示

Laravelで投稿機能を作る

# はじめに
Laravelで初めてのアプリケーションを作成中です。
学習しながら作成しているので、私自身の頭の整理をしつつ、超基礎的な流れや頻出コマンドをまとめてみました。
かなり長いですが、この通りにおこなえば簡単にできるはずです。

ちなみに前提として、モデル・コントローラーとは何かを理解しており、環境構築は終わっていることとします。
私はRuby on Railsは簡単なアプリケーションであればサクサク作成できる程度の知識がありますが、PHP、Laravelは学習開始して1週間程度の初学者です。間違えていることなどあれば、ご指摘ください。

# 目次

0. [開発環境](#intro)
1. [マイグレーションファイル・テーブル作成](#Chapter1)
2. [モデル作成](#Chapter2)
3. [コントローラー・ルート作成](#Chapter3)
4. [ビュー作成](#Chapter4)
5. [まとめ](#Chapter5)
6. [参考文献](#reference)


# 開

元記事を表示

PHPの変数、定数について

## 変数について

### 概要

変数とは値を格納する箱のことです。ドル記号の後ろに変数名が続く形式で記述し、値を代入して使用します。
基本的に、いつでも値を取り出したり、変更したりすることができます。

変数名のルールは以下の2つです。

– 大文字小文字を区別します。
– 文字またはアンダースコアから始まり、任意の数の文字、数値、アンダースコアが続きます。

変数の利用

“`php
$variable = ‘variable’;
“`

### 変数のスコープ

スコープとは範囲のことです。スコープは2種類あり、グローバルスコープとローカルスコープです。
以下のコードを例を用いて説明します。

“`php

“`

ローカル変数は、abc()が実行されている間のみ存在します。
そのため、ローカルスコープからグローバル変数へはア

元記事を表示

PHP Laravelのプロジェクトをgit cloneする手順

# はじめに

AWSよりFree Tier limit alertが届き、「やばい使ってないインスタンス消さないと」と思い整理したところ、間違えてcloud9で使用しているインスタンスを終了してしまうハプニングがあり、インスタンスを作り直しでgit cloneしました。

PHPを学習し始めたばかりで理解が乏しいですが、今後またgit cloneしなくてはならない場面に遭遇した時の自分のためにも整理してみました。

# 目次
1. [開発環境](#Chapter1)
2. [手順](#Chapter2)
3. [最後に](#Chapter3)
4. [参考文献](#reference)



# 開発環境

– AWS Cloud9
– PHP 8.0.2
– Laravel 9.21.6
– Composer 2.3.10
– MariaDB 5.5.68


# 手順
今回私が実際に行った手順です。
PHPやLaravelのインストールなど、環境は既に構築されてい

元記事を表示

VS CodeでDrupalコーディング規約の検出と整形を行う

VS Code上でDrupalのコーディング規約を検出/整形するためには、

– ComposerでPHP CodeSnifferとDrupalコーディング規約のルールセットのインストール
– [phpcs](https://marketplace.visualstudio.com/items?itemName=shevaua.phpcs)と[phpcbf](https://marketplace.visualstudio.com/items?itemName=persoderlind.vscode-phpcbf)(VS Codeの拡張機能)のインストール

の二つの作業が必要。(VS Codeの設定ファイルでphpcs/phpcbfの実行パスを入力する必要があるため)

### Composerで必要なライブラリをインストールする

Drupalのコーディング規約をPHP CodeSnifferで検出するために、drupal/coderをインストールする。

“`shell-session
$ composer global require drupal/coder
“`

dr

元記事を表示

私の運営しているサイトを紹介

私は「ラブドールの教科書」というラブドールのお役立ち情報を発信しているサイトを運営しています。興味のある方はぜひ訪問してください!

https://lovedoll-text.com/

元記事を表示

herokuにLaravelアプリケーションをデプロイする

## はじめに
Laravelのアプリケーションを作成したのでherokuにデプロイしようとしてつまずいたので、書いていけたらとおもっています。
今回自分はLaravelでのアプリケーションをデプロイしますが、他の言語でもやることはあまり変わらないと思いますので少しでも参考になると幸いです。

herokuコマンドやherokuへの登録は終わってるものとします。
まだの方はこちらの記事を参考に実施してください
https://qiita.com/tetsu-sh/items/f6fcbb6b85df04e5cf3f

### 使用する環境
– MacOS(M1)
– PHP 8.0.19
– Laravel 9.19.0
– MySQL 8.0.29
– Docker
– LaravelSail

## 早速やっていくよ!!
herokuアプリを作成
“`
$ heroku create
“`
作成したアプリケーションに移動して
“`
#アプリケーション名の確認
$ heorku apps

# 確認した名前をアプリ名としてherokuと連携
$ heroku git:re

元記事を表示

Laravel 制約を設定したら name is too longのエラーが出た

# 概要

– laravelのマイグレーションファイルの記載で制約を設定したら「name is too long」のエラーが出てマイグレーションができなかったので解決方法をメモ的にまとめる。

# エラー内容

– エラー内容を下記に記載する。

“`
Syntax error or access violation: 1059 Identifier name ‘XXXX_YYYY’ is too long
“`

– laravelは制約の名前をテーブル名を用いて自動生成している。
– テーブル名が長すぎると制約名が長くなりすぎる。そのためエラーが出ていた。

# 解決方法

– 下記のように制約設定時にメソッドチェーンでnameを指定する。

“`PHP
$table->foreign(‘XXXX_id’)->references(‘id’)->on(‘XXXXs’)->name(‘hoge_fuga_piyo_id’);
“`

元記事を表示

PHPの基礎1

## はじめに

こんにちは。
私は現在未経験の駆け出しエンジニアとして様々な学習をしています。
先日PHPの基礎文法について学んだので、自分のアウトプットように記事を残します。
初めての投稿になりますので至らない点がありましたら申し訳ございません。

## 基本記述

“`PHP:lesson.php

“`

“`:出力結果
hallo world
good morning!
“`
PHP_EOLはPHPの定義済み定数であり、OSに応じて自動的に改行文字を設定してくれる。

## nowdoc(ナウドキュメント)とheredoc(ヒアドキュメント)

“`PHP:lesson.php

元記事を表示

Laravel Breezeを使ってみる

開発環境は、
– Windows10 Pro(64bit)
– PHP 8.1.7 (cli) (built: Jun 7 2022 21:45:53) (ZTS Visual C++ 2019 x64)
– Composer version 2.3.7 2022-06-06 16:43:28
– PostgreSQL 14
– node v14.17.5
– npm 6.14.14
– Laravel 9.21.4
– VITE v3.0.2

Cドライブ直下に、laravelディレクトリを作成し、カレントディレクトリへ
“`
cd c:\ && mkdir laravel && cd laravel
“`

以下のコマンドを入力し、Laravelのプロジェクトを作成します
“`
composer create-project laravel/laravel first_breeze –prefer-dist
“`

インストールが終わったら、first_breezeディレクトリをカレントディレクトリにします。
“`
cd first_breeze
“`

Pos

元記事を表示

PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (4)

PLCからゲートウェイでデータを取得し、データベースにJSONで保存します。複数回に分けて、サンプルを用いて解説します。
初回から前回にかけては、ゲートウェイを使って、PLCから取得したデータをMQTTでブローカーに送信するまでを実装しました。

[PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (1)](https://qiita.com/COOLMAGICPRODU1/items/31513295943763365915)
[PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (2)](https://qiita.com/COOLMAGICPRODU1/items/370b1bd37dca8a4fd9ae)
[PLCからゲートウェイでデータを取得しデータベースにJSONで保存 (3)](https://qiita.com/COOLMAGICPRODU1/items/08891c828736428c1b5c)

今回はデータベースを準備します。
![348f9673721149a9206023ad2b3ca8e062d7eb7ab1449.png]

元記事を表示

TOKYO FMのjet streamをphpで録音したい。

## 初めに
私は、ある時から東京FMで深夜12:00〜1:00で放送されるジェットストリームというラジオ番組にハマってしまい、毎日聞くことがことが日課になっています。
そこで、どんな音楽が今日流れていたのか、などを昼に確認したかったので、phpで東京FMを録音するスクリプトを作ってみました。
**注意!・このスクリプトはradikoのシステムにアクセスをします。ddos攻撃的なことになりかねませんので、最低1分間、実行間隔を空けてください。**

## 欲しい機能

– ラジオを録音する
– できれば東京FM以外も録音できるように。

## 案1・受信
ラジオを受信することを考えてみはしたのですが、さすがに無理だと思い、断念。

## 案2・php以外で?(ラズパイとか)
予算の関係で、断念。

## 案3・HLSを受信するか・・・
これはいけそうな気がする。やってみよう。

### どこで配信しているのか探してみる。
まずは東京FMのホームページを開いてみます。
するとメニューに「ポッドキャスト」という項目がある。
「使えるかも?」と思って、みてみたけどjet streamはな

元記事を表示

【PHP】PHPで
を最後に出力しない方法

# コード
“`PHP
‘ナルト’,’seino_2′ => ‘サスケ’,’seino_3′ => ‘シカマル’,’seino_4′ => ‘イルカ先生’];
$seino = [‘seino_1′,’seino_2′,’seino_3′,’seino_4’];
$seino_list = ”;
foreach($seino as $value){
if($bomb[$value]){
if($seino_list) $seino_list .= ‘
‘;
$seino_list .= htmlspecialchars($bomb[$value]);
};
}
echo $seino_list;
“`

# 結果
“`
ナルト
サスケ
シカマル
イルカ先生
“`

元記事を表示

PHP で、コメントが原因でエラーになった話

正確には、PHP の1行コメントに落とし穴があった、という話です。

【環境】
> (このエラー自体は、環境依存ではないと思いますが、一応あげておきます。)
> OS:Windows 10
> サーバー:Xampp 8.1.6 (Apache 2.4, PHP 8.1.6)
> ブラウザ:Firefox 102.0.1 (64 ビット)
> エディタ:さくらエディタ v2.4.1.2849 32bit (tag v2.4.1)

## 現象1
PHP で、アトミック正規表現 `(?>…)` を修正する時、オリジナルを残しておこうと頭に`#`をつけ(1行コメントアウト)たら、原因特定困難なエラーが生じました。(この現象は、 `//` の場合も同様に発生します。)

:::note warn
**注意**
この現象は、アトミック正規表現 `(?>…)` に限って発生するわけではなく、その他の正規表現でも発生する可能性があります。また、それ以外の一般的な PHP スクリプトの中でも、入力ミスによって同様のエラーが発生する可能性があります。
:::

:::note warn
**

元記事を表示

アニメの放送通知を送信するアプリをSPAで作成しました

# はじめに
+ エンジニア転職のためポートフォリオを作成
+ アニメの放送日に通知を送るリマインダーアプリを作成

PHPの学習を一通り終えてLaravelでアプリを1つ作って「SPAってどうやるの?」、「スクレイピングって何?」という状態から初めて触る技術を学習しながら3ヶ月で作成した完全SPAポートフォリオです。

アプリとしてはまだ修正点はあるので、これから継続してブラッシュアップしていきたいと思います。

# 自己紹介
+ 社会人6年目の28歳
+ 現在は医療関連サービス業に従事してます
# 開発背景とアプリ概要
### 開発背景
転職用のポートフォリオなのですが、せっかくなら**誰かの課題を解決するもの・人に使ってもらえるようなサービス**にしたいと思い友人にヒアリングをしてポートフォリオのテーマを以下のように決定しました。

1. 誰の課題を解決するのか
大学時代のアニメ好きの友人

2. どんな課題を解決するのか
アニメの放送日を忘れて見逃してしまう
地域ごとに放送時間が違うため自分の地域にあった通知が欲しい

3. どうやって解決するのか
アニメの放送日当日に通知を送

元記事を表示

【EC-CUBE4系】mailcatcherの設定方法

# 現象
EC-CUBEのローカル環境でメールを使ったテストを行う際に重宝するmailcatcherですが、なぜか公式のとおりに設定してもうまくいきませんでした…

開発環境はもちろんDockerでコンテナも作成、立上げ済み。なのに使えない!
docoker-compose.ymlには以下のように記載。
“`docker-compose.yml
version: ‘3’

services:
mailcatcher:
image: schickling/mailcatcher
ports:
– “1080:1080”
– “1025:1025”
“`

.envも公式のいう通り以下のように記載。

“`.env
MAILER_URL=smtp://127.0.0.1:1025
“`

これでhttp://127.0.0.1:1080/ にアクセスするが
EC-CUBEからメールを飛ばしているのに何も出ない!

![スクリーンショット 2022-07-22 120533.pn

元記事を表示

OTHERカテゴリの最新記事