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

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

PHPでStripe Checkout (new version)を使ったクレジットカード決済サンプル

# はじめに
サイトにクレジットカード決済を導入できる「Stripe Checkout」のバージョンが新しくなったので、1回限りのクレジットカード決済のサンプルを書いてみます。

# サンプルコードの環境
CentOS 8
php 7.2
stripe-php 7.6

stripe-phpはcomposerでインストールします。

“`
composer require stripe/stripe-php
“`

# 支払いページサンプル
Stripeの支払いフォームに渡す情報として、金額、商品名、リダイレクト先URLなどを定義してセッションを作成します。
リダイレクト先URLのパラメーターに {CHECKOUT_SESSION_ID} をつけておくと、リダイレクト時に自動でsession_idに変換されます。

“`php:payment.php

元記事を表示

Laradockでもfish shellを使いたい!!

## やること
– laradockで特にファイルをいじらずにlaravelの環境構築をするとデフォルトでzshが選択されているのでfishに変更します。
– ついでに、config.fishと.vimrcもローカルのものを持ってきます。

## 対象読者
– laravelの環境構築をサクッと終わらせてコーディングの学習に集中したい駆け出しエンジニア
– laradockでfishを使いたいけどdockerに疎い人(fishに行き着く人はだいたいdockerfileイジれる気もしますが…)
– 他の記事の通りにやるとworkspaceコンテナ内で/var/www/sample-projectのように余計に階層が増えて困っている人

## 作業
### laradockを展開するディレクトリへ移動
“`
cd laradockをインストールしたいディレクトリ
“`

### laradockをインストール
“`
git clone https://github.com/Laradock/laradock.git
“`
– laradockというディレクトリができるはずです。

元記事を表示

[Azure] WebAppでAzure AD認証を有効にした際に、実際に認証したユーザ情報をアプリ側で取得する(PHP編)

Azure WebAppにはappservice認証機能があり、AzureAD、Google、Facebook、Twitterでの認証を簡単に設定することが可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/d64a1ef7-7d72-d155-5f3c-225380f1f11d.png)

非常に簡単に認証設定することができるのですが、現在は認証機能だけのため、これだけでは対象のプロバイダーで認証されたユーザ全員がWebAppにアクセスできるようになります(AzureADの場合はADの権限設定で多少制限することも可能)。

認可の機能は何かしらアプリケーション側で実装する必要があるため、今回はAzureADで認証したユーザ情報をPHPで取得する方法を調査しました。

# 取得すべき情報

[Azure App Service および Azure Functions での認証と承認](https://docs.microsoft.com/ja-jp/azure/ap

元記事を表示

Webエンジニアになるにあたっての学習方法

##【対象者】

これからWebエンジニアやってみようかなって人

##【まえがき】

初めまして、Webエンジニアになって早6年目。
Qiitaは読む専門だったのですが、ありがたいことに1年半ほど前からオンラインスクールの講師をやらせてもらってます。
その中で、「自分もそうだったなぁ」と感じることが多く、自分の今の目の前の方だけではなく
今もどこかで、独学で悩んでいるエンジニアの方の助けになればと思い、記述をしてみようと思った次第です。
これはあくまで私の主観ですので、先輩エンジニアの方やスーパーエンジニアの方は、
またそこら辺のエンジニアがなんか言ってるわ、と見逃すか、暖かい心でコメントください。

##【経歴と自己紹介】

本業は、SESでプログラム組んでます。
「エンジニアになりたいけど誰も未経験なんて雇ってくれないわ、よし!一人でやろう」
で、フリーランスで3年実務経験(笑)を積んだ後に、会社員として3年目、現在に至ります。
使用言語は今はPythonでApi作ったり、解析やったりしてます。
元々はPHPでWebサービスばっかり作ってました。
言語にこだわりは持たないタイプ。

元記事を表示

Laravel:バリデーションの検証ルール

【概要】
—————————————-
1.バリデーションの主な用意されている検証ルール

2.その他の用意されている検証ルール

3.開発環境

1.バリデーションの主な検証ルール
—————————————-

“`php:app/Http/Controllers/XXXXController.php
‘required’ , #—❶
‘mail’ => ‘email’ , #—❷
‘age’ =

元記事を表示

Slim4をサブディレクトリで走らせる方法

