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

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

Carbonチートシート

# [Carbon](https://carbon.nesbot.com/)
日時の操作に便利なライブラリ
[Illuminate\Support\Carbon](https://laravel.com/api/8.x/Illuminate/Support/Carbon.html) は [Carbon\Carbon](https://github.com/briannesbitt/carbon) を継承したクラスだけど昔ほど差は無い

## Carbonをインストールする
“`
composer require nesbot/carbon
“`

## Carbonを作る
“`php
$carbon = new Carbon(); // 2021-03-28 08:17:02.064073
$carbon = new Carbon(‘today’); // 2021-03-28 00:00:00.0
$carbon = new Carbon(‘2021-03-28’); // 2021-03-28 00:00:00.0
$carbon = new Carbon(‘2021-03-

元記事を表示

static(定数)をインスタンス化した後から指定するとどうなるか

#はじめに
最近、“`static“`がインスタンス化したものにも影響を及ぼすということを知らずに使ってしまい、その挙動に戸惑ったことがあるのでそのことについて書きたいと思います。
この記事を読めば“`static“`の理解が少し深まります。

まず、以下のような課題があったとします。

Q. 以下の仕様を満たし、次の出力結果が出るようにコードを追記せよ。※環境は“`PHP7.4“`とします。

出力結果

“`
田中さんの使用言語は日本語です。
ジュリーさんの使用言語は英語です。
黄さんの使用言語は中国語です。
ミュラーさんの使用言語はドイツ語です。
“`

“`php
“英語”, “China” => “中国語”, “Japan” => “日本語”, “Germany” => “ドイツ語”]);

$person1

元記事を表示

Macでバッチファイルを作ってダブルクリックのみでビルトインウェブサーバを起動させる方法

# ビルトインウェブサーバについて

