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

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

過去の自分のコードを見てみる – PHP カレンダー編②

# 前回のおさらい
[前回](https://qiita.com/kei_0_f/items/61d20d691cb02a84e2eb)は、これを

“`php

\n

\n

\n

“;
$t++;
}

“`

こうした

“`php

\n

プログラミング基礎研修でのフルボッコの記録(コードレビュー、PHP)

# はじめに

実務未経験でWebエンジニアとして入社してからの2カ月で受けた社内研修についての振り返りです。

同時期に実務未経験でWebエンジニアになって交流している方々(他社の)が、

**「実務でのコードレビューでフルボッコになっている」**

と言っていて、本人たちは大変そうですが、実装スキルについては爆伸びしていそうで、むしろ羨ましいです。

## 記事の目的

**「他の人が初期にどのような注意を受けているか聞いてみたい」**

とも言っていたため、私は自分が書いたコードをレビューしてもらった機会はまだ研修のみですが、どのような点をレビューで教えてもらったかについて、共有しておきたいと思います。

振り返りを通して、私自身が現在忘れてしまわずに身についているか確認していきます。

※ フルボッコというワードは面白くて使っているだけで、フルボッコというか、ただのありがたいコードレビューです。

## 想定する読者

想定する読者は、過去の自分のような実務未経験の初学者の方です。

## どんな社内研修?

社内研修は、We

EC2 でLaravel 9 (PHP8 + Nginx1.2 + RDS MySQL) の環境構築

# はじめに
EC2でLaravel9を構築する機会があったため、まとめておきます

# 事前構築
– vpc subnetなどのネットワーク
– RDS
– EC2 (Amazon linux 2)

# EC2 初期設定
EC2起動後、初期設定を行います。
不要であれば、飛ばして構いません。

## タイムゾーンを日本に変更

“`terminal
$ date
2022年 8月 23日 火曜日 09:56:37 UTC

$ sudo vim /etc/sysconfig/clock
“`

“`diff_conf:/etc/sysconfig/clock
– ZONE=”UTC”
– UTC=true
+ ZONE=”Asia/Tokyo”
+ UTC=False
“`

“`terminal
$ sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime

$ date
2022年 8月 23日 火曜日 18:56:32 JST
“`

## SSHのポート変更
SSHのデフォルトポートである22から49120に変

PhpStormで結合された文字列をヒアドキュメントに置き換える

以下のような書き方を

“`php
$sql = ‘SELECT *’ .
‘FROM book’ .
‘WHERE price >= 500’;
“`

以下にようにしたい
(モノによっては数十行になったりするので手作業は面倒臭い)

“`php
$sql = << 500
SQL;
“`

## やり方

1. 1つの文字列にする
* PhpStormで `Convert concatenation to a scalar value` を選択する
1. ヒアドキュメントに置き換える
* PhpStormで `Convert string literal to HEREDOC` を選択する

### 1. 1つの文字列にする

`Convert concatenation to a scalar value` を実行

“`php
$sql = ‘SELECT * FROM book WHERE price >= 500’;
“`

### 2. ヒアドキュメント

コメント化の切り替えTips

# 概要

リファクタリング等を行う際に元の処理と新しく作った処理を切り替えるのに「ここからここまでをコメントアウトして…ここからここまでを有効化にして…」というちょっと面倒な作業を解決するTipsです

# 解決策

“`php
/*/
processA(); // ここがコメントアウト状態
/*/
processB();
//*/
“`

“`php
//*/
processA();
/*/
processB(); // ここがコメントアウト状態
//*/
“`

(Qiita上でシンタックスハイライトが効いてくれているのでわかりやすい・・・w)

CやPHPやGo、JavaScriptその他諸々の言語で採用されている↓の場合に使用できます。

“`php
// 1行コメントアウト

/*
複数行コメントアウト
*/
“`

:::note warn
ただしPHPDocのような書き方のコメントが途中にあるとうまく動いてくれないので注意

“`php
//*
var_dump(‘a’);
/*/

/**
* PHPDOcとか
*/
var_dump(‘b

PHP array_reduce関数

# 概要

– PHPの組み込み関数である`array_reduce`についてちょっと調べたのでまとめておく。

# 内容

– 指定された関数を与えられた配列の値を用いでどんどん処理していくものらしい。

# 使い方の例

– 下記に当該関数の使い方の例を記載する。

“`php
array_reduce(配列, ‘関数名’);
“`

# 使い方の実例

– `$a`の配列の値をすべて足して返してほしい場合、下記のような処理になる。

“`php

過去の自分のコードを見てみる – PHP カレンダー編①

# これは何?
PHP処女作のコードの一部を、ある程度PHPに触れた今の私がツッコミ入れていく記事です。
PHPで4か月分×3段の年間カレンダーを作った時のコードの抜粋です
何回かに分けて投稿します…~~私が自分のコード読むの疲れるので~~

# ①条件に合わせてテーブルにあてるスタイルを変えたかった

“`php

\n

\n

“;
$t++;
}

“`

は?
## ①-1 絶対わざわざprintしなくていい

“`php

規約などが更新された時に確認をして自動遷移する

## 規約などが更新された時に確認をして自動遷移する

よくある「規約が更新されましたので、ご確認ください。」をPHP内で実現したかったので。

### 必要なもの

– 新規規約開始日は9月1日
– DBには同意日をDATE TIMEで保管済み
– DBから$result[“agrDate”]で同意日を取得済み

### コードの骨子

“`php:top.php
$new_confirm_date = date(“Y-m-d H:i:s”, strtotime(‘2022-08-31 09:00:00’));//前の日にしている
$agree_date = date(“Y-m-d H:i:s”, strtotime($result[‘agrDate’]));

//規約の同意日を確認
if($new_confirm_date >= $agree_date){
/*規約更新ページへ移動する*/
$doui_alert = “