PHP関連のことを調べてみた2022年06月16日

PHP関連のことを調べてみた2022年06月16日

Laravel 実務で使ってるバージョンはどれ?調査協力お願いします

# なぜVersionの調査を考えたか?
現在、LaravelDB.comを個人で運営しております。
Laravel6.x に標準対応してるのですが、
最近バージョン9にアップデートしないのですか?という質問も多く、
**実務での利用が多いLaravelDB.comなので、現状を知りたいと思った次第です。**
改修スケジュールを立てるにしても現状を知りたいなーと思いましたので。

元記事を表示

LaravelのResource ControllerによるCRUD操作

ドキュメント
公式:https://laravel.com/docs/9.x/controllers#main-content
Readouble:https://readouble.com/laravel/8.x/ja/controllers.html

“`.bash
php artisan make:CreateController
php artisan make:DeleteController
“`
などと記事の投稿・削除などのCRUD操作それぞれに対して自分で設定を行っていた。

が、これらを一括で作れるのがリソースコントローラー
“`.bash
php artisan make:PostsController –resource
“`
これにより以下のファイルが作成できる。
“`PostsController.php

元記事を表示

PHPのmatch式に絶望したからネタでC++にmatch式を実装する

## はじめに

※ ネタです

[PHP の match 式](https://www.php.net/manual/ja/control-structures.match.php) を読んでいたら、何やら臭うコードが・・・

“`php
function fizzbuzz($num) {
print match (0) { // :star: 0!?
$num % 15 => “FizzBuzz” . PHP_EOL,
$num % 3 => “Fizz” . PHP_EOL,
$num % 5 => “Buzz” . PHP_EOL,
default => $num . PHP_EOL,
};
}
“`

この `match (0)` 部分、なんか気持ち悪くないですか?

`$num` の値に応じて処理を分岐させたいので、ここでは `match ($num)` と書けるのが美しいと感じました。

この気持ち、C++ にぶつけよう!

## C++

ご存知 C++ には演算子オーバーロード

元記事を表示

オブジェクト指向によるブラックジャックゲームの実装(PHP)

PHP言語を用いて、ポートフォリオにもなる「ブラックジャックゲーム」を作成いたしました。
とても大変でしたが、オブジェクト指向を学ぶにはいい勉強になりました。
# お題
ブラックジャックはカジノで行われるカードゲームの一種です。1〜13までの数が書かれたカード52枚を使ってゲームが行われます。ルールは次の通りです。

実行開始時、ディーラーとプレイヤー全員に2枚ずつカードが配られる
自分のカードの合計値が21に近づくよう、カードを追加するか、追加しないかを決める
カードの合計値が21を超えてしまった時点で、その場で負けが確定する
プレイヤーはカードの合計値が21を超えない限り、好きなだけカードを追加できる
ディーラーはカードの合計値が17を超えるまでカードを追加する
各カードの点数は次のように決まっています。

2から9までは、書かれている数の通りの点数
10,J,Q,Kは10点
Aは1点あるいは11点として、手の点数が最大となる方で数える
このゲームには何人かのプレイヤーがおり、カードの合計値を競います。

今回は自分とCPUとディーラーの3人設定で行きます。

では、まず設計から

元記事を表示

検証環境にcomposerの本体をインストールしようと思ったら、躓いたので備忘録

# はじめに

検証用に建てた環境でcomposerの本体がインストールされていないことが判明→どこでインストールするべきか、どこに`composer.phar`ファイルをおくべきかLinux環境でのディレクトリ構造(各ディレクトリの意味)をよく知らなかったためわりと適当にインストールしようとしたら、新人SEが先輩SEからつっこまれたので忘れないようにまとめておきます。

今回の検証環境は
CentOs
Laravel
で作ってます。

参照:[composerダウンロードページ][composerダウンロード]

[composerダウンロード]:https://getcomposer.org/download/

## 事の発端

プロジェクトの検証環境に差分をアップするように指示を受ける

検証環境にssh接続してappディレクトリやpublicディレクトリをアップする

そういえば、新しいライブラリも入れたからcomposer updateしなきゃ

composer command not found

composer入ってないのか確認

なかった

compo

元記事を表示

PHP 問題集

★下記の問題をプログラミングしてみよう!
整数 N , K と N 行 K 列 の二次元配列 A が与えられます。 A の要素のうち、1 要素だけ 1 になっている要素があるので、その要素の行と列を出力してください。

★入力される値
N K
A_11 A_12 … A_1K

A_N1 A_N2 … A_NK

・ 1 行で整数 N , K が半角スペース区切りで与えられます。
・ 続く N 行では、二次元配列 A の各要素が半角スペース区切りで与えられます。

入力値最終行の末尾に改行が1つ入ります。

★期待する出力
1 になっている要素の行と列を次の形式で出力してください。
出力の末尾には改行を入れてください。

【 行番号 列番号 】

★条件
すべてのテストケースにおいて、以下の条件をみたします。
・ 1 ≦ N , K ≦ 100
・ A_ij は 0 または 1 (1 ≦ i ≦ N , 1 ≦ j ≦ K)
・ 1 であるような A の要素は 1 つ

★入力例1
4 3
0 0 0
0 0 0
0 0 1
0 0 0

★出力例1
3 3

★回答

元記事を表示

Ajax(非同期通信) 使い方基本

# ◎Ajaxとは
**非同期にクライアントとサーバで間の通信を行える仕組み。**
リロードをする事なく、必要なデータのみ受信することができる。

## 非同期通信とは
非同期通信は**画面の遷移のない通信。**
非同期処理は、前の処理を終わりを待たずに、処理を進めていく。

それに対して、
同期処理は**一瞬画面が白くなって、画面が切り替わる。**
同期処理は、順番に一つ一つ処理を終わらせていく。

## Ajaxのメリット
・リンクをクリックした際のレスポンス待ち時間の体感時間が少くできる。

・必要な部分の情報のみを取得変更し、必要なときに更新可能の為高速に動作する。

# ◎Ajaxを使う
“get“と“post“で記述方法が異なる為、個別に記述しています。
## 準備
Ajaxを簡単に使うためのライブラリ「axios」をHTML内で読み込みます。
“`