[プライベートIPアドレスの用途](https://qiita.com/rimorimo/items/9ee259ffb492a073884a#%E3%83%97%E3%83%A9%E3%82%A4%E3%83%99%E3%83%BC%E3%83%88ip%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AE%E7%94%A8%E9%80%94)参照.

# プライベートIPアドレスの取得について

[ターミナル上でプライベートIPアドレスを調べる方法 1](https://qiita.com/rimorimo/items/9ee259ffb492a073884a#%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB%E4%B8%8A%E3%81%A7%E3%83%97%E3%83%A9%E3%82%A4%E3%83%99%E3%83%BC%E3%83%88ip%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E8%AA%BF%E3%

元記事を表示

Macのターミナル上でプライベートIPアドレスを調べる方法

# 最も簡単なプライベートIPアドレスの調べ方

わざわざターミナルでコマンドを入力しなくても,**システム環境設定>ネットワーク>[ 詳細 ]ボタン押下>TCP/IPタブ>IPv4アドレス**の欄から簡単に調べる事ができるが,ネットワーク系のスキルを向上させるためにはやはり最低限のターミナルコマンドを使いこなせなければならないというのが筆者の持論である.

# ターミナル上でプライベートIPアドレスを調べる方法 1

macOSにおいてネットワーク状況を調べるための有名なコマンドと言えば`ifconfig`.Windowsでいうところの`ipconfig`に相当するものである.

“`bash
$ ifconfig
lo0: flags=XXXX mtu XXXXX
options=3
inet6 ::1 prefixlen XXX
inet 127.0.0.1 netmask 0XXX000000
inet6 XXXX::XXXXX prefixlen 64 scopeid X

元記事を表示

Web API開発をするなら、ドキュメントは自動生成にしておこう!(CakePHP編)

### この記事は何?
– [PHPerKaigi2021](https://phperkaigi.jp/2021/)で発表するスライドの補足資料
– 発表で紹介したサンプルコードと同じものを作成する手順のまとめ
– Swaggerの導入分だけ読みたい方は[こちら](https://qiita.com/AkitoTsukahara/items/5bab895b7b9943b0654f#swagger%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B)
– この記事を作成する上で参考にさせていただいた記事。(丁寧な解説でとても分かりやすかったです。🙇)
– [CakePHP4 で Swagger3 を使って API ドキュメントを作る](https://qiita.com/katsuhiko/items/22511d5ed5eff3e4616a)
– 作成するAPIは[CakePHPクックブックのREST API](https://book.cakephp.org/4/ja/development/rest.html

元記事を表示

PHP8 と Laravel8 で league/flysystem-aws-s3-v3 をインストールするときにハマった

## Laravel で AWS S3 を操作したい時

– https://github.com/thephpleague/flysystem-aws-s3-v3

AWS S3を操作する時はこの `thephpleague/flysystem-aws-s3-v3` ライブラリを利用します。

## 環境

– PHP: 8.0.2
– Laravel: 8.34.0

## league/flysystem-aws-s3-v3 インストール時にエラー

“`shell-session
$ composer require league/flysystem-aws-s3-v3
Using version ^2.0 for league/flysystem-aws-s3-v3
./composer.json has been updated
Running composer update league/flysystem-aws-s3-v3
Loading composer repositories with package information
Updating dependen

元記事を表示

【Laravel】Collectionを使おうぜって話だよね

今回はコレクションの利用を促進するのが目的の記事。
と言っても自分も理解が浅いのでぜひともつよつよからの
ご助言も頂けたらうれしいです。

### Collectionとは?
>`Illuminate\Support\Collection`クラスは
配列データを操作するための、書きやすく使いやすいラッパーです。
参照:https://readouble.com/laravel/8.x/ja/collections.html

配列データを書きやすく使いやすくとありますね
でもそもそも配列に対しても色んな関数があるし
今はコレクションなんて使わなくてもコード書けているから必要ないかな
なんて自分は考えていました、はい、、。

それではなんでコレクションを使ったほうがいいのか、
また、配列と何が違うのかを纏めていきます。

### Collectionと配列の大きな違い
これは実務で自分もなるほど、たしかにな!と感じたことなのですが
通常の配列ってエラーが出やすいですよね???
なんのことかって

“`PHP
$user = [
‘name’ => ‘daikin’,

元記事を表示

血圧管理システムをWeb化しました

血圧管理システムをWebシステム、MariaDBでの移行に成功いたしました。
次の課題は
①AWSのクラウド基盤にシステムを移行
②1週間の平均血圧のデータ取得機能の追加
以上2点のうち②からやっていこうと考えています。

元記事を表示

Laravelのマイグレーションファイルを統合しても良いか

## 背景

マイグレーションの管理を続けていると、テーブルを作成するだけでなく変更するマイグレーションファイルも増えてくる。
ファイル数が増えると見通しも悪くなるし、ファイルが分かれているとテーブルの中に特定のフィールドがあるかどうかを調べるのも面倒になる。

## 結論

もう部分的にロールバックすることがなければ、マイグレーションファイルを統合しても構わない。

## Laravel 8 の動作確認

`migrate:fresh` してから、テーブルを変更するマイグレーションファイルを削除して、続くコマンドの動作を確認する。

### migrate

マイグレーションファイルを削除しても問題なし。

### migrate:rollback

マイグレーションファイルを削除すると、その部分のロールバックは実行されない。
ただし、エラーにはならず、削除したマイグレーションファイルについては “Migration not found” とだけ表示される。

### migrate:reset, migrate:refresh

マイグレーションファイルを削除しても問題なし。
全て

元記事を表示

PHPのprintf()やsprintf()でのエスケープシーケンス

“`php
printf(“%”); //=> Warning: printf(): Too few arguments …
printf(“%%”); //=> “%”
“`

printf()やsprintf()でのエスケープシーケンスは、“`%“` らしい。

## 参考
[PHP – Warning: printf(): Too few arguments strange issue – Stack Overflow](https://stackoverflow.com/questions/11515142/php-warning-printf-too-few-arguments-strange-issue)
> https://www.php.net/sprintf
> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136617/2b24270f-e67f-cb09-ce0f-2e7f9d55f53b.png)

元記事を表示

Amazon Linux でのPHPバージョンアップ

## PHP7.2 から PHP7.4 にあげる

業務で使うことがあったので備忘録。

### 0.開発環境
– Amazon Linux 2
– PHP 7.23
– Apache/2.4.46

### 1. 旧バージョンのPHPと関連モジュールを削除

“`
sudo yum -y remove php-*
“`

### 2.php7.2を廃止

“`
sudo amazon-linux-extras disable php7.2
“`

### 3.php7.4を適用

“`
sudo amazon-linux-extras enable php7.4
“`

### 4.phpと関連モジュールの再インストール

“`
sudo yum install php php-devel php-mbstring php-pdo php-gd php-mysqlnd php-cli php-common php-xml php-fpm php-json
“`

### 5.バージョン確認

“`
$ php -v
// 7.4になっていれば成功
PHP 7.4.

元記事を表示

PHPerKaigi 2021 スライドまとめ

※スライドは公開され次第追記します。
もし見逃しやリンク切れ等ありましたら、コメントや編集リクエストいただけると助かります!

## PHPerKaigi 2021 とは

– 公式サイト https://phperkaigi.jp/2020
– 公式Twitter https://twitter.com/phperkaigi
– ハッシュタグ [#phperkaigi](https://twitter.com/search?q=%23phperkaigi&src=typed_query&f=live)

PHPerによるPHPerのためのお祭り!

## 日時

3/26(金) 16:00 – 前夜祭
3/27(土) 10:00 – 本編1日目
3/28(日) 10:00 – 本編2日目

## PHPerKaigi 2021 ブログリンク一覧

[PHPerKaigi 2021 ブログリンク一覧](https://fortee.jp/phperkaigi-2021/blog-link)

## PHPerKaigi 2021 スピーカー一覧

[PHPerKaigi 2021 スピ

元記事を表示

PHP5上級試験/準上級試験の上級合格に挑戦(13) プログラミングPHP第3版 1章〜2章

タイトルの通り。
プログラミングPHP第3版で、黒本にはなかったところをまとめていきたい。

# 1章PHPについて
+ PHP設定変更後はPHPは再起動が必要

1)クロスプラットフォーム(複数の異なるプラットフォームで動作する)のGUIアプリケーションを作れるのは?
2)PHPが動作するOSで、Unix系を3つ答えよ
3)PHPが動作するWebサーバーを3つ答えよ
4)PHPが動作するDBを7つ答えよ
5)DBの抽象化やエラー処理といった一般的な作業をやるPHPコードを集めたライブラリとは?
6)PHPを初めて考案した人物は?また何年か?
 
 
 

