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

PHP関連のことを調べてみた2020年01月27日
目次

PHP/Laravel で作成したプロジェクトをAWSにデプロイ

前提

・ローカルで開発したプロジェクトをすでにgithubにプッシュ済み
・EC2にSSH接続できている事

PHP7.2のインストール

““`
$sudo yum install -y \
php72 php72-devel php72-fpm php72-gd php72-mbstring \
php72-mysqlnd php72-pdo \
php72-xml php72-json

インストール済みを確認
$sudo yum list installed | grep php72
““

Mysqlのインストールと動作の確認

“`
インストール
$sudo yum -y install mysql56-server mysql56-devel mysql56

スタート
$sudo service mysqld start

動いているか確認(runnning)になっていればOKです。
$sudo service mysqld status
mysqld (pid ) is running…
`

元記事を表示

【Laravel6.8以降】認証関連のリダイレクト先の設定変更がDRYになったよ

## TL;DR

Laravel6.8以降では認証関連のコントローラーの`RedirectTo`プロパティ等の内容について、個々のクラスで持つのではなく、`RouteServiceProvider`の定数`HOME`に集約されました。

## Before

“`php:app/Http/Controllers/auth/LoginController.php

元記事を表示

【徒然なるままに】2020年最新、WEB技術の勢力図を三国志にしてみた

### 今は昔
一昔前はTwitterのScala/FacebookのReactが猛威を振るっていた時期がありましたが、
イキリ勢力の消耗戦で、最近はVue勢がかなり盛り上がっている印象を受けます。

### かつてのJQuery、それがVue

そんな予感がひしひしとします。

そこで、最新のWEB勢力図を三国志風にしてみました。
三国志の知識はマンガとゲームとWikiです、すみません。

