PHP関連のことを調べてみた

PHP関連のことを調べてみた
目次

Meta graph Api アカウント情報取得Api (/me/accounts)が空の配列を返す問題

## 結論
権限を追加するべきだった。
`business_management`権限を追加してください!!

## 原因
ログインURLを生成するときに渡す権限に問題がありました。

以下の権限でアカウント情報を取得しようとしたら失敗した。

“`
$permissions = [
‘public_profile’,
‘instagram_basic’,
‘pages_show_list’,
];

$login_url = $helper->getLoginUrl(config(‘services.facebook.redirect_uri’), $permissions);
“`

## 下記のように変えて解決
“`
$permissions = [
‘public_profile’,
‘instagram_basic’,
‘pages_show_list’,
‘business_management’,
];
“`

元記事を表示

xserverのPHPバージョンアップ

xserverのphpバージョンアップがどん詰まったので備忘録
他にスマートな方法をご存知の方、教えてください…

### xserverへSSH接続して確認したPHPバージョン
“`
$ php -v
PHP 5.4.16
“`
xserverのPHP Ver.切り替え画面
![スクリーンショット 2024-01-10 14.41.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113701/016ca1be-8237-a614-7462-1e199f513751.png)

### PHPバージョンを合わせる

xserverのPHP Ver.切り替え画面で設定したPHP8.1.22に変更します

xserver上に存在するPHPのバージョンを検索
“`
$ find /opt/php-*/bin -type f -name ‘php’
“`
結果
たくさんのPHPバージョンが出てきました
“`
/opt/php-5.1.6/bin/php

/opt/php-5.4.16/bi

元記事を表示

VBA学習備忘録③ Python等の他言語から見たVBAの独自な文化&方言①

そもそもVBA(Visual Basic for Application)とは

https://qiita.com/thinking-weed/items/b322d1e34b888aa3ca22

これまでPHP、Laravel、Python(と少しだけJava)を少し勉強してきた中であまり聞いたことのないような謎方言や謎文化が時々出てくるので集めてみた~その壱~

※以下の文にあるコードは、基本Subプロシージャ(指定した操作を実行する基本的なマクロ)に用いるものであり、冒頭のSub マクロ名()と末尾のEnd Subは省略してあります。

①「解放」=「削除」(+「エクスポート」)

details

上記Qiitaの通り、VBE(VBAのエディター)を開いて、**挿入** ⇒「~モジュール」を開くと
以下のような画面が出てきますが、例えば無駄なモジュール追加しちゃった場合、
最初削除どこにあるん??(´。`)??ってなりました。

