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

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

XSERVERにlaravelのwebアプリをgitからデプロイ

この作業が何回やっても慣れず、自分の備忘録的な意味も含めて書かせていただきました。
もしよければ参考にしてみてください。

## SSH接続
初期設定の部分は簡単なので飛ばします

ログインコマンドはこちらです
“`
ssh -l サーバーID -i ~/.ssh/サーバーID.key サーバーID.xsrv.jp -p 10022
“`

## PHPのバージョンアップ

#### 1 , 現在のバージョンを確認
LaravelにはPHPのバージョンが7以上であることを要求されています。
まずは以下のコマンドを実行してphpのバージョンを確認してみます。
“`
php -v
“`
laravel8.*を使うときはバージョンが7以上
laravel9.*を使うときはバージョンが8以上であれば、そのままでも大丈夫です。

#### 2 , バージョンアップ
では、実際にphpのバージョンを変更していきます。
まずはHOME直下にbinディレクトリを作成します。

“`
mkdir $HOME/bin
“`

下記コマンドを実行すると使えるバージョンが表示されます。
“`

元記事を表示

実務4年目のWEBエンジニアが「PHP本格入門(下)」を読んで学んだこと 12選

## はじめに

今回は「__実務4年目のWEBエンジニアが「PHP本格入門(下)」を読んで学んだこと 12選__」というテーマでお伝えします。

PHP本格入門(下)(以下、本書)

https://gihyo.jp/book/2020/978-4-297-11470-1

本書を手に取った経緯などは、下記記事をご参照ください!

https://qiita.com/Yazmatto/items/90f854e11a5b3cd88999

それでは、本題です。

ここからは、本書を読んで学んだこと 12選をお伝えしていきます。

## 結論

私が本書を読んで学んだことは、以下の通りです。

:::note
学んだこと 12選
1. クラスの関係性を表すキーワード
1. 神クラス(アンチパターン)
1. なんでもpublicなクラス(アンチパターン)
1. クラスに動的にアクセスする方法
1. イテレータを使用した繰り返し処理
1. ジェネレーター
1. メソッドチェーンに対応したクラスの作り方
1. HTMLおよびJavaScriptのコメントには注意する
1. セキュリティリス

元記事を表示

Generatorを使って配列をコンソールに出す処理を書く

## 概要

再帰的に配列を作成し返す関数とGeneratorを返す関数を書き、その違いを見比べてみます。

## 経緯

任意の配列をコンソールに出す処理を書いていました。
始めは直接ループ内で出力していましたが、非常にテストしづらいので、先に出力する文字列の配列を全部作成してから一気に出力しようと考えました。
そこで、大きい配列を出力するためだけに同じような(あるいは大きい)配列を作成し、メモリを使うのは勿体無いので、Generatorを使って書くに至りました。
恥ずかしながら、Generatorは今まで使った事が無かったのですが、ちゃんと書いてみると配列バージョンとGeneratorバージョンの書き方の対応がよく分かったので、メモがてら残そうと思った次第です。

## コード

### 配列を作成し返す場合のコード

“`php
/**
* 配列を表示するための文字列を取得する
*
* @param array $data
* @return array
*/
function getOutputStr_Array(array $data, int $de

元記事を表示

LaravelとMySQLの接続詰まったところ

# Laravel詰まったところ
## おそらく当たり前のことだけどわからなかったのでメモしておく
## php artisan migrationでのエラー
### .envで、DB_DATABASE=homestead, DB_USERNAME=homestead, DB_PASSWORD=passに設定したときやっておかなければならないこと。
### MySQLにログインする(各人で異なると思うが、私は[mysql -u root]でログインできたぁ)、そんでまずはhomesteadのデータベースを作成、次にhomesteadという名のユーザーをpassというパスワードで作成、最後にhomesteadユーザーにhomesteadデータベースの権限を付与する。
### 上記ができたら、[php artisan migration] を実行する。
### それでうまくいったら、mysqlにログインする。[mysql -u homestead -p] Enter passwordと出るので[pass]と入力する。
### MariaDB[none]> でるので[connect home

元記事を表示

【メモ】Laravelのオートロードの仕組みについて学ぶ

PHPを初めて触り、Laravelを勉強しているのですが、オートロードという機能を目にして便利だけどなんで機能しているのか全く分からない状態でした。
今回はそんなオートロードについてちゃんと調べました。
最初はLaravelがそういう機能を提供しているのかな?とか思っていたら、いやいや機能を実現するためにファイルを作ったのはComposerだよとなり、実際にComposerによって作成されたファイルを見てみたらPHPで記述されていて、更に見てみたらPHPの標準としてオートロード機能を実装するための関数が用意されていたという話です。

# Laravelにおけるオートロードとは
オートロードを実施しない場合、クラスをインスタンス化したりするときには、クラスが定義されているファイルをrequire等で読み込んでからインスタンス化をすると思います。
オートロードでは名前空間+クラス名と、そのクラスが実際に記述されているファイルとを紐づけます。そうすること、インスタンス化するときなどに名前空間が分かるように記述すればで自動でファイルを読み込んで使用できるようにしてくれます。
何がありがたいかと

元記事を表示

Symbol(XYM) の価格表示をする WordPress プラグイン

# まえがき

Symbol コミュニティは今、phpにつよいエンジニアを探しています!