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

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

【PHP8】 PHP8技術者認定初級試験 ベータ試験を受けてきた

先日2022/08/05、PHP技術者認定機構は[PHP8技術者認定初級試験](https://it.impress.co.jp/articles/-/23590)の実施を発表しました。
本試験は2023年春から開始となります。

で、そのベータ試験が[2022/09/11に行われた](https://www.phpexam.jp/2022/08/05/php8bata/)ので受けてきました。

:::note info
一般社団法人BOSS-CON JAPAN(代表理事:吉政忠志、所在:東京都世田谷区、以下「BOSS-CON JAPAN」)は、BOSS-CON JAPAN内組織であるPHP技術者認定機構がPHP8技術者認定初級試験を2023年春より実施することを発表しました。本ベータ試験を2022年9月11日に東京で開催します。問題作成はPHP技術者認定機構 顧問でもある古庄道明氏が担当し、試験問題の監修をPHP技術者認定機構 エバンジェリストの三雲勇二氏(プライム・ストラテジー株式会社)が担当します。
:::

# 試験について

## 試験内容

・問題数40問
・制限時間60分

元記事を表示

PHP データベース接続

#### データベースに接続
##### 前準備
define(‘定数名’, ‘定数に入れる値’);
定数は変数とは違い、一度設定すると中身を変えるとは出来ない
“`
define(‘DB_DSN’, ‘接続先種別:host=ローカルホスト; dbname=データベースの名前; charset=文字コード’);
define(‘DB_USER’, ‘ユーザー名’);
define(‘DB_PASSWORD’, ‘パスワード’);
“`
この形式を基準として、データベースcri_sortableに接続をする。データベース自体はphpmyadminで作成する。

##### 接続
“`

元記事を表示

PHP Laravelを用いてExcel出力を行う

## 概要
PHP(Laravel)を用いてExcel出力を行う方法を共有します。
以前はPHPExcelが主流みたいでしたが、現在はその後継となるPhpspreadsheetというライブラリが一般的です。
(githubの[README](https://github.com/PHPOffice/PhpSpreadsheet#phpexcel-vs-phpspreadsheet-)にも記載されている通りPHPExcelよりもPhpspreadsheetを使うことが望ましいでしょう。)

今回は社員名簿リストをExcelにて出力します。
ゴールイメージは下記のような感じです。
![スクリーンショット 2022-09-19 1.22.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/823188/67c030f6-a545-c7ed-72c0-3992fec2d755.png)

## 今回やること
– Excel出力/ブラウザからダウンロード
– 列幅の調整
– 行の固定

## 環境
“`
PH

元記事を表示

【背伸び初心者授業③】returnの小技!if文内の条件をreturnする

いつもどんな内容をreturnしていますか?
return $user;
return “登録しました”;
このように、何かしらの「結果」を返していることが多いと思います。

以下は、お皿の数が足りているか確認する関数です。
“`php
$plateNum = ‘9’;
echo answerFromIdo($plateNum);

function answerFromIdo($plateNum)
{
if($plateNum < 10){ $less = 10 - $plateNum; return $less . "枚足りなぃぃい!"; } else { return "足りてる。"; } } // 出力結果 1枚足りなぃぃい! ``` なるほど、1枚足りないようです。 if文の中で一度 "$plateNumが10枚より少ないか" を確認していますね。 今回は10枚でしたが、次回は11枚数えないといけなくなるかもしれません。 枚数が変わっても対応できるようにしましょう。 今回の小技はこのif文内を

元記事を表示

【Laravel 9.x】 artisanで失敗するエラーは./vendor/bin/sailが関係しているかも

この現象は、私同様、Laravelを試してみようという人が中心に引っかかる罠だと思われる。

## 背景と対策

Laravelを下記のように立ち上げた際に、その後マニュアルやチュートリアル通りに進めようとすると、artisan呼び出しの際に様々なエラーが発生する。

下記はWindows環境でDocker Desktopを入れた後に、WSLから下記のように入力するだけで環境の構築が終わるとLaravelのマニュアルにあるので、それに倣った形だ。
“`bash
$ curl -s https://laravel.build/sample-app | bash
$ cd sample-app && ./vendor/bin/sail up
$ php artisan about
“`

これらはartisanの呼び出しを `php artisan` から `./vendor/bin/sail artisan`に変更すると解決する。どこかに書いてあるのに、見逃しているんだろうな…。

## 見られる現象

少し試しているだけでもかなり引っかかった。

### 1. .env用のキー

元記事を表示

PHP 配列

#### 配列
“`
$name = “鈴木太郎”;
“`
通常、変数には一つの値しか入れることができないが配列を使えば複数の値を一つの変数に入れることが可能になる。
“`
$name = [“鈴木太郎”,”鈴木次郎”,”鈴木三郎”];
“`
出力の時は添え字(インデックス)をつける
“`
echo $name[0].’

echo $name[1].’

echo $name[2]
配列は左から0,1,2と番号が振り分けされている。
配列内の要素をすべて取り出したいときはprint_rを使用する
print_r ($name);
“`
“`
$name[0] = ‘taro’;
$name[1] = ‘jiro’;
$name[2] = ‘saburo’;
“`
arrayを使わず直接添え字を指定して値を代入することも可能

##### 連想配列
“`

元記事を表示

【Laravel】artisanコマンドでエラーになった時の対処法

## はじめに
– Laravel9でアプリ作成中に、artisanコマンド実行後にエラーになって、色々試したので残しておきます。

## 状況

– Laravel9で、ルート確認するコマンド実行後に、下記エラーあり。

“`
$ php artisan route:list

# エラー内容
PHP Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version “>= 8.0.2”. You are running 7.4.27. in /Users/xxxxxx/Desktop/project/laravel-study/vendor/composer/platform_check.php on line 24

Fatal error: Composer detected issues in your platform: Your Composer dependencies re

元記事を表示

【便利】phpでpdoするときにSQLクエリエラーを表示したいなぁ

## 初めに
僕・phpで無限ループを使って、MySQLサーバーをいじめるプログラムを作ったよ!でも、なんか動かないみたい。サーバーくん、どうして?

サーバー・無限ループを仕掛けて俺をこき使うような奴には教えねーよ

俺・しょぼん

俺・あ、そうだ、MySQLサーバーくんに聞いてみたらいいかもw

俺・MySQLサーバーくーん、教えて〜

## エラー表示の魔法のコード
“`php
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
“`
pdoの途中に、このコードを挟み込みましょう。
例えば、
“`php
try {
// DB接続
$pdo = new PDO(
‘mysql:host=ホスト名;dbname=データベース名;’,
”,
”,
[PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC]
);

$pdo->setAttribute(PD

元記事を表示

PHP 条件分岐 ループ処理

### 条件分岐
##### if文
“`
if ($ageB < 20) { $message = "こどもだ"; } elseif ($ageB < 59) { $message = "おとなだ!"; } else { $message = "おじいちゃんかな?"; } echo $message; ``` 基本的な文法はrubyと同じ。if後が真の条件。elseifでif後が偽の場合、真の条件。そのほか偽の条件をelseで 処理する。 ##### 三項演算子 もう一つの条件分岐の書き方 ``` (条件)? 真のときの処理:偽のときの処理; $message = ($ageB > 20) ? “大人ってことで” : “子どもってことで”;
echo $message;
“`
複数条件は指定できないが、if elseよりもコード量が少ないため便利。

### ループ処理
##### for文
“`
for(最初の値;ループ上限;値の増減){
実行する処理;
}

for($i=0;$i<10;i++){ echo $i; } 出力は0123456789となる

元記事を表示

【背伸び初心者授業②】explode()の小技!explode()したものに変数を振り当てる

## 「ロミオとジュリエット」から読み解くexplode()
ロミオとジュリエットを例に、phpの関数であるexplode()を解説していきます。
“`php
$couple = “ロミオとジュリエット”;
“`
有名なカップルですね。それではこの2人を`引き剥がし`ましょう。
“`php
$couple = ‘ロミオとジュリエット’;

$people = explode(‘と’, $couple);
var_dump($people);

// 出力内容
array(2) {
[0]=>
string(9) “ロミオ”
[1]=>
string(18) “ジュリエット”
}
“`
使い方はなんとなく理解いただけたでしょうか?
これでいろんなカップルを分けることが出来ますね!

## 本題 : explode()したものに変数を振り当てる。
ロミオとジュリエットを男女で分けたいな…そんなあなたに朗報です。
ロミオを`$man`へ、ジュリエットを`$woman`に入れる方法があります。

“`php
$couple = ‘ロミオとジュリエット’;

[$

元記事を表示

【未経験・転職目指し組】Laravelでポートフォリオを作成しました。

## はじめに
プログラミング歴7ヶ月(某プログラミングスクールで学習)の実務未経験者がLaravel等でポートフォリオを制作しましたので紹介していきたいと思います!(作成期間1ヶ月強)
今後もアップデートしていくのでフィードバックなど頂けますと嬉しいです。

### 作者のスペック
年齢は29歳で、今までにプログラミング経験は全くありませんでした。
何か誇れるスキルを身につけたいと思いプログラミングに挑戦する決意を固めました!
地元の町役場で公務員として勤めながら、スクールでプログラミングを学習しました。現在は公務員を退職し、エンジニアとして働くために転職活動中です!
よろしくお願い致します。

## アプリの概要
今回、制作したアプリケーションがこちら。

https://gohanoyatsu.herokuapp.com/home

『Gohan.Oyatsu』は、和歌山県内の素敵な飲食店をもっと世の中に広めたい、盛り上げたいという思いから作成したアプリケーションです。

簡単にいうと、参加型の飲食店掲載アプリとなっています。

スマホやタブレット用にレイアウトを作成していな

元記事を表示

PHPのバージョン切り替え【※phpenv未使用】

![WP-eye-catch(1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1051129/993e7408-9751-9594-43f0-6cf9ad74151e.png)

### はじめに
PHP(Laravel)で自分の環境と開発環境のバージョンが違うのが原因で、本番環境でデプロイする際にエラーが出てしまい、原因解明に時間がかかってしまいました。
そこで今回はターミナルだけでPHPのバージョンを変更できる方法をご紹介します。
### 下準備
①ターミナルを立ち上げ以下のコマンドを打つ
“`
php -v
“`
こんな風に返ってきます。PHPのバージョンは7.4です。
“`
PHP 7.4.30 (cli) (built: Jun 9 2022 09:31:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.

元記事を表示

PHPで先月の1日を出力する方法

## この記事を作成しようと思った理由
バッチ処理で月初に先月の1日から末日までの集計データを出力する必要があり下記のコードを見たが、これがどういう風な処理をしているのか理解できていなかったので、今回まとめることにしました。

“`
# 今回理解したいコード
$start_date = date(“Y/m/01 00:00:00″, strtotime(date(‘Y/m/01’) . ” – 1 day”));
“`

## 処理についての説明
前提として今日の日付を「2022年9月15日」として話をしていきます。
まず、この処理で行っていることを分解していきます。

ここで行われている処理について説明します。
“`
strtotime(date(‘Y/m/01’) . ” – 1 day”)
“`
この処理は、今日の日付(2022年9月15日)から−1日しているという処理になります。
Y(今日の日付の年)、m(今日の日付の月)、d(今日の日付の日)となるので、
echo date(“Y/m/d” strtotime(date(‘Y/m/d’) . “

元記事を表示

phpでhello world出力方法、2パターンの連想配列

基本知識

“`javascript

“`

PHPで連想配列、その1
“`javascript

“ST”,
“age” => 20,
“home” => “kagawa”
];

echo “

";
print_r($person3);
echo "

“;

//その②
$person4 = [];
$person4[“name”] = “TY”;
$person4[“age”] = 30;
$person4[“home”] = “tokyo”;

echo “

";
print_r($person4);
echo "

“;

?>

“`

PHPで連想配列、その2

“`javascript
//その①
let person5 = {
name: “太郎”,
age: 26,

元記事を表示

【 #ゆめみからの挑戦状 ★第5弾】に回答してみました

こちらで開催されていた【ゆめみからの挑戦状 第5弾】に、私もいくつか回答してみました。

出題者は@mpywさんで、今回の出題内容は

“`php
$in = [
[‘2nd’ => ‘two’, ‘four’ => ‘4th’],
‘three’ => ‘3rd’,
[‘one’ => ‘1st’],
’10th’ => ‘ten’,
[‘6th’ => ‘six’],
‘5th’ => ‘five’,
‘seven’ => ‘7th’,
[‘fourteen’ => ’14th’, ’11th’ => ‘eleven’],
[‘8th’ => ‘eight’],
‘thirteen’ => ’13th’,
’12th’ => ‘twelve’,
‘nine’ => ‘9th’,
[’15th’ => ‘fifteen’],
];
“`

という、キーと値の関係も配

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのファイル・ディレクトリ操作の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlのファイル・ディレクトリ操作の比較

# Python

https://qiita.com/supersaiakujin/items/12451cd2b8315fe7d054

# Ruby

https://qiita.com/prgseek/items/38f74d99b74baa3b42f7

# PHP

https://qiita.com/daichi87gi/items/111cd922991e4a18d1ef

# Java

https://qiita.com/suema0331/items/03330a663773204afc5f

# JavaScript

https://qiita.com/turmericN/items/28e8bc8fca07285ddffc

# Perl

https://perlz

元記事を表示

【背伸び初心者授業①】if文は横一列

背伸びしている初心者になろう!
本日はビックマックのようなif文をレタスだけにしていきます!

“`
本日の内容①if文を1行に。
本日の内容②少し複雑なif文も1行に。
“`
それではやっていきましょう!

## ① if文を1行に。

皆さんif文をどうやって書いていますか?
“` php:php
if($name == ‘木久扇’) {
return ‘黄色’;
} else {
return ‘黄色じゃない’;
}
“`
もし名前が「木久扇」だったら「黄色」を出力して、それ以外の名前だったら「黄色じゃない」と出力するようにしました。

このコードを1行で書くと…
“`php:php
$result = ($name == ‘木久扇’)? ‘黄色’ : ‘黄色じゃない’;
return $result;
“`
2行になりましたね。でもこれでほぼ1行になりました!
これは世にいう`三項演算子`ですが、名前は覚えなくても生きていける気がします。
(私も先ほど調べました。)

## ② 少し複雑なif文も1行に。

なんだかいろんな条件で分けない

元記事を表示

ブラックジャックの開発に時間をかけてみたら、報酬として開発スキルがレベルアップした。

# ♣︎. はじめに

コンソール画面で操作するブラックジャックゲームを、PHPで作りました。その個人開発の過程を記事にします。

操作した時のコンソール画面はこんな感じです。

![タイトルなし.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527226/8a00bf37-8060-b3b8-e124-080b427009ba.gif)

(テキストだとこんな感じです)

“`
root@9444efa94780:/var/www/html# php Main.php
ブラックジャックの設定をします。
プレイヤーの人数を入力してください。(1〜3)
?‍ 1
プレイヤー1名でゲームを開始します。

あなたの持っているチップは100ドルです。
ベットする額を入力してください。(1〜1000ドル)
? 10
10ドルをベットしました。

ブラックジャックを開始します。
あなたの引いたカードはハートの6です。
あなたの引いたカードはスペー

元記事を表示

PHP基礎

### PHPとは
HTMLやCSSといったマークアップ言語(クライアントサイド言語)ではなく、スクリプト言語(比較的単純なプログラムを記述するための、簡易的なプログラミング言語全般)の一種。
クライアントに見える範囲で動くものではなく、サーバー側でHTTPリクエストを受け取ったappacheの依頼に応じて、データを取り出したり、データを書き込んだり、状況によってhtmlを自動で作り出すなど動的なウェブページを作成したりすることが可能。
“`

/*で閉じる。php部分については省略可能*/

そのまま出力される




‘;
echo ‘Hello Word’;
/*出力はechoを使用する。また改行は’
‘を使う。rubyでは
のため注

元記事を表示

予約時刻表DEMO版を作りましたのでお裾分け

# 予約時刻表DEMO版を作りましたのでお裾分けを致します。
尚、予約確認画面などは御自身で制作くださいませ。
あくまでも雛形でありDEMO版ですので、誤動作などのバグが残っている可能性があります。
また、ソースコードにはあまりコメントが無いですがソースを追って頂けたらと思います。

どうぞ宜しくお願い致します?。

“`txt
肝心の確認部分は記載していないのには訳があります。営業妨害になっては駄目だからです。そういう理由で確認部分以降は書いていません。
“`

https://github.com/taoka-toshiaki/reserve_demo1

“`php:index.php

元記事を表示

OTHERカテゴリの最新記事