- 1. PHPでSpotify APIを使う
- 2. 【Laravel】自画面遷移時にセレクトボックスの選択値を保持させる
- 3. 【Laravel】Eloquentモデルで使用カラムをカスタマイズする
- 4. 【Laravel】DBの値をもとにViewに画像を表示させる
- 5. きっと正しくないレンタルサーバーの作り方 Vol.2 -全体の設計
- 6. 【PHP】引数の初期値を設定した関数|優先度(初期値 < 引数)
- 7. 【Laravel】ミドルウェアを利用しよう!
- 8. Laravel + Amazon Cognitoで、ユーザー新規登録を試してみた
- 9. PHPからS3にファイルアップロードをlocalstackを使って開発してみた
- 10. 【Laravel】Homesteadで複数アプリを管理しよう!
- 11. 配列要素を削除するとインデックスが残ったり残らなかったりする
- 12. Laravelをさくらのレンタルサーバで動かしてみた【環境構築】
- 13. 【PHP】class内で宣言した定数の参照|self::の有無による違い
- 14. [PHP][マルチバイト対応]レーベンシュタイン距離を求める(解説つき)
- 15. きっと正しくないレンタルサーバーの作り方 Vol.1 -プロジェクト事始め
- 16. ping-tライクなページ2(ただしチャチ)~魔法のhidden属性~
- 17. banglatv
- 18. Moodle 3.8 マニュアル – マスカレーディング
- 19. Moodle 3.8 マニュアル – マスカレーディング
- 20. PHP 変数に値を格納する
PHPでSpotify APIを使う
# 目次
– はじめに
– GitHubからライブラリを落とす
– Spotifyのダッシュボードからアプリケーションを作成する
– APIに接続する
– 関数を使ってみる
– 補足
– お世話になったサイト# はじめに
脱プログラミング初心者を目指すがてら、PHPでSpotify APIを使ったWEBアプリを作りました。いろいろ調べながら大変な思いをして作ったので、せっかくだから爪痕を残そうと思って書いてます。自分のようなプログラミング初学者の助けになればと思います。
APIってなんのことだかよくわからないという方、プログラミング始めたての方でもわかるように書いたつもりです。# GitHubからライブラリを落とす
こちらのライブラリを使ってます。
> [spotify-web-api-php](https://github.com/jwilsson/spotify-web-api-php)このライブラリの[README](https://github.com/jwilsson/spotify-web-api-php/blob/master/README.md
【Laravel】自画面遷移時にセレクトボックスの選択値を保持させる
検索画面など、自画面遷移時にセレクトボックスの選択値を保持させる方法です。
## やりたいこと
自画面遷移時にセレクトボックスの選択値を保持させる* 処理実行→自画面遷移時
* バリデーションエラー時の2パターンに対応させる
## 環境
* PHP:バージョン7.3.7
* Laravel:バージョン5.8
* OS:Windows10## 書き方
typesテーブルから取り出した値(ID、NAME)をもとにセレクトボックスを作成する場合の記述は以下の通り。
“` php
【Laravel】DBの値をもとにViewに画像を表示させる
Laravelで、DBの値をもとにViewに画像を表示させる方法です。
## やりたいこと
DBの値(=流動的)をもとにViewに画像を表示させる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/356958/25f8dbe3-0058-a9d3-6689-9073ca7f7f72.png)## 環境
* PHP:バージョン7.3.7
* Laravel:バージョン5.8
* OS:Windows10## 画像表示のキホン
画像ファイルは外部ファイルにあたり、{laravelプロジェクト}/publicに置く必要があります。
他、CSSやJavascriptも同様。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/356958/565a6795-0abe-0cd0-48c8-f4493d300a88.png)
public配下のimageディレクトリ内の画像を表示させたい場合
きっと正しくないレンタルサーバーの作り方 Vol.2 -全体の設計
# はじめに
※注意!
この一連の記事で紹介するコードは動作の概念を説明するものでありセキュリティーなどは意識していません(・∀・)。**実際に運用するシステムなどに使用しないでください**(・∀・)。
(そのまま使うひともいないと思いますが)また、私も記事を書きながら開発をしていくので「後になってみたら最初の方の記事間違えてたー」なんて事は起きそうです(・∀・)。
ご了承ください(・∀・)。
# 目次
– [きっと正しくないレンタルサーバーの作り方 Vol.1 -プロジェクト事始め](https://qiita.com/lembryo/items/38b5b45435c7b21d0a51)
– [きっと正しくないレンタルサーバーの作り方 Vol.2 -全体の設計](https://qiita.com/lembryo/items/298c739623d8b2bca554)(**この記事**)# 要求と仕様をまとめる
前回に引き続き、誰のためにもならないレンタルサーバーの作り方を解説していこうと思います(・∀・)。
作るものはだいたい決まったので、それを文章化し
【PHP】引数の初期値を設定した関数|優先度(初期値 < 引数)
web系エンジニアを目指し、MENTAを利用し、PHPを学習している初学者です。
日々学習していることの忘備録、モチベ維持、ちゃんとやってることの証明!で、投稿していきます。
#対象者
PHPを学びはじめた、初学者
#内容
関数で引数を設定した際の、値の扱い。
#動作環境
PHP 7.1.32
##基本のおさらい
###関数・引数とは
“`php5
$a = 1;
$b = 2;
$c = 3;
//仮定:組み合わせごとの和を求めたい
$ab = $a + $b; //3
$ac = $a + $c; //4
$bc = $b + $c; //5//関数にする
function sum($number1, $number2) {
$sum = $number1 + $number2;
return $sum;
}
関数:上記の3行
引数:関数に渡す値($number1, $number2)//関数を使用する
$ab = sum($a, $b); //3
$ac = sum($a, $c); //4
$bc = sum($b, $c); //5
“
【Laravel】ミドルウェアを利用しよう!
#はじめに
今回はミドルウェアの実装方法について説明します。
#ミドルウェアとは
ミドルウェアとは指定したアドレスにリクエストを送ると自動で処理を行う仕組みのことです
処理が行わられるタイミングは以下の2つの場合です
**1. ビューからコントローラーにアクセスした時
2. コントローラーからビューにレスポンスを送る時**
#ミドルウェアの作成
では、実際にミドルウェアを作成しましょう
`OldMiddleware`という名前のミドルウェアを作成します“`:ターミナル
php artisan make:middleware OldMiddleware
“``app/Http/Middleware/OldMiddleware.php`が作成されます。
#ミドルウェアの編集
作成されたミドルウェアを編集します。
アクセスした時にアクションにリクエストを送る前に
`age`の値が20以下なら`home`にリダイレクトさせる機能を実装します。“`php:app/Http/Middleware/OldMiddleware.php
Laravel + Amazon Cognitoで、ユーザー新規登録を試してみた
##前提条件(環境)
2019年12月28日に試してみたものです。
Laravel 5.8
aws/aws-sdk-php 3.13##期待する動作
登録フォームにメールとパスワードを入力して送信すると、Cognitoのユーザープールに仮登録される。
そして、その際に届いたメールのリンクを辿ると、「アカウントのステータス」が「CONFIRMED」になる。##手順
1. IAMで、Cognitoにアクセス可能なアクセスキー作成
2. Cognito側の初期設定
3. AWSのSDKをインストール
4. AWSの情報を.envファイルに追加
5. SDKの中にある、CognitoIdentityProviderClientクラスに用意されているsignUpメソッドを使う##1. IAMで、Cognitoにアクセスできるアクセスキー作成
割愛##2. Cognito側の初期設定
1. 「ユーザープールの作成」
2. 「デフォルトを確認する」
3. アプリクライアントの作成デフォルトと変えた部分は以下4つ
+ ユーザーのサインインに使う項目:Eメールアドレス
+ カスタム
PHPからS3にファイルアップロードをlocalstackを使って開発してみた
ローカル環境からS3にファイルをアップするために本物を用意するのが面倒になっていたところ
localstackと言うものを見つけたので使ってみた# localstackって何?
– AWSのサービスのモックを用意してくれるすごいやつ
https://github.com/localstack/localstack
– 今回はその中でS3のモックを使ってみる# 環境
– php 7.4
– localstack# 前提
– PHPを動かせるdocker imageが用意してある状態# 準備
## docker-compose.ymlの内容
“`docker-compose.yml
version: ‘3’
services:
php:
build: ./php
tty: true
volumes:
– ./src:/src
working_dir: /src
localstack:
image: localstack/localstack
ports:
– 4572:4
【Laravel】Homesteadで複数アプリを管理しよう!
#困った現象
Homesteadで`laravel new`して新しいアプリケーション作って、
`artisan serve`でサーバー動かした、
でも、新しいアプリケーションに繋がず、前に作っていたアプリケーションに繋がる#解決策
では、この現象を解決していこう!やることは以下の手順です!
1. [http://localhost:8000/](http://localhost:8000/)にアクセスした時に繋がるファイルを設定する
2. 設定を反映する##[http://localhost:8000/](http://localhost:8000/)から繋がるファイルを設定する
その設定をしているファイルはHomestead.yamlです。編集していきましょう
ホストOSで`~/Code`をゲストOS上で`/home/vagrant/Code`として扱っています“`yaml:/home/vagrant/Code/Homestead/Homestead.yaml
folders:
– map: ~/Code
to: /home/vagrant/Cod
配列要素を削除するとインデックスが残ったり残らなかったりする
PHPの配列は、キーのインデックスなどが配列側でしっかり管理されています。
“`php
$a = [];
$a[] = 1;
$a[10] = 2;
$a[] = 3;var_dump($a); // [0=>1, 10=>2, 11=>3]
“`キーを空白にすると、自動的に次のインデックスを割り当ててくれます。
とても便利。しかしこのインデックス、一度増えるとその後値を消しても戻りません。
“`php
$a = [0, 1];unset($a[1]);
$a[] = 2;var_dump($a); // [0=>0, 2=>2]
“`せっかく配列の最後の値を消したのに、使用した情報は残っていて次のキーは2になっています。
MySQLのauto_increment値と同様、一度上限が上がると下がらないということです。
全ての値を消したとしても同様です。“`php
$a = [0, 1];unset($a[1]);
unset($a[0]);
$a[] = 2;var_dump($a); // [2=>2]
“`ところでこいつを
Laravelをさくらのレンタルサーバで動かしてみた【環境構築】
# はじめに
こんにちは [mako](https://twitter.com/makochannelcom) です。__Laravelをさくらのレンタルサーバで外部に公開した方法を簡単に紹介します!!__
いつもローカル環境(MAMP)で動かしていて外部に公開するときにデータベースの設定につまずいたので、そこについても紹介いていきます。
# 階層一覧
“`console
home/
├ bin/
│ └ composer
├ www/
│ └ {‘projectname’}/
│ └ config/
│ └ database.php
│ └ public/
│ └ など…
│ └ .env
└ など…
“`# さくらでサブドメインを作成
さくらレンタルサーバ上に新しいドメインを追加します。
好きなドメイン名とフォルダの階層パスを設定します。![さくらドメイン.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552607/efb
【PHP】class内で宣言した定数の参照|self::の有無による違い
web系エンジニアを目指し、MENTAを利用し、PHPを学習している初学者です。
日々学習していることの忘備録、モチベ維持、ちゃんとやってることの証明!の初投稿です。
#対象者
PHPを学びはじめた、初学者
#内容
class内で宣言した定数を参照した時、self::の有無で値がどう変化するか。
#動作環境
PHP 7.1.32
#基本のおさらい
###class内で、共有する定数・変数を宣言する
“`php5class A {
//定数宣言(定数名は大文字がデフォ)
const $TEISU = ‘絶対変わらない!’;
//変数宣言(publicの他にprivate,protectedもあるが、ここではアンタッチャブル)
public $hensu = ‘代入されれば変わる’;
}
“`
###宣言した、定数・変数を使う
“`php5class A {
・・・
public function output {
echo ‘定数は’ . self::TEISU; //定数は絶対変わらない!
[PHP][マルチバイト対応]レーベンシュタイン距離を求める(解説つき)
# 概要
2つの文字列の類似度を定量的に表すことのできる、レーベンシュタイン距離。– 名寄せの際には非常に重宝する。
– スペルチェック時の「もしかして」にも利用できる。
– DNA配列同士の類似性を判断するためにも応用されている。異なる生物種が持つ同様の遺伝子を同定したり、またそれらの距離を測ることで種が分岐してから経過した時間を推定することができる。最後は完全に筆者の趣味だが、とにかく応用のきくわくわくするアルゴリズムなのである。
さて、このレーベンシュタイン距離、PHPでは[levenshtein()](https://www.php.net/manual/ja/function.levenshtein.php)という標準関数で簡単に求めることができる。ただしこれはマルチバイトに対応していない。
マルチバイトに対応したレーベンシュタイン距離算出の処理は、下記のような記事で既出で、ここに書いてある内容をコピペすれば、問題なくレーベンシュタイン距離を求めることができる。
– [[マルチバイト対応] レーベンシュタイン距離を求める](https://qiita.com/m
きっと正しくないレンタルサーバーの作り方 Vol.1 -プロジェクト事始め
# はじめに
> 皆さん、突然ですが [**Twitter**](https://twitter.com/)、やってますか(・∀・)?
やってる人が多いと思いますが、何だか人間関係とかギスギスしてますよね(・∀・)?
(偏見)> だから Twiter もいいけど、もうギスギスするのとか、SNSとか疲れたからさ、どこかの無料ホームページスペースにコミュニティー作ってさ、自作のイラストサイトとか作ってさ、PHPで掲示板とか。。作ってさ、身内でワイワイ盛り上がってさ、でさ、でさ。。。PHPとかでアクセスカウンターとか設置してさ、キリ番踏んだらイラストの。。グスッ( ;∀;)。。。リクエストとか。。。うぅ。。。・゚・(ノ∀`)・゚・
昔懐かしいレンタルサーバースペース、最近見かけませんよね(・∀・)。
見かけないなら**作ってみたくなりませんか**(・∀・)?なりますよね(・∀・)?
**なりましたよね**(・∀・)?
と言う訳で、今回は**ごく普通のレンタルサーバー**を作ってみましょう(*´ω`*)。
※注意!
この一連の記事で紹介するコードは動作の概念を説明するもの
ping-tライクなページ2(ただしチャチ)~魔法のhidden属性~
###1.前回の続き(概要)
前回の記事の続き
[ping-tのコマンド問題ライクなページ1(PHP) –ボタン表示切り替えに難問が!!–]
(https://qiita.com/knowledge87sun/items/31f02bd3a08b72d0ea88)(1)カテゴリーと問題数を選択
(2)問題をランダムに表示する。—>ここからスタート
(3)入力後、答え合わせするときは確定ボタン(linux_command_test3.phpへ遷移)を、
回答しないで戻りたいときは「戻る」ボタンを押す(linux_command_test.phpへ遷移)
(4)確定ボタンを押すと、入力値とデータベースに登録された回答をチェックし、
問題に対する結果を表示する。(あっていれば〇、間違っていれば×)
さらに全体の問題数に対する正解数も表示する。###2.hidden属性
ボタンを押したときやテキストボックスの入力値(回答:\$textN(N=1,2…))以外にも、
別のページで利用したいデータがある。
今回の場合で言えば、
「問題の内容」(\$ar_quiz2N)だったり、
banglatv
onsportslive
Moodle 3.8 マニュアル – マスカレーディング
1 マスカレーディングファイアウォールの背後で Moodle を走らせる
1.1 HTTPS と HTTP?
1.2 まず本当の DNS ホスト名を得る
1.3 そして内部 DNS サーバを弄る
2 Windows DNS
3 関連項目1 マスカレーディングファイアウォールの背後で Moodle を走らせる
You may be running Moodle behind a Masquerading Firewall (using Network Address Translation or NAT). In this case your internal Moodle server will most likely be assigned a non-routable (private) IP address in one of the following ranges:10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
You cannot use inte
Moodle 3.8 マニュアル – マスカレーディング
[原文](https://docs.moodle.org/38/en/Masquerading)
# マスカレーディング
内容
[1 マスカレーディングファイアウォールの背後で Moodle を走らせる](#1-マスカレーディングファイアウォールの背後で-moodle-を走らせる)
[1.1 HTTPS と HTTP?](#11-https-と-http)
[1.2 まず本当の DNS ホスト名を得る](#12-まず本当の-dns-ホスト名を得る)
[1.3 そして内部 DNS サーバを弄る](#13-そして内部-dns-サーバを弄る)
[2 Windows DNS](#2-windows-dns)
[3 関連項目](#3-関連項目)#1 マスカレーディングファイアウォールの背後で Moodle を走らせる
あなたは、マスカレーディングファイアウォール(ネットワーク・アドレス・トランスレーション あるいは NAT)の背後で Moodle を走らせているかもしれません。この場合あなたの内部 Moodle サーバは次のレンジのルート不能(プライベート)な IP アドレスを割り当
PHP 変数に値を格納する
# 目的
– PHPで変数に値を格納する方法をまとめる
# 書き方の例
– 下記に変数への文字列の格納方法を記載する。
“`php
“`# 具体的な書き方の例
– 下記に変数`name`に「miriwo」を格納し出力する処理を記載する。
“`php
“`– 下記に変数`number`に数値の「3」を格納し出力する処理を記載する。
“`php
“`