軽量なPHPフレームワークで有名なSlim4を、ルートディレクトリより下のディレクトリで走らせる方法です。[このページ](https://akrabat.com/running-slim-4-in-a-subdirectory/)を元に書いてます。つまり雑な英訳≒要約です。

次のようにApacheサーバーが動いているとします。

– Rootディレクトリが`/var/www/public/`
– URLが`https://example.com/`

こんなウェブサイトがあったときに、

– Slim4を`/var/www/public/test/`ディレクトリに展開して、
– `https://example.com/test/`としてアクセスしたい。

そんな状況です。

## Apacheの設定

`/var/www/public/test/.htaccess`を作成します。

“`ApacheConf
# Rewrite URL
RewriteEngine on

# redirect to /index.php
RewriteBase /test
RewriteCond

元記事を表示

全プログラミング言語の用語整理

##言語自体の整理

### 1. 動的型付けのプログラミング言語
プログラムでは様々な「型」を扱います。例えば、文字列値と整数値と少数値は異なる型です。この他にも様々な型があり、プログラムにミスがあって異なった型を指定しまう事でエラーを発生させることがあります。

動的型付けのプログラミング言語の場合はプログラムを実行時に型検査を行います。厳格なエラーを対処しなくてもプログラムは動作するので初心者には学びやすい言語が多くなっています。しかしその反面、非常に分かりにくい不具合を作り込んでしまう可能性もあります。

| 言語名 | F-S | | Initial release | 起源 |
| —- | —- | —- | —- | —- |
| JavaScript | FS | HTML と合わせて使用して動きのある WEB ページを開発するために使用 | 1995 |
| Ruby | FS | 日本人により開発された。可読性を重視した構文 | 1995 |
| Python | FS | 最近で

元記事を表示

【ブルゾン風】WPの投稿記事をhtmlファイルで回してみたくない?

#やりたいこと

WordPressのブログの記事情報を外部サイトにも反映・表示させたい!
だがしかし、、拡張子がhtmlのファイルにそんなことができるの??

思い悩むこと12時間…………
なんとかやり口を見つけ解決まで導き出せました!

今回やりたいことをまとめると
・WordPressの投稿情報を外部サイトでも使いたい
・htmlファイルでphpを使いたい

#環境

【サーバー】   Xserver
【サーバー番号】 2001(sv2001)以降

#WordPressの投稿情報を外部サイトでも使う方法

ステップは2つです。
・WP管理外でも機能を使えるようにする
・投稿記事を表示する

###WP管理外でも機能を使えるようにする

下記記述を対象のhtmlファイルの一番上にコピペしましょう。

“`php
include($_SERVER[‘DOCUMENT_ROOT’].”/wp/wp-load.php”);
“`
もしくは

“`php
include($_SERVER[‘DOCUMENT_ROOT’].”/wp/wp-blog-header.ph

元記事を表示

【PHP】全ボクが実務で泣いた「値渡し」と「参照渡し」を完!全!理!解

#はじめに
**先日、仕事(PHPでのWebアプリ開発)で連想配列の中身を加工していたのですが30分程全然うまく行かなかったので、先輩に聞いたら3分くらいで解決しました。**

結論、解決方法としては**「値渡しではなく“参照渡し”を使う」**でした。

これまで何となく聞いたことがあったけど「絶対ムズイからイヤッ!!!:persevere:」と目を背けていた**”参照渡し”**について、これを機にちゃんと理解しようと思ったのでまとめます。
(てかそろそろ理解しておかないとヤバイという危機感w)

あと…
**「これ、参照渡ししてあげるとオッケーですよ」**
ってスマートに言えたらカッコよくないですか?

というわけで書きます。

#この記事でわかること

– **値渡し**
– **参照渡し**

特に僕と同じように**「参照渡しから目を背けてきた方」**や、**「そもそも参照渡しってなーに?」**って方に読んで欲しいですね。

元記事を表示

OpenLiteSpeed を CentOS8 でお試し

# はじめに
最近OpenLiteSpeedが素敵という話を聞いてお試し

# OpenLiteSpeed

Home

# インストール
公式インストールページのCentOS8を参照

Install OLS from LiteSpeed Repositories

“`
[root@ip-172-31-25-255 centos]# rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el8.noarch.rpm
Retrieving http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el8.noarch.rpm

Verifying… ################################# [100%]
Preparing…

元記事を表示

php.iniファイルの場所をターミナルで確認する

# 確認コマンド

“`terminal
$ php -r “echo phpinfo();” | grep “php.ini”
“`

元記事を表示

[Codewars] Build Tower

## 概要

Codewarsの問題 `Build Tower` の回答の復習とベストプラクティスをまとめる個人メモです。

## 問題

数値が渡ってくるので、以下のように*の数値分の階層のピラミッドを作成する問題です。

>Build Tower by the following given argument:
number of floors (integer and always greater than 0).
Tower block is represented as *

“`
[
‘ * ‘,
‘ *** ‘,
‘*****’
]

[
‘ * ‘,
‘ *** ‘,
‘ ***** ‘,
‘ ******* ‘,
‘ ********* ‘,
‘***********’
]
“`

## 回答

規則性として、最大のアスタリスクの数は`$n * 2 -1`、アスタリスクの数が`$i * 2 -1`、空白の数が`*の最大値 – *の数 / 2`と定義できます。
数を決めた

元記事を表示

phpで簡単パイプライン関数

関数型プログラミングを学習する中でパイプライン演算子に出会い、惚れてしまいました。phpで似たようなことができないかと思い、今回の実装を行いました。

まだまだ若輩者ですのでアドバイス等いただけると嬉しいです。

## 前提
1. 単一引数の関数を対象とする
2. 中置記法が使えないので |> の形は諦める
3. array_mapみたく不格好でもいいからとりあえずpiplineぽいことがしたい

## [ソース(github)](https://github.com/poposuke1995x/php_pipeline_operator)
“`

元記事を表示

Laravel/PHP タグ付き投稿の検索機能(orWhereHasと無名関数、クロージャ)

#やりたいこと
ジャズライブの口コミをタグ付きで投稿できるサイトを、チームで開発しています。
口コミ投稿をキーワード検索するコードをネットを参考にしながら書いたのですが、一部読み解けなかった部分を整理したいと思います。

###仕様
* キーワードが入力されると、そのキーワードを含む投稿を検索しビューに表示する。
* 検索対象は、投稿の(1)タイトル、(2)本文、(3)投稿につけられたタグ。
* 投稿のテーブル、タグのテーブルはEloquentでModelを利用している。
* 投稿のテーブルとタグのテーブルが中間テーブルを挟んで多対多のリレーションでつながっている。

# 実装してみた
##コントローラの実装例
ルート、ビューなどは省略させていただきます。もし見せて!という方いたらコメントください(いないと思いますが汗)。

“`php:SearchController.php

元記事を表示

【Laravel】public/css内のCSSを読み込まないエラー 〜 net::ERR_CONNECTION_CLOSED〜

##【背景】
AWSからVagrantにローカル環境を変えて、開発を行う。
Viewを作成時に、コンパイルしたcssを読み込もうしても、Viewに反映されず行き詰まる。

##【状況の確認】

Bladeファイルのheadタグ内にCSSを読み込む記述がされているか確認。

“` “`
次にchromeの検証ツールでエラー内容を確認。エラーは検証ツール画面の右上の設定マークの横にある赤いバツ❌をクリックします。
![スクリーンショット 2020-09-07 17.47.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/671576/c7e4ca9b-cfa6-e9a5-18d1-d0aca0b66a46.png)
net::ERR_C

元記事を表示

php 画像 削除

https://www.flatflag.nir87.com/unlink-819

元記事を表示

php slimのRequestオブジェクトからリクエストURLの絶対URLを取得する

# 困ったこと

PHPの[Slim フレームワーク](https://www.slimframework.com/)で開発をしていてリクエストの絶対URLが取得したかった。

# TL;DR

ストリングでキャストするとでてくる。

“`php
(string)$this->request->getUri();
“`

# 経緯

slimで開発をしていて、ちょっとリクエストされたURIをセッションに保存して、別の処理をした後に、セッションから読み出して、リダイレクトで戻りたかった。

PSR-7のRequestオブジェクトが、こんな感じで、これを自分で結合していくのは面倒。

何かよい方法あるはずって探した。

“`php

‌‌> $this->request->getUri()
‌< Slim\Psr7\Uri::__set_state(array( 'scheme' => ‘https’,
‘user’ => ”,
‘password’ => ”,
‘host’ => ‘example.com’,
‘port’ => 443,

元記事を表示

PHPからPDOを使ってSQLServerのストアドプロシージャを呼び出す際にOUTPUTが効かなくなる現象への対応

ドはまりしてしまったので、後学のためにメモを残します。

# 事象
次のようなスクリプトで、データ投入用のテーブルおよびプロシージャを作成します。

“`sql
— データ投入用のテーブル作成
create table test_table (
col1 varchar(50),
col2 int,
);

— プロシージャ作成
create procedure sample
@in varchar(50),
@out int OUTPUT
as
set @out = 567;
insert into test_table values (@in, @out);
;
“`

PDOから次のようなスクリプトでプロシージャを実行します。

“`php
$pdo = new PDO($dsn, $username, $password);
$stmt = $pdo->prepare(‘{CALL sample (?, ?)}’); // ‘EXEC sample ?, ?’でもOK
$in = ‘xyz’;
$stmt->bindParam(1, $in,

元記事を表示

PHP 多次元配列

初めてのPHPの投稿になります。
今回はPHPの多次元配列を備忘録として投稿させて頂きます。

#多次元配列とは
配列の中に配列を定義することを指します。
また、横と縦に並んでいることをイメージするとよりわかりやすいでしょう。
これを多次元配列」と呼び、よくプログラムコードでも使用される配列の形です。

#考え方
下記にて分かりやすい図がありましたので参照して下さい。
横のHairetu (0) (1) (2)から数えます。
次に縦のHairetu (0) (1) (2) (3)から数えます。
これでどこの要素を取り出したいかを指定できます。

![“スクリーンショット” 2020-10-19 22.15.57.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698439/844d77ad-7493-ac52-da6c-d4a1cf7057d7.jpeg)

サンプルコードを掲載します。

“`sample.php
こちらの配列は分かりやすい様に記述したものです。
0 1 2
0[[“1

元記事を表示

php クラス

https://qiita.com/7968/items/6f089fec8dde676abb5b

元記事を表示

OTHERカテゴリの最新記事