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

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

AWSでWordPressを始めてハマった話

# はじめに
突然「よーしパパAWSでWordPress頼んじゃうぞー」と思い立つ。

先ずは検索。
https://www.google.com/search?q=aws+wordpress

情報いっぱいあるし、**余裕だな**。

# アカウントを作る
[AWS アカウント作成の流れ](https://aws.amazon.com/jp/register-flow/)
**簡単そうだな**。

[スケーラブルなウェブサイトの構築方法:フェーズ 1
サーバー 1 台構成で WordPress 環境を構築](https://aws.amazon.com/jp/getting-started/projects/scalable-wordpress-website/01/)
スケーラブルにはしないのでサブネットの設定などは必要無いのだが、特に考えずにチュートリアルの通り進める。
見本の画面と実際の画面がところどころ違うが、大した問題ではない。
**簡単すぎる**。
# WordPressでハマる
無事にインスタンスが起動した。[フェーズ 1-5](https://aws.amazon.c

元記事を表示

Moodle 3.8 マニュアル – プラグインFAQ

[原文](https://docs.moodle.org/38/en/Plugins_FAQ)

# プラグインFAQ

内容

[1 プラグインとは何か?](#1-プラグインとは何か)
[2 プラグインのインストール方法は?](#2-プラグインのインストール方法は)
[3 パッチの適用方法は?](#3-パッチの適用方法は)
[4 新しくインストールしたプラグインがプラグインリストに出てこないのはなぜですか?](#4-新しくインストールしたプラグインがプラグインリストに出てこないのはなぜですか)
[5 Moodle にコードを貢献するにはどうしたらよいですか?](#5-moodle-にコードを貢献するにはどうしたらよいですか)
[6 新しいプラグインを作成する上でなにか情報はありますか?](#6-新しいプラグインを作成する上でなにか情報はありますか)
[7 関連項目](#7-関連項目)

#1 プラグインとは何か?

A plugin, (previously known as an add-on, contributed code, or “contrib” for short),

元記事を表示

TRACKER NETWORKのApex Legends Apiを触ってみた

#はじめに
TRACKER NETWORKは自分のfpsゲームのstatsを見るのに使っていましたが、APIがあるなんて初めて知りました。

#TRACKER NETWORKのAPI Key取得方法
####1,TRACKER NETWORKにログイン後、下記で適当なアプリを作る
>https://tracker.gg/developers/docs/getting-started

####2,作成すると、API Keyが出てきます
![tracke.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/576886/9956c9df-e819-98f9-ba6a-b05da4807487.png)

#API Keyをheaderに埋め込む
“`
//ヘッダーフィールドの配列
$header = array(
“TRN-Api-Key:入手したAPI Key”
);

//headerの設定
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
“`

#コード

元記事を表示

関数について

#関数とは
何かの処理を実行してくれるものである。

ミキサーで例えると、
ミキサーが関数
イチゴが引数1
ミルクが引数2
イチゴミルクが返り値
である。

以下のソースがミキサーの関数

“`php
function mixer($material1, $material2)
{
$deliverable = $material1 . $material2;
return $deliverable;
}
“`

ミキサーにイチゴとミルクを入れてイチゴミルクを完成させる。

“`php
mixer(“strawberry”,”milk”);
“`

元記事を表示

PHPで配列内の同じキーの要素を足し算したい

PHPの標準関数で、配列内の同一のキーの要素を足し算する方法って用意されていないですよね。
やり方はいろいろあるかなと思いますが、一つのやり方を忘備録として書き留めておこうかと思います。
こうやって書いた方がもっとスマートに計算できるよっていう方法がありましたら、コメント欄で教えてください!!

##foreachでまわして同じキーの要素を足し算する
“`
$sample1 = array(4) {[0]=> 84, [1]=> 6, [2]=>3, [9]=>21}
$sample2 = array(4) {[0]=> 15, [1]=> 3, [2]=>0, [9]=>26}

$result = [];
foreach ($sample1 as $key => $val) {
$result[] = $val + $sample2[$key];
}

$result = array(4) {[0]=> 99, [1]=> 9, [2]=>3, [9]=>47}
“`

以上、ご参考までに!!!

元記事を表示

PSR-1: Basic Coding Standard 読了

# PSRとは
– PSR(PHP Standards Recommendations)とは、[PHP-FIG](https://www.php-fig.org/)(PHP Framework Interop Group)が策定しているPHPコーディング規約を指す

# PSR-1: Basic Coding Standard
[PSR-1: Basic Coding Standard](https://www.php-fig.org/psr/psr-1/)

>This section of the standard comprises what should be considered the standard coding elements that are required to ensure a high level of technical interoperability between shared PHP code.
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”

元記事を表示

Oracle Cloud無償トライアルで簡単なブラウザゲームを作る(無駄にOCIリソースを使用)

#本投稿の背景
年始にOracle Cloud無料トライアルを申請したのですが、DBを作るだけではつまらないと思い、
OCI(oracle cloud infrastructure)リソースを無駄に使いながら、簡単なブラウザゲームを作ってみました。

##作ったブラウザゲーム

**■ブラウザゲーム概要**
①シュートコースを選択
②[シュート]ボタンをクリック
 ⇒ゴール or キーパーセーブの判定を行い画面に表示。
  (勝敗数はDBに記録するので、通算勝敗数を表示)

本記事を見ることで、誰でもブラウザゲームが作成できるように手順を記載しています。
**※プログラム(php)、OCI環境、各種パッチ、セキュリティ設定は、ブラウザゲームが最低限動く設定としてますのでご了承ください**

##Oracle Cloud構成図

元記事を表示

Laravelの基本的なArtisanコマンド

#はじめに
よく使うLaravelのartisanコマンドをまとめたいと思います。
DB作成する際にはSQL直書きするとコードの量が多くなる(SQL入力しにくい。。。)ので特にテーブル作成はartisanコマンドつかった方が楽になります。

#Artisanコマンド
基本的なArtisanコマンドについてまとめていきます。

・Artisanコマンドの一覧を見る

“`php:
$php artisan list
“`

・Artisanコマンドの一覧を見る

“`php:
$php artisan migrate:status
“`

・テーブルの作成
 table_name:作成したいテーブル名

“`php:
$php artisan make:migration create_(table_name)_table
“`

・マイグレーションの実行

“`php:
$php artisan migrate
“`

・ロールバック(マイグレーション取り消し)
 –step=1:数字は直近のマイグレーションファイルから戻したいファイル数

“`php:
$php

元記事を表示

riot apiでアカウント情報を取得してみた

#はじめに
調べてみると今まで触ってきたサービスの中にapiがあるものが多かったので、
今回はLeague of Legendsのapi、riot apiを触ってみました。

#riot apiのapiキーの取得方法
####1,Riot Developer Portalにサインイン
>https://developer.riotgames.com/

####2,DEVELOPMENT API KEYを取得
**DEVELOPMENT API KEYは24時間で使えなくなるので使いたいときは更新しましょう**

#コード

“`riot_api_test.php

元記事を表示

envファイルとはなんだろう。

## コトの経緯を簡単に

先日、自社のスーパプログラマーから
「YOU、envファイルの事全然わかっちゃいないね!勉強しちゃいなよ!」
と肩をポンと押してもらう。

入社してコーディングの学習をメインに行なっていますが、
環境設定とかそこらへんの学習の波に乗れていないのが本音です。
早速ですが勉強してみる。

## 筆者のenvファイルの認識

プログラミングスクールではカリキュラムにさらっと書いてあるぐらいだったので深掘りしませんでした。

認識としては
「公開しちゃいけない内緒の内容を書いておくヒミツファイル」
っていう認識でした。激甘ですかね。。。
(私、スクールに通っておりました。)

## envコマンド

envファイルの前に
envコマンドというものがある!

コンピュータに対する命令の1つ
環境変数を設定してコマンドを実行する時に使うコマンド!

※書き方

“`
env [オプション] [環境変数名]=[値] [コマンド]

env env1=val1 com1

“`

環境変数[env1]に値[val1]が設定された状態で[com1]が実行される。

##

元記事を表示

郵便番号検索apiを使ってみた

#はじめに
初めてapiを触ったのでおかしなところがあるかもしれません。

#環境
php

#コード

“`php:api_test.php





郵便番号検索

元記事を表示

【初心者向け】外部キーについて 

# 外部キー(FOREIGN KEY)とは
関連性のあるテーブルを結びつけること

「ここの(外部キーを指定した)値は
こっち(親テーブルの値)から選んで入れるて」みたいな?

参照されるのが親テーブル
参照するのが子テーブル

#使用例

テーブル名:threads(子テーブル)参照する側

|id(主キー)|commented_at|comment|board_id(外部キー)|
|–:|–:|–:|–:|
|1|2020/1|aaa|A1|
|2|2020/2|iii|B2|
|3|2020/3|uuu|C3|
|4|2020/4|eee|D4|

テーブル名:boards(親テーブル)参照される側

|id(主キー)|created_at|title|
|:–|–:|:–:|
|A1|2020/5|AAA|
|B2|2020/6|III|
|C3|2020/7|UUU|
|D4|2020/8|EEE|

外部キーに指定するカラム名は(参照先のテーブル名の単数形+id)
2つのテーブルを関連付けるため、threadsテーブルにboard_idを追加。
外部キーを指

元記事を表示

そろそろaws初めてみよか

# はじめに

ようやく最近社内の担当でもawsとかクラウドとか言い出し始めて
戸惑いを感じつつawsの無料枠でかじってみようかと思ったのが事の始まり

上司「ラムダでごにょごにょ、EC2でごにょごにょ」
わたし「…。」

[aws](https://aws.amazon.com/jp/)にアクセスしてまずはアカウントを登録しました。
コンソールには様々なサービスが載っていて正直何から手を付けて良いやら、途方に暮れること1日(笑)

ようやく試しに触ってみる段階になりましたとさ

# ラムダって何だ?

AWS Lambda
サーバーレスでイベントドリブンなAPIやHTMLを生成できるものらしい。
イベントといってもAPI Gatewayを使えばURLをキックされた際に動的な処理をかませてHTMLを生成するなんてこともできるらしい。
Qiitaの記事でも色々上がってはいる[AWS Lambda と Python で作る動的な HTML ページ](https://qiita.com/kimihiro_n/items/15cce90ec93625c4445a)とか実際に参拝してみたりして(

元記事を表示

エラー:General error: 1 table posts has no column named updated_at

# エラー
phpでsaveをしようとしたら、下記のエラーが表示
[![Image from Gyazo](https://i.gyazo.com/0940789df245bd0b492502ef1d0f1aa5.png)](https://gyazo.com/0940789df245bd0b492502ef1d0f1aa5)

“`
>>> $post->save();
Illuminate/Database/QueryException with message ‘SQLSTATE[HY000]: General error: 1 table posts has no column named updated_at (SQL: insert into “posts” (“body”, “title”, “updated_at”, “created_at”) values (body 1, title 1, 2020-02-02 14:58:15, 2020-02-02 14:58:15))’
“`

## 対策

$timestamps無効にすれば改善される。
そのモデル

元記事を表示

sqlite> quit として終了できない

sqliteでschemaを見たあとに、終了しようしてしたが、

.quit ではなく quitだけ入力した場合、終了できなくなる。

“`
sqlite> quit
…> .quit
…>
“`

その場合の対処方法は、

;を入力すること

“`
…> ;
Error: near “quit”: syntax error
sqlite> .quit
OwnernoMacBook-Air:myblog-laravel owner$
“`
これで戻れます

元記事を表示

Moodle 3.8 マニュアル – プラグインのレビューの基準

[原文](https://docs.moodle.org/38/en/Plugin_Review_Criteria)

#プラグインのレビューの基準

内容

[1 サードパーティーのプラグインを見るときに考慮するある基準](#1-サードパーティーのプラグインを見るときに考慮するいくつかの基準)
[2 いくつかの最初の質問](#2-ある最初の質問)
[3 これはインストールが容易か?](#3-これはインストールが容易か)
[4 ドキュメントはよいか?](#4-ドキュメントはよいか)
[5 先生が使用するのは容易か?](#5-先生が使用するのは容易か)
[6 生徒が使用するのは容易か?](#6-生徒が使用するのは容易か)
[7 額面通りの動作をするか?](#7-額面通りの動作をするか)
[8 機能](#8-機能)
[9 フィードバック](#9-フィードバック)
[10 作者の背景(経験/信頼性のチェック)](#10-作者の背景経験信頼性のチェック)
[11 技術](#11-技術)
[12 関連項目](#12-関連項目)

#1 サードパーティーのプラグインを見るときに考慮するいくつかの基

元記事を表示

Projectz from Discogs

## はじめに

いろんなフレームワークなどを触り始めるとき、まず公式ドキュメントを見てコマンドを叩いて、じゃあ勝手にディレクトリがいろいろ作られて、って流れが最近多いと思うんですが、そのときのルートディレクトリの名前、みなさん何にしてますか?要はプロジェクト名のことです。

公式ドキュメント通りにやってると、blog だったり todo だったりしますよね。自分で考えた場合 foo だったり demo だったり。特定のフレームワークの名前を前に付けて、rails-blog としたり laravel-todo としたり react-demo としたりしますよね。…しますよね?

ただ、ちょちょいと触って削除するならなんでもいいんですが、最近この**「プロジェクト名にかっこいい名前を付けるとモチベーションが上がる」**ことに気づいたんです (それがデモアプリだったとしても)。プロジェクト名がかっこいいと、中身が薄っぺらくても、せめてコードだけでもちゃんと書こうっていう気になるんですよね。不思議なもんです。

だって見てください、左上。ここが Qiita じゃなく Test とか書かれ

元記事を表示

【備忘録】Cloud9で「proc_open(): fork failed – Cannot allocate memory」が出たときの対処法

*※超絶初心者の為、誤りがございましたらコメントを頂けると大変助かります。*

Laravelの新しいプロジェクトを作成しようとしたら、
`proc_open(): fork failed – Cannot allocate memory`
というエラーが出た。
「Cannot allocate memory」は日本語で「メモリを割り当てることができない」であり、
それを頭に入れつつググると、「PHPに割り当てられているメモリの値が足りない」ということがわかった。
そして、php.iniを編集して、メモリを増やさなければならないこともわかった。
参照記載の3つのサイトを参考にしながら、メモリを128M→512Mへ増やしたので、備忘録として残しておく。

※2020年2月2日追記

下記の手順A通り処理し、メモリを広げたが、結果、プロジェクト新規作成時のエラーを消すことができなかった。
Composerのトラブルシューティングに他の手段の記載があったので、
その手順Bを追記しておく。
こちらの手順でエラーは消えた。

##手順B
ターミナルに下記1~3のコマンドを入力。
1.

元記事を表示

Guzzleでnable to set private key file発生

Guzzleでクライアント証明書によるリクエストでトラブった??話

環境

* Ubuntu18
* Guzzle 6.x
* PHP 7.2

“`php

$client = new \GuzzleHttp\Client(
[
\GuzzleHttp\RequestOptions::CERT => “.crt”,
\GuzzleHttp\RequestOptions::SSL_KEY=>”.key”
]
);
$res = $client->request(
‘POST’,
‘,
[]
);

“`

上記のコードを実行すると

“`GuzzleHttp\Exception\RequestException : Error creating resource: [message] fopen(): Unable to set pr

元記事を表示

goでphpのような何でもブチ込める配列を作りたい。

# 便利よね、phpの配列って
Goを社内布教していたら、
「phpみたいに何でもブチ込める連想配列みたいなの作りたいの!」
と、同僚が。
確かにphpの連想配列というか配列は型を意識しないで何でもブチ込める便利なヤツです。
Goだと型を決めて配列なりsliceなりmapを作らなきゃイケませんよね。

型宣言はphp使いにはめんどくさいのは確かなのと(個人差アリ)、
同僚のテンションが下がることによってGoの布教に失敗したくなかったので、
下記コードをサンプルで渡しました。

“`go

package main

import(
 “fmt”
)

func main() {
associative_array := make(map[interface{}]map[interface{}]interface{}, 0)
associative_array[0] = make(map[interface{}]interface{})
associative_array[0][“a”] = “abc”
associative_array[0][1] = 123
associ

元記事を表示

OTHERカテゴリの最新記事