解答
1) PHP-GTK
※なお、GUIはGraphic User Interface:画面操作の略。反対はCUI(Command User Interface)、すなわちコマンドラインからの操作のこと。
2)Linux,FreeBSD,Solaris
3)Apache,Microsoft IIS,Netscape/iPlanetサーバー
4)MySQL/PostgreSQL/Oracle/Sybase/MS-SQL/DB2/

元記事を表示

AWS DynamoDBに接続する

# AWS DynamoDBに接続する
AWS DynamoDBを使用するWebサイトを開発するにあたって、
まずはサイトからDynamoDBに接続するための設定を行う必要がある。
いくつか方法があるようだが、マシンにAWSへの接続情報を持たせる方法についてメモ。

ローカルに開発環境を作成するための備忘録。

## AWS認証情報の取得
まずは、AWSに接続するためのアクセスキー(認証情報)を作成し、保存する。

1.AWS マネジメントコンソール にサインインし、IAM コンソールを開く。
2.ユーザー→認証情報→アクセスキーの作成をクリック
3.アクセスキーが生成され、表示されるのでコピペするかCSVダウンロードするなりして保存

## 認証情報をサーバーに設定する

取得したAWSアクセスキーを、サーバーの環境変数に設定する。

AWS_ACCESS_KEY_ID:<取得したAccess key ID>
AWS_SECRET_ACCESS_KEY:<取得したSecret access key>

以上で、Webサーバーへの認証情報の設定は完了!
DynamoDBにつながるように

元記事を表示

【動かして学ぶ!Laravel開発入門】原稿は3年間の授業で積み上げた資料が基に (動画あり)

##◇自己紹介
はじめまして。著者、山崎です。『動かして学ぶ!Laravel開発入門』を書きました。

