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

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

Laravel8 CRUD処理を使った投稿アプリを作成する その1 アプリの作成と準備

# 目的

– Laravel8のアプリの作成と準備をする方法をまとめる

# 実施環境

– 筆者の実施環境を記載する。
– ハードウェア環境

| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |

– ソフトウェア環境

| 項目 | 情報 | 備考 |
| — | — | — |
| PHP バージョン | 7.4.8 | Homebrewを用いてこちらの方法で導入→[Mac HomebrewでPHPをインストールする](https://qiita.com/miriwo/items/cd54077aad7e139cf518) |
| Lara

元記事を表示

EC2 Webサーバー構築

# EC2サーバー構築共通
## 概要
AWSのEC2を利用して、Webサーバーを構築したときの手順をご紹介します。

## 環境
– nginx 1.16.1
– PHP 7.4.3
– git 2.23.1

## 手順
### 1. システム
“`bash
# yumのパッケージ更新
$ sudo yum update

# タイムゾーン確認
$ timedatectl status

# タイムゾーンを日本時間に設定
$ sudo timedatectl set-timezone Asia/Tokyo

# ロケール確認
$ localectl status

# ロケール変更
$ sudo localectl set-locale LANG=ja_JP.UTF-8
“`

### 2. ニックネーム設定

ホスト名に影響を与えずにシェルプロンプトを変更する
[参考](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/set-hostname.html#set-hostname-shell)

1. 環境変数

元記事を表示

Moodle 3.9 マニュアル – 教師用クイックガイド

[本文]()

Moodleでは、教師が自分のコースの教材に責任を負います。多くの場合、登録を管理し、コースページのレイアウトを変更することができます。このクイックスタートガイドは、[教師の役割](https://docs.moodle.org/39/en/Teacher_role)を持つ人にMoodleの機能を紹介します。

内容

[1 コース設定](#1-コース設定)
[2 コース登録](#2-コース登録)
[3 グレーディング](#3-グレーディング)
[4 進捗状況の追跡](#4-進捗状況の追跡)
[5 アクセスの制限](#5-アクセスの制限)
[6 関連項目](#6-関連項目)

# 1 コース設定

コースは、教師が生徒のために学習教材を追加できるMoodleサイト上のスペースです。教師には複数のコースがあり、コースには複数の教師と複数の学習者グループが含まれる場合があります。スクリーンキャストを見る[コースとは何ですか?](https://www.youtube.com/watch?v=STKBlI4vr40&t=8s)または、コースが異なって見える場合は、この[代替ス

元記事を表示

Moodle 3.9 マニュアル – ユーザーのグループ化

[本文](https://docs.moodle.org/39/en/Grouping_users)

[グループ](https://docs.moodle.org/39/en/Groups):コースレベルでは、ユーザーを1つ(または複数)のグループに割り当てることができます。コースでは、コンテキスト(アクティビティ)をグループに割り当てることができます。グループのメンバーがコースを離れると、グループとのアイデンティティが失われます。

[グループのインポート](https://docs.moodle.org/39/en/Import_groups)

[グループ化](https://docs.moodle.org/39/en/Groupings)は、グループのコレクションです。 10のグループがある場合は、小さいグループを2つ以上のグループに組み合わせたり、組み合わせたりすることができます。割り当てのようなコンテキストにグループ化を割り当てることができます。

[コホート](https://docs.moodle.org/39/en/Cohorts):サイトまたはカテゴリレベルで、

元記事を表示

CodeCamp Webマスターコース PHP 提出課題 自動販売機

#制作環境
Windows 10
XAMPP
PHP : 7.4.3
Visual Studio Code

#はじめに
この記事はプログラミングをはじめたばかりの素人が、メモするのに利用しています。
内容には誤りがあるかもしれません。

当方は2月から2ヶ月間CodeCampのWebマスターコースを受講しました。
CodeCampは、意向により模範解答などを見ることができません。
※理由は、コードの記述に正解がないからだそうです。

他の人のコードを見る事も参考になると思いますので、つたないコード記述ではありますが、合格をもらったコードを掲載します。

良くも悪くも参考になればと思います。

#構成
管理ページ tool.php
購入ページ index.php
購入結果ページ result.php
オリジナル関数 functions.php
スタイルシート drink.css

#オリジナル関数 functions.phpについて
エンティティ変換と空白削除の関数を別ファイルで作成し、読み込むようになっていますが、これは後から習うやり方なのでここでは無視してもかまいません。
自分は色

元記事を表示

Ubuntu 20.04 の PHP 7.4 から MS SQLServer に接続する

## 環境
* Ubuntu 20.04.1 LTS (Focal Fossa)
* PHP 7.4.10

## Microsoft のドキュメント
* [PHPドライバのインストール](https://docs.microsoft.com/ja-jp/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-ver15)
* [ODBCドライバのインストール](https://docs.microsoft.com/ja-jp/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15)

## インストールの流れ
先にODBCドライバをインストールした後、PHP側のpeclでドライバをインストールする。
ODBCドライバがない状態では、peclでのインストール時にビルドに失敗する。

## ODBCドライバのインストール
マニュアルから

“`bash
sudo apt-

元記事を表示

CodeCamp Webマスターコース PHP 提出課題 ひとこと掲示板

#制作環境
Windows 10
XAMPP
PHP : 7.4.3
Visual Studio Code

#はじめに
この記事はプログラミングをはじめたばかりの素人が、メモするのに利用しています。
内容には誤りがあるかもしれません。

当方は2月から2ヶ月間CodeCampのWebマスターコースを受講しました。
CodeCampは、意向により模範解答などを見ることができません。
※理由は、コードの記述に正解がないからだそうです。

他の人のコードを見る事も参考になると思いますので、つたないコード記述ではありますが、合格をもらったコードを掲載します。

良くも悪くも参考になればと思います。

#課題の内容
####内容
名前とコメントを発信できるシンプルな掲示板を作成する。

####合格ライン
・指定要件が全て満たされていること。
・エラーがなく、分かりやすいソースコードになっていること。

####要件

|範囲|No.|内容|
|:—|:—:|:—|
|管理ページ|1|利用者が名前とコメントを入力し、発言できる。|
|管理ページ|2|利用者の過去の発言内容をテキスト

元記事を表示

PHP ~個人的アウトプット用語集~

# foreach
[構文]
foreach (反復可能なデータ構造 as 要素)
[結果]
配列の中のデータが順番に出力されます。
![スクリーンショット 2020-10-03 18.29.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663122/f27d5a64-a28d-e2d8-5b3d-36f0607d2337.png)

### 別の記法
} の部分を:にして、最後にendforeach;やendif;とする事で見やすくなります。![スクリーンショット 2020-10-03 19.33.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663122/980f670c-caf5-704c-5c08-6428a38739e7.png)

![スクリーンショット 2020-10-03 19.30.48.png](https://qiita-image-store.s3.ap-northeast-1.am

元記事を表示

Laravel5.5でRequestを加工して保存する

#経緯
ユーザーが入力した情報以外をDBに登録したり、
ユーザーが入力した情報を加工してDBに登録したりしたい時にはリクエストを上書きする方法があります
多分、ユーザーが入力した情報を加工することは、バグを生む原因になるのでよくないと思いますが、、
今回はその方法を解説していきます
他には“merge“や“input hidden“とセッションを用いるなど様々な方法があると思います。
参考:
https://qiita.com/Fell/items/52be15196099f83ecdc7
以前作成した給与計算の例でみていきましょう
#概要
まず給与計算には従業員名と、年月日、出勤時間、退勤時間、調整金額の入力する欄があるとします

![スクリーンショット 2020-10-04 15.16.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/644490/f140ea39-375d-4de3-92d1-dbf29d78e693.png)
コードにするとこんな感じ
#追加画面のコード
“`php

元記事を表示

Moodle 3.9 – コース登録

[原文](https://docs.moodle.org/39/en/Course_enrolment)

注:このページは、学生をコースに追加(登録)するためのものです。学生がMoodleサイトにまだアカウントを持っていない場合は、最初に[ユーザーの追加](https://docs.moodle.org/39/en/Add_users)ページを読む必要があります。

[1 生徒を追加する](#1-生徒を追加する)
[2 学生が自分で登録します](#2-学生が自分で登録します)
[3 教師が手動で生徒を登録します](#3-教師が手動で生徒を登録します)
[4 ゲストをコースに参加させる](#4-ゲストをコースに参加させる)
[5 生徒をまとめて追加する](#5-生徒をまとめて追加する)
[6 リンクされたコース](#6-リンクされたコース)
[7 コースの支払い](#7-コースの支払い)
[8 関連項目](#8-関連項目)

#1 生徒を追加する

学生をコースに追加するプロセスは、[登録](https://docs.moodle.org/39/en/Enrolment)と呼ばれます

元記事を表示

GMO-PG リンクタイプPlusで決済に利用したカード情報を「決済後会員登録」によって自動でGMOに登録する

# 概要

GMO-PGのリンクタイプPlusでクレジットカード決済などの決済画面に遷移し、決済処理をすることを想定します。
たった1回だけしか利用しないECサイトでの注文であれば、カード情報を入力して決済するのもやぶさかではありませんが、
頻繁に利用するサイトでは、決済の都度カード情報を入力するなんて面倒なことをしたくありません。

リンクタイプPlusという接続方式には、決済画面の他に、GMO会員カード登録の画面もあり、
自分に紐づくカード情報を登録/追加/削除したり、デフォルトで利用するカードを設定することが可能です。

その画面にユーザー自身がアクセスして、カード情報を登録すれば、2回目以降のカード決済では、
カード情報の入力を省くことも可能ですが、
**決済処理したときにカード情報入れてるよね?ならそれそのまま登録しちゃってよ??**という人は多いと思います。

そんな人のために用意されている機能がありますので、その実現方法について解説します。

# 事前に用意するもの

事前に用意するものとして、クレジットカード決済の結果を受け取る結果通知プログラムが必要です。
[GMO-

元記事を表示

GMO-PG リンクタイプPlusでクレジットカード決済した時の結果通知プログラムの処理

# 概要

GMO-PGでクレジットカード決済をする際、接続方式として`リンクタイプPlus`で実現した場合、
お客様がGMOの決済サイトへ遷移してから クレジットカード情報入力 -> 確認画面で確認 -> 完了画面で「サイトに戻る」ボタンを押下
というオペレーションが必要になってきます。

ここで、「サイトに戻る」ボタンを押下しなかったり、GMOの決済サイトへ遷移してからクレジットカード情報を忘れたため入力せずに離脱(ブラウザを閉じる,タブを閉じるなど)した場合、その処理が完了したかどうかを検知する必要があります。

そのため、GMOには`結果通知プログラム`というものが用意されており、そのプログラムを利用することで、対象の注文に対して結果をシステム側で判別できる仕組みがあります。

全然詳しくは載っていませんが、以下サイトにQAが載っています。
https://faq.gmo-pg.com/service/detail.aspx?id=1050&a=102&isCrawler=1

# 結果通知プログラムを受け取るプログラム

全体的なサンプルプログラムはGitHubにあります。

元記事を表示

Laravel8 CRUD処理を使った投稿アプリを作成する その0 説明編

# 本記事の目的

– Laravel8を用いたCRUD処理をもった投稿アプリを作成する方法をチュートリアル形式で紹介する説明を行う。

# チュートリアルの最終目標

– Laravel8を使って投稿アプリを完成させる。
– 画像の投稿もカバーしメンテナンス性を考えたDBアクセス処理の分割なども実装する。

# おことわり

– 最終目標の達成後も記事投稿が続く可能性あり。
– 最終目標は変更になる可能性がある。

# 実施環境

– 筆者の実施環境を記載する。
– ハードウェア環境

| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |

– ソフトウェア環

元記事を表示

VPSを借りる [PHP] #3

#PHP
[※How to Install PHP on CentOS 8](https://linuxize.com/post/how-to-install-php-on-centos-8/)

“`sh
DOMAIN=yourdomain

sudo dnf install @php php-opcache php-gd

php -v

sudo systemctl enable –now php-fpm

sudo cp -p /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.origin
sudo sed -i -e “s/^user = apache/user = nginx/g” /etc/php-fpm.d/www.conf
sudo sed -i -e “s/^group = apache/group = nginx/g” /etc/php-fpm.d/www.conf
diff -u /etc/php-fpm.d/www.conf.origin /etc/php-fpm.d/www.conf

sudo chown

元記事を表示

Laravel5.5でModelとControllerを分離する

FatControllerでModelが綺麗な方へ。。。
LaravelでControllerからModelに処理を移す解説をしている記事が少なかったので解説してみました。

“$this->“を復習したい方は以前の記事を先に見てください
https://qiita.com/satorunooshie/items/45fb85ea6c14cad2ac58
その他参考になる記事はこちらに貼っておきます
FatControllerについて
https://qiita.com/nunulk/items/6ed409345efb6ee4f660
FatModelについて
https://qiita.com/nunulk/items/dd27591b4a7a8a464a1a

#目次
[簡単な説明](#簡単な説明)
[リレーション](#リレーション)
[ThreadController](#threadcontroller)
[Thread.php](#threadphp)
[ThreadController解説](#threadcontroller解説)
[多次元配列部分の補足](#多次元

元記事を表示

php datetime

https://www.flatflag.nir87.com/date-473

元記事を表示

PHP ~web開発編~

はじめに、
一通り基礎的な事を学び終えたので今日からPHPでweb開発に関する学習をしていきます。
復習も含めて初歩的な事も記事にしてアウトプットしていきたいと思う。

# PHPの埋め込み
[解説]
16行目

**の部分のPHPの記述をする事で使える様になります。
17行目
echoした結果を埋め込む時は省略ができます。
echoとphpの記述を削除して=に変える事で出力可能です。
18行目
こちらは定義した変数を埋め込んでいるだけです。
![スクリーンショット 2020-10-03 17.03.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663122/35d1b833-38ea-85eb-660a-0c120387e20c.png)
# htmlspecialchars()
下記のコードを実行すると、javascriptのalertが出てしまいます。
これを防ぐ為に< > ‘などをhtmlspecialchars()を使いただの文字列にします。
![スクリーンショ

元記事を表示

CodeIgniter3でSessionを使うときに Failed to initialize storage module: user(path:**)にハマった

# 概要

タイトルにあるように、CodeIgniter3でSessionを使うときに以下のエラーが発生してハマったので、
原因と解決方法について記録を残します。

ネットで検索すると`$config[‘sess_save_path’]`の設定をするんだよ。とか、
そのパスには777の権限にしておくんだよ。みたいな記事があるんですが、それだけでは解決しなかったので迷いました。

“`php
Message: session_start(): Failed to initialize storage module: user (path: /var/www/html/codeigniter3/application/cache)

Filename: Session/Session.php

Line Number: 143
“`

# よくある解決策

`config.php`の設定で`sess_save_path`の確認をした?というのがあります。

– パスが存在するか?
– パスに対して書き込み権限があるか?

“`php:application/config/config

元記事を表示

【初心者向け】LaravelでClass not foundが出た際の名前空間の確認方法

####名前空間の記述ミスの探し方を書いた記事です。

##はじめに
現在[「PHPフレームワークLaravel入門 第2版」](https://www.amazon.co.jp/dp/4798060992/ref=cm_sw_em_r_mt_dp_u98DFbW09VXJC)でLaravelを学んでいます。

Eloquentのモデルのスコープクラスを作成・使用の際に発生したClass not foundエラーの解決で得られたものを自身の振り返りも兼ねて記事にしてみました。

コードの中でClass名を書くと、Laravelはどのようにuseやnamespace部分(名前空間)を見に行くのか、その繋がりを図を用いて紹介したいと思います。

書いたコードの繋がりが分かれば理解しやすい!

タイプミスや名前の指定ミスを調べる際の確認箇所としてお役立ていただけたら幸いです。

おかしなところがありましたらご指摘ください。

##Class not foundが出たコード

“`App\Person.php

元記事を表示

Laravel CRUD処理を使った投稿アプリを作成する その11 DB問い合わせ処理をServiceに分割する 番外編

# 目的

– 作成したLaravelアプリDB問い合わせ処理部分をServiceに分割する方法をまとめる

# 実施環境

– ハードウェア環境

| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |

– ソフトウェア環境

| 項目 | 情報 | 備考 |
| — | — | — |
| PHP バージョン | 7.4.3 | Homwbrewを用いて導入 |
| Laravel バージョン | 7.0.8 | commposerを用いてこちらの方法で導入→[Mac Laravelの環境構築を行う](https://qiita.com/mir

元記事を表示

OTHERカテゴリの最新記事