- 1. PHPのバージョンをプロジェクトごとに切り替える方法
- 2. Laravel で爆速ラクチン?に動的な機能を開発や!Livewire2.x 解説?
- 3. [PHP入門] テキストデータへの、送信、書き込み、読み込み
- 4. 【CodeIgniter4】form_dropdownの使い方
- 5. PHP 三項演算子の省略形
- 6. PHP smarty テンプレート変数取得 getTemplateVars
- 7. PHP array_slice() 配列の一部を取得
- 8. ポーカー判定 PHP
- 9. var_dumpの出力結果を改行
- 10. 【JWT】JWTとは?〜PHPライブラリでJWTを使ってみる
- 11. グーグルしごと検索に掲載してもらうためにしたこと
- 12. PHP8でPDO::inTransactionの挙動が変わった
- 13. Windows11のローカルにLaravel環境をデプロイするには
- 14. composer update したら Laravel-admin のログイン画面でリダイレクトのループをしてしまった件
- 15. ブラックジャックゲームをオブジェクト指向を使って実装(PHP)
- 16. Laravelのアクセサを使用してEloquent取得値をカスタマイズする
- 17. Composerの使い方
- 18. Kali Linux2022.1 でハッキングラボをつくってみる10 ウェブアプリハッキング6 LFIでPHPシェルを設置
- 19. ドラッグアンドドロップでリストの並び替え→DB保存
- 20. オリジナルアプリ作成で考えること
PHPのバージョンをプロジェクトごとに切り替える方法
## はじめに
今回は**phpenvの導入~使用方法**までを紹介します。– **導入の発端**
Jenkinsの**ビルド時にジョブごとにPHPのバージョンの切り替えを可能**にして
**依存関係エラーの解消**をするために使用。:::note warn
Jenkinsのシェルからコマンドを打つ場合は、
最初にsource ~/.bash_profileを実行しないと`.bash_profile`は反映されない。
:::## インストール
#### phpenv
“`
$ git clone https://github.com/phpenv/phpenv.git ~/.phpenv
“`#### 環境変数へ追記
“`
$ echo ‘export PATH=”$HOME/.phpenv/bin:$PATH”‘ >> ~/.bash_profile
$ echo ‘eval “$(phpenv init -)”‘ >> ~/.bash_profile
$ exec $SHELL -l
“`#### シェルの再起動
“`
$ exec $SHELL –
Laravel で爆速ラクチン?に動的な機能を開発や!Livewire2.x 解説?
# この記事の目的
– Livewireの紹介
– 個人的によく使うlivewire逆引きリファレンス。https://laravel-livewire.com/docs/2.x/quickstart
どういう事が出来るのか知った上でドキュメントを見ると読みやすいと思います。
使い慣れてる人はここを見た方が早いですhttps://readouble.com/livewire/2.x/ja/reference.html
# Livewireって何
– Laravel7.x~ から使えるBladeとPHPの記述で動的な機能を作れるライブラリ
– jsを書かずに良い感じのUIが作れる。
– 学習コストも低く導入しやすい。以前に布教目的で書いた記事
https://qiita.com/sgrs38/items/89a6a59b896669dfd725
## 大まかな仕組み
例としてデータを非同期通信で取得して、描画する処理を図に表します。
### jsを使って動的な機能を作る場合
“`mermaid
sequenceDiagram
participant View
[PHP入門] テキストデータへの、送信、書き込み、読み込み
# 初めに
PHPの学習を始め、よく使うけど、始めのうちは忘れて何度も見直すだろう。
という点を、メモ代わりにまとめていきます。## 基本的な書き方
**[開始タグ]** “`“**[HTMLへ表示]** “echo“
“`
echo “Hello”; //文字列
echo $hensu; //変数
“`
※jsのconsole.logのように()は不要だが、“ ; “を忘れるとエラーが出るので注意。**変数定義**
“`
$num = 1; //数列
$name = “hoge”; //文字列
“`
## HTMLフォームのデータをPHPファイルへ送信
PHPを使う事で、HTMLとCSSだけでは見た目だけだったお問い合わせフォームを実際に活用できるようになります。“`
【CodeIgniter4】form_dropdownの使い方
# はじめに
CodeIgniterに関して情報が少ないので、ドロップダウンの作成方法について投稿してみました。
良ければ参考にしてください。言語:PHP
フレームワーク:CodeIgniter4
# 使い方
codeIgniterのフォームヘルパー`form_dropdown`を使ってドロップダウンを作成します。
フォームヘルパーを使用する際は、ヘルパーを呼び出すために`helper(‘form’)`を記述する必要があるので忘れずに!
“`
form_dropdown($name, $options, $select)
“`
$name:name属性(データ送信時、controller側で受け取るnameとなる)$options:リスト表示させたい配列をここに設定する。
$select:画面レンダリング等の初期表示させたいリスト項目を設定する。
連想配列のkey値を渡してあげることで初期表示を実現させる。
また、この引数をうまく使ってバリデーションエラー時に選択したリストのkey
を渡すことで再度選択したリストを表示させることが出来る
PHP 三項演算子の省略形
## 三項演算子の省略形
三項演算子は可読性が下がる場合もありますが、今回は紹介します。
下記の2つは同じ結果になります。“`php:例文
$hoge ? $hoge : $hogehoge;
“`
**解説**
「$hoge」が `true` の場合は「$hoge」を返し、 `false` の場合は「$hogehoge」を返します。
“`php:例文
$hoge ?: $hogehoge;
“`
**解説**
「$hoge」が `true` の場合は「$hoge」を返し、 `false` の場合は「$hogehoge」を返します。
1つ目のコードと違う点は、 `true` の場合に返す値を省略している点です。
`true` の場合には「?」の左にある値が返されます。
※三項演算子の時点で可読性が下がる場合があり、省略することで更に可読性が下がる場合もあります。
PHP smarty テンプレート変数取得 getTemplateVars
## getTemplateVars
テンプレート変数の情報を取得します。“`php:例文
$smarty->getTemplateVar(‘hoge’);
“`
上記でテンプレート変数「hoge」の値が取得できます。assignされていた場合に処理を行うなどの、if文を記述する際にも使えます。
PHP array_slice() 配列の一部を取得
## array_slice()
配列の一部を取得する関数です。
取得した部分を配列にして返します。
※返り値の配列の添字は0から指定されます。
“`php:例文
$hoge = [“a”, “b”, “c”, “d”, “e”];
$hogehoge = array_slice($hoge, 1, 3, true);
var_dump($hogehoge);
“`“`:結果
Array
(
[1] => b
[2] => c
[2] => d
)
“`### 解説
`array_slice(第1引数, 第2引数, 第3引数, 第4引数)``第1引数` ※必須
取得の対象の配列`第2引数` ※必須
取得の開始位置
例文では「1」を指定していたので、2つ目が開始位置になります。
末尾から数えたい場合は、負の数を指定します。最後の要素が「-1」、最後から2番目の要素が「-2」になります。`第3引数` ※省略可能
取得する要素の数
デフォルトでは「NULL」が指定されていて、開始位置以降の全ての要素を取得します。
負の数を指定した場合、
ポーカー判定 PHP
なんとなくポーカーの役を判定するコードを書いてみる。参考なし。最適化はしない。
“`php
[0 => array_rand($suit), 1 => random_int(0, 13)], range(1,5));// 判定
$result = judge($cards);// 出力
$mark = [SPADE=>”♠”, CLUB=>”♣”, HEART=>”♥”, DIAMOND=>”♦”];
$c = array_map(fn($v) => $v[1]==0?’JOKER’:$mark[$v[0]].$v[1], $cards);
echo implode(‘, ‘, $c) . ” : “. $result
var_dumpの出力結果を改行
“`
echo ‘'; var_dump(); echo '‘;
die();
“`
【JWT】JWTとは?〜PHPライブラリでJWTを使ってみる
# JWTとは
– Json Web Tokenの略称、ジョットと読む
– JSON形式のデータをURLセーフな方法で送信するための技術
– 電子署名によりデータの改ざんを検知でき、ユーザー認証などで利用されている
– 仕様は[RFC7519](https://datatracker.ietf.org/doc/html/rfc7519)に定められているauth0のJWT特設サイトにサンプルとデバッガが用意されています。
https://jwt.io/
# JWTの構成
下記の要素をピリオドで連結した文字列です。
– Base64URLエンコードされたヘッダー
– Base64URLエンコードされたペイロード
– 署名[auth0のJWT特設サイト](https://jwt.io/)より
“`bash
# Base64URLエンコードされたペイロード.
# Base64URLエンコードされたペイロード.
# 署名
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG
グーグルしごと検索に掲載してもらうためにしたこと
https://nightjob.info/
こちらのサイトの求人ページを、グーグル仕事検索に掲載してほしいとのことでした。
グーグルで求人について検索すると上に出てくるあれです。
実際にあそこから求人の応募があるかは微妙なのですが、試してみたいと思います。
以下をヘッダーに書き込みます。
“`
“`それから、PHPファイルを下階層に増やして以下を書きます。
“`
ID, 'activation', true); ?>