####QiitaではこんなLaravel記事を書いてきました。
[更新!!Laravel6/7 (laravel/ui)でのLogin機能の実装方法](https://qiita.com/daisu_yamazaki/items/a914a16ca1640334d7a5)

[Laravel8 : 新ログイン「jetstream」を早速試してみたメモ](https://qiita.com/daisu_yamazaki/items/607ea579a374c4187562)

[Laravel8 (laravel/ui)でのLogin機能の実装方法](https://qiita.com/daisu_yamazaki/items/b946594896179abcd203)

[Laravel DB.com 操作マニュアル。 〜コード書かずに超スピード開発(DEMO動画あり)〜
](https://qiita.com/daisu_yamazaki/items/068595670bdc

元記事を表示

【laravel】`base table or view already exists 1050 table ‘users’ already exists`が出た時の、php artisan migrate:fresh以外の解決法

# はじめに
 laravelでmigrationをタイポで間違えて、やり直した際に、`base table or view already exists 1050 table ‘users’ already exists`が出た際に、よくある解決法が、`php artisan migrate:fresh`

でも、ローカルのDBをリセットしたくない!! って思いませんか。
そんな思いを持った私が見つけたもう一つの解決方法です!!

ぜひ、`php artisan migrate:fresh`をせずに、マイグレーションを成功させましょう!

#前提

##環境
PHP 7.4.16
Laravel 6.20.17
mysql 8.0.23
nginx 1.18.0

## 作りたいテーブル
`location_tagテーブル`

| カラム名 | 型 | 外部キー |
| —- | —- | —- |
| id | int ||
| location_id | int |○ |
| tag_id | int |○ |

## エラー文

元記事を表示

【Laravel】「ヘルパ」PHP関数を使っていこう

今回はヘルパ関数について改めて触れる機会があったので
忘備録としてまとめておく。
公式を参考にしているのでより正確な解釈を知りたい方は
最後にリンクを載せてますのでそちらを御覧ください!

##「ヘルパ」PHP関数とは
Laravelで定義されている便利なグローバル関数。
例えばよく使うものでいくと
`auth`や`old`、`env`あたりがすぐに触れるでしょうか。
ちなみに僕は上記の関数は使ってましたがグローバル関数としての認識をもって使ってませんでした。
極端に詳しく調べなくてもいいかと思いますが仕組みを理解して使うと
簡潔な実装につながるかと思うので機会があれば処理を追ってみるといいでしょう。

##様々な関数
割とたくさんの関数があるのでよく使うものを纏めておきます。

“`PHP
// 指定された変数の内容を表示し、スクリプトの実行を停止します。
dd($value);

// 環境変数の値を取得します。取得できない場合はデフォルト値を返します。
env(‘APP_ENV’, ‘production’);

// セッションに一時保持データーとして保存されている直前の入力

元記事を表示

Laravel学習、始めました。(Laravel、MySQL環境構築)

###こんにちは!

ここ数日でphp、Laravelの学習をし始めました。
とりあえず環境構築関係から投稿していきます。

先週に2日間くらいphpの基礎構文と、Laravel,Lumenドキュメントや色々なソースコードを拝見しました。
正直あまりわかっていませんが、細かくアウトプットするのも重要だと思い記事にしました。

##目次
・[Laravel環境構築](#laravel環境構築)
・[MySQL環境構築](#mysql環境構築)
・[感想](#感想)

#Laravel環境構築
####`Homebrew install`
まずphpをインストールするのにHomebrewが必要なので、入っていない方は下記コマンドでinstall。

“`
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)”
“`
バージョン確認。

“`
% brew -v
Homebrew 3.0.9
“`

オッケーですね。

####`php inst

元記事を表示

Google Blocklyを使って、ブロックの組立てた後、プログラミング言語(JavaScript,PHP, Python.. etc)を自動生成してみた

#### Google Blocklyとは?
– 2013年にgoogleにて、公開されたビジュアルプログラミングツールです。
– 様々なコンテンツがありますが、その一部を紹介します。ブロック組み立て後は、プログラミング言語(javascript, PHP, Python.. etc)を自動出力できるページです。
– 今回の利用したページ: [Blockly > Demo > Code Editor](https://blockly-demo.appspot.com/static/demos/code/index.html)

#### 今回のお題
4桁の入力チェック

#### 今回の処理のイメージ
![20210319182052.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/778930/a7d5a7bb-e71b-90bf-06c2-1e8d6f2a350f.png)

#### 今回のブロック
1. 入力ウィンドウ
2. 三項演算子
3. 文字列の出力

#### 今回組み立てたブロック

元記事を表示

Laravelで作成したアプリをHerokuでデプロイしてみよう!# MySQL

## Herokuとは?
HerokuはPaaS(Platform as a Service)と呼ばれるクラウドサービスです。ハードウェア(サーバー)、OS、ミドルウェアからなるアプリケーションの実行環境を提供します。Herokuを使うことで開発者はアプリケーションの開発に専念することができます

[画像引用元](https://www.bmc.com/blogs/saas-vs-paas-vs-iaas-whats-the-difference-and-how-to-choose/)
## 前提
– HerokuにデプロイするLaravelのアプリケーションは準備しておいてください
– DBはMySQLを使用
– Dockerは使いません
– HerokuCLIをインストールしておく
– `$ heroku -v`でve

元記事を表示

OTHERカテゴリの最新記事