“`

## GET通信

### [GET通信]1: サー

元記事を表示

Chapter3 ビューとテンプレート(3-1〜3-3)

# 3-1 PHPテンプレートの利用

## テンプレートの利用

“`index.php


Hello/Index


Hello

This is a sample page with php-template.


“`

元記事を表示

VSCodeのPHPUnit Test Explorerのテストをdocker内で実行するための設定

2022.6.15
VSCode Version 1.68
[Recca0120 PHPUnit Test Explorer](https://marketplace.visualstudio.com/items?itemName=recca0120.vscode-phpunit) v2.0.76
時点の情報です。
***

Laravelの開発ではsailなどを利用してdocker上で動作させながら開発を進めると思います。
その場合PHPUnitもdocker上で動作させる必要がありますが、PHPUnit Test Explorer拡張は設定を書かないと動作しませんでした。

うまく動くまでに嵌りどころがあったので完成した設定を共有します。
***

まず以下の内容のシェルスクリプトを準備します。
“`
#!/bin/bash
docker-compose exec -T laravel.test php $@ | sed “s|/var/www/html/|`pwd`/|g”
“`
私はvscode-phpunit-helper.shという名前で実行可能なファイルとして保存し

元記事を表示

【PHP基礎⑤】四則演算

[問題]
整数値を2つ入力させ、それらの値の和、差、積、商と余りを求めるプログラムを作成しなさい。
なお、差と商は1つ目の値から2つ目の値を引いた、あるいは割った結果とする。余りは無い場合も0と表示するのでよい。

# コード
“`php
$a = intval(fgets(STDIN));
$b = intval(fgets(STDIN));
echo $a + $b, PHP_EOL;
echo $a – $b, PHP_EOL;
echo $a * $b, PHP_EOL;
echo $a / $b, PHP_EOL;
echo $a % $b;

“`

# 結果
“`
10
6
16
4
0
“`

☆改行したい時は、
~,PHP_EOL; や ”\n”; を用いる。

元記事を表示

【PHP基礎④】掛け算

[問題]
整数値を入力させ、その入力値を3倍した計算結果を表示するプログラムを作成しなさい。

# コード
“`php
$a = intval(fgets(STDIN));
echo $a * 3;
“`

↓ 入力フォームに「30」と入力

# 結果
“`
90
“`

☆算術演算子
足し算 → a + b
引き算 → a – b
掛け算 → a * b
割り算 → a / b
割り算の余り → a % b

元記事を表示

PHPで数値のカンマ区切りプログラムを作成しました。

Webアプリケーションで数値のカンマプログラムを作成しました。
ソースコードを公開します。

注) 今回はJavaのFormatter、PHPのnumber_format関数は使用禁止という条件です。

条件を入れ忘れましたので追記いたします。

canma.php(入力側)

“`PHP







カンマ区切りプログラム