![module_release.

元記事を表示

Laravelを使った開発でのFailed to load resource: the server responded with a status of 404 (Not Found) の解決方法

## エラーになった背景

Webアプリの開発をしていた際に、HTMLとCSSをいじっていたら上記のエラーと遭遇しました。
cssファイルをうまく読み込めない方に参考にしていただきたいです。

## 解決方法

### cssファイルを移動させる

cssファイルが僕の場合resourcesディレクトリにあったのでそれをpublicディレクトリに移動させました。

### cssファイルの記述を確認する

laravelではcssファイルなどの外部ファイルの読み込みにasset()関数を使うらしいです。

“` layout.blade.php

“`
cssファイルを読み込むファイルに記述してください。
これで設定は完了です。

### 参考文献

https://www.slingacademy.com/article/laravel-link-to-static-assets-in-blade-templates/#google_vi

元記事を表示

universalObjectCratesClassesとは何か

PHPStanを使うとオブジェクトの未定義プロパティへのアクセスを警告できて便利だが、必ずしもそうしたくないことがある。

## プロパティのオーバーロード

PHPは[オーバーロード](https://www.php.net/manual/ja/language.oop5.overloading.php)と呼ばれる機能でメソッドやプロパティの動的アクセスを提供できる。

https://www.php.net/manual/ja/language.oop5.overloading.php

:::note warn
オブジェクト指向用語の『[オーバーロード](https://ja.wikipedia.org/wiki/%E5%A4%9A%E9%87%8D%E5%AE%9A%E7%BE%A9)』の一般的な用法とは異なるので注意。
ただしPHPでもこの機能を利用して挙動を再現することは… できなくはない。
:::

プロパティに関しては、たとえば以下のように実装できる。

“`php

元記事を表示

PHP ぼやき日記 2024-01-30

– [前回](https://qiita.com/sj-i/items/4218804e1cd7f41fc4b0)

不定期に誰に向けるでもなく PHP に関する雑な殴り書きをしている。気がつけば 1 度も投稿することなく 1 月が終わろうとしていたくらいの雑さ加減。

# phpy がまあまあ熱心に更新されている
– https://github.com/swoole/phpy
– phpy は swoole の人が作った PHP の C 拡張
– CPython の VM をそのまま埋め込み、PHP 側と Python 側で相互にコードを呼び出せるよう橋渡しをしている
– つまり同じプロセス内に PHP と Python 両方の公式 VM を同居させるということ
– [wxPython](https://github.com/swoole/phpy/blob/main/examples/wxPython/hello.php) で GUI アプリも書けるし
– [torch だの transformers だのをインポートして今をときめく LLM を読み込む感じのコード](https

元記事を表示

人生初のチーム開発。。。Best Award受賞!

# 目次
[1.はじめに](#1-はじめに)
[2.チーム開発概要](#2-チーム開発概要)
[3.メンバー構成](#3-メンバー構成)
[4.初チームMTG](#4-初チームMTG)
[5.課題の明確化](#5-課題の明確化)
[6.要件定義](#6-要件定義)
[7.インセプションデッキ](#7-インセプションデッキ)
[8.スライド作成、設計、アーキテクチャの明確化](#7-スライド作成、設計、アーキテクチャの明確化)
[9.ワイヤーフレームの作成](#9-ワイヤーフレームの作成)
[10.データベース](#10-データベース)
[11.環境構築](#11-環境構築)
[12.タスクばらし](#12-タスクばらし)
[13.実装](#13-実装)
[14.振り返り](#14-振り返り)
[15.おわりに](#15-おわりに)

## 1. はじめに
私は、内定直結のエンジニア実習『アプレンティスシップ』に参加しています。
2023年3月から独学でプログラミングを学び始め、チーム開発や実務を経験したいという課題をもっていました。そのときにたまたまアプレンティスシップを知り、山浦さ

元記事を表示

Laravel ExcelのCSVインポートで、日本語のカラム名を取得できない問題。

# ヘッダーのカラム名を取得

エンコーディングの問題以前に、そもそもヘッダーの行を正常に取得できていなかった。
以下設定でformatterをnoneにすれば解決する。

“`config/excel.php
‘imports’ => [
‘heading_row’ => [
‘formatter’ => ‘none’,
],
],
“`

クラス毎に設定する場合は以下。
“`Imports/TestImport.php
use Maatwebsite\Excel\Imports\HeadingRowFormatter;

HeadingRowFormatter::default(‘none’);

class TestImport implements ToModel
{
}
“`

# シフトJISの文字化け

先程のconfig/excel.phpでも設定できるが、
クラスに設定する場合は、getCsvSettings()を追記する。
WithCustomeCsvSettingsをimplementsすることも忘れずに。

“`Impo

元記事を表示

HackTheBox Clicker WriteUp

今回は、HackTheBoxのMediumマシン「Clicker」のWriteUpです。
名前から連想できる脆弱性はなさそうですね。どのようなマシンなのでしょうか。

![スクリーンショット 2024-01-28 23.34.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1664764/0eccca6b-7d0a-28d1-ca19-8449e73d143d.png)

グラフは普通のMediumという感じですね。
評価は高そうなので、楽しみです。攻略目指してがんばります!

HackTheBoxってなに?という方はこちらの記事を見てみてください。一緒にハッキングしましょう!

https://qiita.com/WhizOwl/items/165783694cb4791cff34

また、HackTheBoxで学習する上で役にたつサイトやツールをまとめている記事もあるので、合わせてみてみてください!

https://qiita.com/Perplex/items/30f949fe261f56a

元記事を表示

PHPStan どうしても解消できない静的解析エラーをPHPStanの設定で見なかったことにする

## 概要

PHPStanを使っていてどうやっても解消できない静的解析エラーをエラーとして扱わないようにする方法を簡単にまとめる。

## 注意

本方法は多用してはいけません。多用するとPHPStanを入れている意味がなくなります。
コード上でどうにかして対処し、それでもどうしても解消できない場合に使いましょう。

## お願い

なるべくエラーを許容する方法で解決したくありません。もっと良い解決方法がございましたらぜひ教えてほしいです。。!

## 方法

phpstan.neonというファイルに見過ごしたいエラーを指定することでそのエラーをなかったことにする事ができる。
具体的には`ignoreErrors:`のあとに正規表現を使って見過ごしたいエラーを指定する。

エラーとは下記のように行数とエラー内容で表示されるヤツのことである。

“`
—— ————————————————————————————-
Line ファイルパス
——

元記事を表示

MAMPを使用して、wordpressの環境構築を行う

### はじめに

wordpressがPHPで動いていることから、MAMPを使用してwordpressの環境構築を行なってみたので備忘録として残します。

### 今回使用するプロジェクトディレクトリを作成する

任意の場所に、あらかじめプロジェクトディレクトリを作成しておきます。

### MAMPのインストール

公式からダウンロードする。
※M1チップのAppleを使用しています。
https://www.mamp.info/en/mamp/mac/

![スクリーンショット 2024-01-27 13.00.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3513569/44fffd5f-eb95-7928-5125-3584515dd677.png)

ダウンロード→ダウンロードしたファイルをクリック→上記のようなインストーラーが立ち上がります。
同意やインストール先を聞かれるので「続ける」をクリックし、インストールは完了です。

あらかじめ作成しておいた、プロジェクトディレクトリにMA

元記事を表示

【PHP】HPサーバーにあるCSVへ書き込む。

# 目的
あるデータをHPにて使用するため、CSVへ書き込む。今回の内容はURLを見られても問題ないデータ。
セキュリティ等はあまり得意ではないため、不備があればご教示頂ければ幸いです。
クライアントPC→HPサーバー→HPに表示

# 環境等
* クライアントPCでもサーバーPCでもPHPを使用
* サーバーの権限がある

# 方法
## クライアントPCの設定
変数$outoput.dataにサーバーへ送信したい情報が含まれている(一行の文字列)。

“`php:get_data.php
//送信先の文字コードへ変換
$output_euc = mb_convert_encoding($output_data, “EUC-JP”, “UTF-8”);

//HPサーバーへデータ送信
$url = “https://www.test.com/get_data.php?data=” . “$output_euc”;
$conn = curl_init(); // cURLセッションの初期化
curl_setopt($conn, CURLOPT_URL, $url); // 取得するU

元記事を表示

Macの環境構築、PHP用環境構築

# 前提

## 対象
* web系エンジニア(特にPHPバックエンド)

## 環境
以下の環境で確認しました。
Appleシリコンmacなら同様にできると思います。
* macos Sonoma
* MacBook Pro – Apple M3 Pro

## 前置き
* intel MacからM3 Macに移行するにあたって移行ツールを使用せずに手動移行したのでその備忘
* 一緒に働く人に環境構築方法を共有したいのでついでにわかりやすく書こうと思った
* PHP開発はDockerで行うがローカルにもPHPが必要な場面があるので入れている
* ~~phpstan以外の静的解析~~、~~Laravel向けのVS Code拡張~~、AI系のVS Code拡張、node jsとそのバージョン管理については追記したい気持ちがある
* phpcs、Laravel向け拡張機能について追記しました

# はじめに

## システム設定
システム設定アプリから行う内容です

* トラックパッドによるポインタの移動速度
* トラックパッド > 軌跡の速さ > 最も速くする
* トラックパッド

元記事を表示

Next.js × Laravel でページネーションの実装

# 1. はじめに
Next.js × Laravel でブログ投稿サイトを作成していました。
その際にページネーションの実装で詰まったので突破した解決策を記しておこうと思います。

# 目次
[1.はじめに](#1-はじめに)
[2.使用環境](#2-使用環境)
[3.背景](#3-背景)
[4.ページネーション実装前の状況](#4-ページネーション実装前の状況)
[5.ページネーション実装](#5-ページネーション実装)
[6.ページネーション完成時のコード](#6-ページネーション完成時のコード)
[7.最後に](#7-最後に)

# 2. 使用環境
– MacBook Air : M2チップ / 16 GB
– Next.js : 14.1.0
– React : 18.2.0
– PHP : 8.2.14
– Laravel Framework : 10.39.0
– My SQL : 8.0.32
– PHP My Admin : 5.2.1
– Docker :
“`
Client:
Cloud integration: v1.0.35+de

元記事を表示

素数判定関数を使って簡単なゲームを作った話④

ご覧いただきありがとうございます。
この内容は、複数に分けて投稿しています。全体をご覧になりたい方は、以下のリンク先よりご確認ください。

https://qiita.com/hitoki_univ/items/8e3feab0add17befc700

前回の内容については、こちらからどうぞ。

https://qiita.com/hitoki_univ/items/96e45db86abc4dae71d7

# 今回やること
第3回までで、ゲームをプレイする人数の選択、プレイヤー名と制限時間の設定に関する部分を実装しました。
今回は満を持して、ゲームの動作部分を実装していきます。

# ゲームの実行画面
前回作成したプレイヤー名などの入力画面と同様、ゲームのプレイ人数に応じて異なるページを作成する必要があります。しかし、基本構造はどのページも共通ですので、今回は2人用のページを主に確認していきます。

### HTML
“` php

元記事を表示

laravelを使った自分が作った料理を投稿できるWebアプリの作成手順

今回はプライベートでPHPフレームワークのLaravelを使ったWebアプリケーションの開発をするので、その設計書を書いていきます。

## サービスを作ろうと思った背景

僕は大学生なので家族と離れて暮らしています。自分の生存確認のための連絡がよく入ってきます。Lineなどのアプリを使っても連絡ができますが、せっかく大学でプログラミングを学んでいるので自分でWebアプリを作ってみようと思いました。具体的には自分の生活ぶりが家族に伝わるようなWebアプリを作ってみようと考えています。

## どんなサービスか

利用者に会員登録してログインしてもらい自分が作った料理の写真を投稿したり、他の人の投稿を見れるようなサービスにしてみようと思ってます。

## サービスに使うスキル

– HTML
– CSS
– jQuery
– PHP
– Laravel
– MySQL
これらを使いたいと考えています。

## サービスの仕様

### 利用者の認証のために
– ログイン
– ログアウト
– 会員登録
– 退会処理
マイページ画面を作り
– メールアドレス変更

元記事を表示

PHPフレームワーク「Flow」のリフレクションがPHP標準のリフレクションよりも速いワケ

# はじめに
PHPにはクラスやメソッドの構造を取得できるリフレクションという機能があります。PHPフレームワークのFlowではPHP標準のリフレクション処理を用いた独自のリフレクション処理が定義されており、様々な機能を追加で使えるようになっています。

そんなFlowのリフレクション処理ですが、公式ドキュメントを読んでいると以下のような記載がありました。

> Flow provides a powerful extension to PHP’s own basic reflection functionality, not only adding more capabilities, but also speeding up reflection massively.

“**speeding up reflection massively…**”

どうやら、**FlowのリフレクションはPHP標準のものよりも速い**とのこと。
FlowもPHP標準のリフレクションを利用しているのになぜ差が出るのか気になったので調べてみました。

# TL;DR
* Flowは実行前にコン

元記事を表示

素数判定関数を使って簡単なゲームを作った話③

ご覧いただきありがとうございます。
この内容は、複数に分けて投稿しています。全体をご覧になりたい方は、以下のリンク先よりご確認ください。

https://qiita.com/hitoki_univ/items/8e3feab0add17befc700

前回の内容については、こちらからどうぞ。

https://qiita.com/hitoki_univ/items/5893785797243794d33a

# 今回やること
第2回では、ゲームのタイトル画面を作成しました。
今回は、タイトル画面からのリダイレクト先である、プレイヤー名と制限時間を設定する画面を作成します。

# プレイヤー名、制限時間の設定画面
前回作成したページでは、選択したプレイヤー人数に応じて異なるページにリダイレクトするようにしました。
今回はそのリダイレクト先のページを作成するので、複数のページを作成します。しかし、基本構造はどのページも同じなので、今回は2人用のページを主に確認していきます。

### HTML
“` html


素数判定関数を使って簡単なゲームを作った話②

ご覧いただきありがとうございます。
この内容は、複数に分けて投稿しています。全体をご覧になりたい方は、以下のリンク先よりご確認ください。

https://qiita.com/hitoki_univ/items/8e3feab0add17befc700

前回の内容については、こちらからどうぞ。

https://qiita.com/hitoki_univ/items/e1b8ec9e6c7c39d5e761

# 今回やること
前回は、これから作成するゲームの概要などについて説明しました。
今回は、そのタイトル画面を作成していきます。

# ゲームのタイトル画面
タイトル画面では、プレイヤー人数を選択し、人数に対応したプレイヤー名入力画面に遷移する機能を実装します
1. プレイヤー人数を選択し、人数に対応したプレイヤー名入力画面に遷移する機能
2. 過去のランキングを表示する画面に遷移する機能

具体的なコードは以下の通りです。

### HTML
“` html


素数判定関数を使って簡単なゲームを作った話①

ご覧いただきありがとうございます。
この内容は、複数に分けて投稿しています。全体をご覧になりたい方は、以下のリンク先よりご確認ください

https://qiita.com/hitoki_univ/items/8e3feab0add17befc700

# ゲームの概要
このゲームは、複数人による対戦形式を想定して作成しています。
動作の概要は以下の通りです。

①プレイヤーの人数を選択
②プレイヤーの名称を入力
③順番に素数を入力していく。この時、前回より大きな素数を入力する必要がある。制限時間内に前の人より大きな素数を見つけられないとゲームオーバー

今回は、生徒たちにより楽しみながらプレイしてもらえるように、ランキング機能も作成します。
ちなみに、前の人より大きな素数を入力していく、という遊び方は、学習支援事業で会った生徒さんの発案です。

# 次の投稿について
次回(第2回)は、このゲームのタイトル画面を作成します。
~~投稿次第、リンクを追加するので、ぜひご覧ください~~
以下のリンク先から、是非ご覧ください。

https://qiita.com/hitoki_univ/i

OTHERカテゴリの最新記事