全く知らないキッズは中田さんのYoutube大学をご覧ください。
[【三国志】第一話〜英雄たちの夜明け〜ついに授業リクエストNo.1の超大作](https://www.youtube.com/watch?v=LLvH6Flstz4)

![三国志a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533968/ccda7b9e-3205-7487-038b-3500cd8f0332.png)

### 魏
– 曹操(PHP) … 何でもあり最強、女を侍らせる。
– 夏侯惇(Laravel) … ロマンチスト
– 司馬

元記事を表示

PHPでお問い合わせフォームを作る その3 入力チェック

#はじめに
この**お問い合わせフォームを作ろう**シリーズですが、[第1回](https://qiita.com/hotate_chan/items/b8ac6b270eac50b0b8e2)は最低限のデータ引き渡しが出来るようにしました。
[第2回](https://qiita.com/hotate_chan/items/dc95f9880f6a1dfa3490)ではPHPファイルとhtmlファイルを分けるようにしました~~なんちゃってテンプレート~~。

で、第3回は何をやるかというと、入力画面で入力されたデータのチェックを行おうと思います。

##入力チェックとは

まずは画面とデータの流れをざっくりと確認しましょう。
![Qiita](https://p79.tr0.n0.cdn.getcloudapp.com/items/NQuvmzeY/aaaa.png?v=ace47e289d63181c8a970eb060562d57)

上図のように画面は「入力画面」「確認画面」「完了画面」という風に進んでいきます。
確認画面から入力画面に戻ることも考えなければいけませんが、今時

元記事を表示

Incoming Webhookを使ったSlack通知ライブラリを作った

# Incoming Webhookを使ったSlack通知ライブラリを作った
おはこんばんにちは!和尚です:open_hands:

今日は初めてPHPの自作ライブラリをcomposer化までしてみました!
手順をざっくり書いて、作った自作ライブラリについての使い方を説明していくーーー!:cherry_blossom:

## 経緯
そもそも何故、今更Slack通知のライブラリを作ろうと思ったのかについて軽くお話させていただきたい:point_up:

今年からチャットサービスをSlackに乗り換えるぞ!という会社の方針で、以前チャットワークAPIを使って問合せ通知やらエラー監視ツールの通知やらをチャットワークに送っていたのですが、それらをSlackに移行しなければいけなくなってしまいました。

簡単に使えて便利なPHPのライブラリがあればよかったのですが、Slackの通知の仕組みが去年変わってしまっていて軒並み使えなさそうなライブラリたち…。とはいえ新しい仕組み自体もチャンネル毎にWebhookを使って通知するといった大したものではなかったのでPHPの自作クラスを作って対応しま

元記事を表示

VSCodeにPHP_CodeSnifferを導入する。

## VSCodeにPHP_CodeSnifferを導入する。

VSCodeにPHP_CodeSnifferを導入する方法を記事にしていきます。

### 何ができるようになるのか
PHPのコーディング規約違反(PSR違反)をエディタ(VSCode)で視覚的に確認できるようになる。

### 下準備
`Homebrew`をインストール
[Homebrew公式サイト](https://brew.sh/index_ja)

### 手順
1. 拡張ツール、`phpcs`をVSCodeでインストールする。
※ 下記スクショ赤下線部参照
image.png

![be378075.png](:storage/6bcbd256-fcc0-432e-88b8-68ace02dad43/be378075.png)

2. 以下

元記事を表示

Laravelのサービスコンテナのバインドと解決の仕組みが知りたい!

#はじめに
 Laravelについて勉強しているなか、自分はふと
「Laravelでは、bindとかmakeを使って手軽にインスタンスの受け渡しやインスタンスの利用ができて便利だけど、その仕組みはどうなっているんだろ?」
と感じました。
そこで、実際にbindなどのバインドの仕組みとmakeなどの解決の仕組みについてLaravelのコードを見て調べてみました!(個人的な事情によりLaravel5.5のコードを見て調べました。)

#本題

##バインドと解決の大まかな仕組み(というかこの記事の結論)
 バインド(というかbindメソッド)の大まかな仕組みは、
`bindメソッドの第一引数をキーとして、第二引数をクラスのインスタンスやクロージャとなるキーの値としてLravelであらかじめ用意された配列にセットする`というものです。
そして解決(というかmakeメソッド)の大まかな仕組みは、
`bindメソッドでセットした配列のキーと同じ値がmakeメソッドの第一引数にセットされたとき、そのキーに対応するインスタンスやクロージャを返す`というものです。
 今度は実際のLaravelのコード

元記事を表示

各言語で、継承の挙動はかなり違うという話

## はじめに

この記事は、私が色んな言語でひたすら似たようにクラス継承を書いてみて、実際にどんな値が出力されるのかを調査した結果をまとめたものです。時には既知の言語でも「こんな文法あったんだ」と思いながら、時にはHello Worldから頑張りました。

まとめるのが大変だった割に誰得?という内容ですが、同じことが気になった人のために置いておきます。
いやでも新しい発見があるかもしれないのでとりあえず読んでみてください。
意外と面白い結果になったかもしれません。

## 調べた言語

– 静的型付け
– Java (Corretto 1.8.0_232)
– C# (3.4.0)
– C++ (11.0.0)
– Scala (2.13.1)
– Kotlin (1.3.61)
– Swift (5.1.3)

– 動的型付け
– Python (3.7.1)
– Ruby (2.6.5)
– PHP (7.1.32)
– JavaScript (node v12.14.1)

– オプショナルな静的型付け
– TypeScript (3

元記事を表示

初学者が12.5日でPHP7初級に合格する方法

# はじめに
PHP初学者である自分が、12.5日間の勉強で、
PHP7初級に合格
することができました。
その方法を本記事にまとめます。何方のご参考になれば幸いです。

# 前提
## 私
文系卒3年目SEです。
元々はJava+JavaScriptによるシステム開発をやっていました。
最近はWeb API設計が主な業務です。

PHPは趣味で少し齧ってみた程度で、業務での使用経験はありません。

## 受験理由
PHPのフレームワークであるLaravelに興味を持ち、
先ずはPHPの基礎知識を習得したいと思ったことが動機です。
資格取得という形であれば、以下の理由から都合がよいと考え、
受験することにしました。

– 段階的に学習できる

スキルを他者にも客観的に捉えられる

## スケジュール
’20/1/13(祝)- 受験日:1/25(土)
※ 勉強時間:平均2h/日

計:12.5日間
※ 勉強時間:約25h

## 勉強場所
主に以下で行いました。

– 通勤電車内(1h)

– 昼休憩中の自席

元記事を表示

Laravelでとりあえず画像を表示する

※自分用メモ

Laravelで画像を表示します。

#1.resources/viewsにindex.blade.phpを作成し、以下を挿入

“`html:

“`

asset~部分が環境下でURLに置き換わるそうです。

※bladeにしないと(=index.phpで作ると)波括弧の構文が機能しない
 俺はこれで三時間潰しました

#2.piyopiyo.pngをpublic/imgに入れる

フォルダを作成して突っ込みます。

#3.routesのweb.phpに以下のコードを入れる

“`ruby:
Route::get(‘/index/’, function () {
return view(‘index’);
});
“`

終わり!!!

元記事を表示

PHPのIterable型を使ってみる

# TL;DR
– PHPが用意してる型の1つの**Iterable型**に関する内容
– 特に、array型を受け取る前提、かつ、型に厳格さを求めるfunctionなどの場合、**Iterable型**での定義は最適な実装方法の1つではないかと感じる

# 前提
– 実行環境
– **PHP 7.1.32**

## 注意
>Iterable は PHP 7.1 で導入された疑似型です。array、あるいは Traversable インターフェイスを実装したオブジェクトを 許容します。これらの型は、いずれも foreach で繰り返し可能であり、また、 ジェネレータ 内で yield from できます。

引用元:https://www.php.net/manual/ja/language.types.iterable.php

上記に記載されているように、公式ドキュメントには、**Traversable インターフェイスを実装したオブジェクト**も許容するとあるが、実際のユースケースとして、arrayの方が頻度は多いと判断したため、arrayを主に利用したサンプルコードと

元記事を表示

Laradocを使ってLaravel6の開発環境をインストールする

##はじめに
こちらの記事はTechpitに販売されている教材を進めるにあたって、教材を参考(ほぼ丸写し)にさせてもらって作成しています。
参考箇所はプレビュー部分なので、誰でも見ることができます。
URLも貼っておきます → [Laravelで飲食店検索LINE Botを作ろう!](https://www.techpit.jp/p/laravel-line-bot)
開発者はコチラの方です → やんばるさん([@shonansurvivors](https://twitter.com/shonansurvivors))

##前提
Dockerをインストールしていること。
今回は略しますが、開発者のプレビューでもインストールの方法を丁寧に解説されていますので、よければご覧ください。

#ユーザライブラリフォルダの直下にフォルダを作成
今回はユーザライブラリフォルダの直下にlaravel-projectフォルダを作成します。
下記のコマンドを叩けばユーザライブラリフォルダの直下にlaravel-projectフォルダを作成できます。
さらにlaravel-projectフォルダに移動。

元記事を表示

今後について

ども。久々です。

突然ですがサブカルチャー特化型のSNSを開発します。

システムは既存のオープンソースプラットフォームを利用しますので開発期間はあまり長くはないと思う。というか時間が取れない。

なぜなら今年大学受験だから………だけでなくまともにネットができるのが土日しかない。

それでもやりたい理由はまた今度…

そんでまず手始めにVPSサーバーを契約して必要なモジュールは入れた。

基本的なシステム構成はapacheをbuntu 18.04LTSで回すというごく単純です。

何が問題なのかというと低スペックサーバーでもいかに安定な処理ができるかです!!

ということでRubyとかも検討したのですが比較的重めのシステムはいかんかな〜と思ったんで結局php7.3にしました。(7.4にしなかった理由は単純に安定性重視だから)

PHPってサーバーサイドの言語だけどhtmlの静的なページはできるだけクライアントで処理していただく…という魂胆です。

また気が向いたら開発理由とか今後の計画とか書きますー

元記事を表示

【PHP】Qiita 週間いいね数ランキング【自動更新】

# 他のタグ

– [Python](https://qiita.com/kou_pg_0131/items/9d7f2ffeafb36cf59a77)
– [JavaScript](https://qiita.com/kou_pg_0131/items/eaa7ac5b62a0a723edbb)
– [AWS](https://qiita.com/kou_pg_0131/items/e24b6279326a462d456c)
– [Ruby](https://qiita.com/kou_pg_0131/items/72c3d2e896bdc3e1a6b3)
– [Rails](https://qiita.com/kou_pg_0131/items/93b9e7f7d143e9ce650e)
– [Docker](https://qiita.com/kou_pg_0131/items/ae11fca7d2eba445b037)
– [Vue.js](https://qiita.com/kou_pg_0131/items/2774e02c6eea5c830d99)
– [PHP](htt

元記事を表示

【PHP】PHPの超基礎をここに(パート1)

#PHPの基礎をここに

###昔かじったPHPを完全に忘却したので復習を兼ねてPHPの超基礎

PHPはHTMLの中にぶっこむことができる

“`phpkiso.php





“`
※メモ※ファイルの最後がPHPのプログラムで終わるときは?>は省略可!

##コメントアウト
“`comment.php






“`

##文字列の表示
文字列出力の際は”echo”を使う
文字は「’」か「”」で囲む必要がある

“`mojiretsu.php

“`

##変数
変数とは、、、一時的に値を保存する箱?的な存在
※$を頭につけて半角英数と「_」を使用して名前をつける
※変数名の頭に数字は使用不可
※変数には「=」を使って値を入

元記事を表示

phper用 vscodeでダブルクリックで、$を含んで変数を選択したい

環境 mac

~/Library/Application Support/Code/User/settings.json
を開いて次を追記する。

“`
“editor.wordSeparators”: “`~!@#%^&*()-=+[{]}\\|;:’\”,.<>/?”,
“`

もしくは、「command + ,」 でsettingを開いて窓に「wordSeparators」と入れて検索し出てきた設定から”$”を抜く。
設定はリセットできるので、うまくやろう。

参考
[Make Visual Studio Code to correctly select PHP variables on double\-click \| Igor Kromin](https://www.igorkromin.net/index.php/2018/04/12/make-visual-studio-code-to-correctly-select-php-variables-on-double-click/)

元記事を表示

PHPでお問い合わせフォームを作る その2 テンプレートを使ってみる

#PHPでテンプレートを使ってみよう
[前回の記事](https://qiita.com/hotate_chan/items/b8ac6b270eac50b0b8e2)で、最低限のコードでお問い合わせフォームを作ってみました。

+ 1 入力画面 データを入力させる
* 2 確認画面 データを受け取り、受け取ったデータを表示する
– 3 完了画面 メールを送信して、ありがとうメッセージを表示する

という流れでした。
データの引き渡しをやってみた、というところです。

で、今回は前回の記事に書いていた__やっておいた方が良い事__のうち、テンプレートの使用をやってみたいと思います。

#前提
今回もフレームワークは使いません。
なので、厳密な意味でのテンプレートエンジンは使用しません。
PHPファイルとhtmlを書いたファイルを分離することを目的とします。
では、作っていきます。

##構成
“`
index.html // 入力画面です
confirm.php // index.htmlで入力されたデータを受け取ります
confirm.html //

元記事を表示

PHP/Laravelで初の新規開発を行ったので利用したライブラリや概念などまとめてみる

# 概要

独学でちょい勉強して未経験エンジニアとしてスタートで、まだ働き始めて1年経たないですが、初めて新規での開発(バックエンド部分メイン)を担当したのでその感想として、利用したライブラリや概念などを紹介したいと思います。
1ヶ月ちょっととかで大体終わらせる感じだったのであまりライブラリ選定であったり設計にかける時間も
取れない中だったのですが、少しでも参考になればと思います。

# Formatなど記述や構造で注意したとこ

## ディレクトリ構造

並列でポンポンフォルダ置くことは避けました。
特に名前が2単語3単語のファイルが出てくるときには、ディレクトリでカテゴリ作って
綺麗にできるように工夫しています。特にモデルをlaravel内でのフォルダ名からの
テーブル名識別に頼らずに積極的にリレーション系列はまとめて下層においてわかりやすくしています。
例えばusersテーブルに対する、user_prefilesテーブルだったら

Models—-User.php
|
|-User—-Profile.php

作って

元記事を表示

【 laravel】ER図 からCRUD自動生成ツール。テストデータ生成も追加!【Laravel DB.com 】

#2020/01/28最新バージョン:Laravel DB.com
**「 テストデータ(faker)登録 」** までCODEを書かずに作成可能なツールにアップデートされました。

###私の開発環境

– Laravel5.5/PHP7.2.1/MySQL5.6.38 (Mac: Chromeで確認)


####LaravelDB.com 操作解説ページはこちらです。
**[【 Laravel 】CRUD『 表示・登録・更新・削除 』機能をCODEを書かず自動作成](https://qiita.com/daisu_yamazaki/items/3755467b39ef158b81a3)**
https://qiita.com/daisu_yamazaki/items/3755467b39ef158b81a3

#### アップデート内容
###### faker自動生成(テストデータ生成処理)

seeds_と_views.jpganyenv下のphpenvを使ってPHPをインストールしてみた

Homebrewでインストールしたanyenvに導入されたphpenvを使ってPHPをインストールしていきます。
割とすんなりと行かなかったので備忘録。
anyenvとphpenvは導入している前提となります。

環境
macOS : Catalina 10.15.2 (zsh)
phpenv : v0.9.0-rc.1
入れるPHP : 7.4.1

##早速インストール
コンソール上でコマンドを打ちphpenvでPHPのインストールを試みました。

“`
phpenv install 7.4.1
“`

するとエラーが。

“`
No package ‘krb5-gssapi’ found
No package ‘krb5’ found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables KERBE

元記事を表示

OTHERカテゴリの最新記事