PHP関連のことを調べてみた2021年12月20日

PHP関連のことを調べてみた2021年12月20日
目次

クリスマスに向けてリア充を逃がさず爆破する弓を作る

もうすぐクリスマスな時期になりましたね!リア充がわきますね!目障りなリア充は爆破してしまいましょう。逃げられても大丈夫なように矢を追尾させ、確実に〇れるようにしてしまいましょう。

##動作環境
php 8.0以降
PMMP4.0.0

##仕様
弓を放った際に一番近いエンティティを取得し、それに向けて弓の進行方向を変えます。
また、着弾時に爆発するようにします。
実装方法は矢のクラスをオーバーライドする方法で行きます。

##ソースコード

“`php

元記事を表示

【PHP】組み込み関数のまとめ

PHPの学習を始めたため、備忘録として保存します。

## 組み込み関数のまとめ
### 出力系

| 関数 | 処理の内容 |
| —- | —- |
| print|文字列を出力する|
|print_r|データ型と値を出力する|
|var_dump|データ型・値・長さなどを詳細に出力する|

###文字列操作系

| 関数 | 処理の内容 |
| —- | —- |
| strlen | 文字列の長さを返す |
| mb_strlen | 文字列の長さを返す(日本語対応) |
| substr | 文字列の一部分を返す |
| str_replace | 検索文字列に一致したすべての文字列を置換する |
| implode | 配列から文字列を生成する |
| explode | 文字列から配列を生成する |

### 数学系

| 関数 | 処理の内容 |
| —- | —- |
| floor | 小数点以下を切り捨てた値を返す |
| max | 引数の中の最大値を返す |
| min | 引数の中の最小値を返す |
| mt_rand | 乱数を生

元記事を表示

LaravelでHerokuデプロイ(git push heroku master)するとThe ‘composer install’ process failed with an error.が発生

## はじめに
こんにちは、[@kazuma_dev](https://twitter.com/kazuma_dev)です。
とあるTechPitのチュートリアルでHerokuデプロイエラーが起きたのでメモ。

## 前提・実現したいこと
– `Laravel`でHerokuデプロイ`git push heroku master`すると`The ‘composer install’ process failed with an error.`が発生

## 発生している問題・エラーメッセージ
– `laladock`ではなく`laravel`ディレクトリにてHerokuデプロイ

“`zsh:zsh
~/laravel-sns/laravel $ rm -rf .git
“`

“`zsh:zsh
~/laravel-sns/laravel $ git init
“`

“`zsh:zsh
~/laravel-sns/laravel $ git add .
“`

“`zsh:zsh
~/laravel-sns/laravel $ git commit -m “firs

元記事を表示

Laravelのログで配列を見る

# 配列を出したいとき
“`php
Log::info($array);
“`

# ログの場所
“`
storage/logs/日付のログ
“`

# デバッガとログの違い
VSCodeのデバッガで見えるデータは、
配列数やプロパティ数が多くなると切れて表示されない時がある。

ログは正確なので、ログの方が信頼できる。

元記事を表示

コードリーディングのススメとTips風 〜CakePHP4の例を添えて〜

この記事は、[ランサーズ Advent Calendar 2021 20日目](https://qiita.com/advent-calendar/2021/lancers)の記事です。

@ktplato です。11月にランサーズに入社しまして、サーバーサイドエンジニアとしてPHPを書いてます。チームのミッションに取り組む傍ら、サービスのアーキテクチャの改善に強く関心を持っており、少しずつ行動してたりもします(この辺はまた別の記事でお話しできたらいいなと思ってます、そのうち)。

はてさて、アドベントカレンダー参加申請したはいいものの、何について書こうか… 最近取り組んでいるメタプログラミングがいいかな… とつい2日前まで悩みながら他の方々のアドベントカレンダーを読んでいると、[15日目の@manamin0521さんの記事](https://zenn.dev/manamin0521/articles/07d9b63e277a4c)にて、「言語やフレームワークの内部の実装が気になるようになった」という話を見かけ、それなら関連してとりあえず CakePHP のキャッチアップつい

元記事を表示

laravelの同じことができるので困るやつを集めてみた。

## 指定された値を「ドット」記法でネストされた配列から取得
### ヘルパークラスの静的な関数 or ファサード
“`php
$price = Arr::get($array, ‘products.desk.price’, 1100);
“`

### ヘルパー関数
“`php
$discount = data_get($data, ‘products.desk.discount’, 0);
“`

## viewインスタンスを返す
### ヘルパークラスの静的な関数 or ファサード
“`php
return View::make(‘profile’);
“`

### ヘルパー関数
“`php
return view(‘profile’);
“`

## authenticatorのインスタンスを返す
### ヘルパークラスの静的な関数 or ファサード
“`php
$user = Auth::guard($guard)->user();
“`

### ヘルパー関数
“`php
$user = auth($guard)->user();
“`

## キ

元記事を表示

【laravel】Eloquentをざっくり理解してみよう!

この記事は、[シアトルコンサルティング株式会社 Advent Calendar](https://qiita.com/advent-calendar/2021/seattleconsulting) 2021の20日目の記事です。

こんにちは、シアトルコンサルティングの 羽田野 と申します。
この度、弊社 シアトルコンサルティング株式会社 でAdvent Calendarに参加することになりました。

TeamTech Move the WorldをMissionに掲げ、日々全力で業務に取り組んでおります!
少しでも興味を持って頂けたら下記のサイトを覗いてみてください!

コーポレートサイト

ホーム


Wantedly
https://www.wantedly.com/companies/seattleconsulting
よろしくお願い致します!

# はじめに
以前の現場でlaravelを使用していたのですが、自分自身なかなか使い勝手がわからず苦戦したので復習がてら書いてみました。
公式サイトをもとに、今回は操作という

元記事を表示

【PMMP4】生活サーバー運営に便利なプラグインたち!

はじめに

皆さんこんにちは!
累計で3,4年ほど生活サーバーを経営していた私が、使っていて便利だなと思ったプラグインを選別しました!
ここではPocketMine-MP4のプラグインを紹介したいと思います!

プラグイン紹介

EconomyAPI

https://poggit.pmmp.io/p/EconomyAPI

経済プラグインです。
お金をやりくりすることができるようになります。
いろいろ種類はありますが、EconomyAPIが一番シンプルかつ、メジャーですので今回紹介します。

EconomyLand

https://poggit.pmmp.io/p/EconomyLand

土地保護プラグインです。
土地保護できないワールドなども細かく設定することが出来ます。
荒らし防止に必須のプラグインです。

KeepInventory

https://poggit.pmmp.io/p/KeepInventory

死んでもアイテムを落とさないようになるプラグインです。
これは好みにもよりますが

元記事を表示

(2021年/12月時点) 無料版MAMPのインストール&PHPバージョンアップ方法MacOS

#記事を書いた理由
MAMPのPHPをバージョンアップさせようとしたところどこにMAMP.appがインストールされているのかが少しわかりにくかったので共有しようと思いました。

#MAMP(無料版)インストールの手順
1.まずはこちらのMAMPダウンロードサイトにアクセスしてください。
![スクリーンショット 2021-12-19 19.43.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1719010/7f4879e4-5cfe-533f-8a7e-67a1e0a4bda2.png)

2.次に左上のMAMP & MAMP PRO 6.6 (intel)をクリックします。
![スクリーンショット 2021-12-19 19.49.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1719010/33dc8234-

元記事を表示

ワンコインで買った教材で 2ヶ月間 CakePHP を勉強したので紹介する

CakePHP を勉強するにあたり、本屋で参考書をぱらぱらと見ていたのですがあまりしっくりくるものがなく、
Kindle にて無料で読める教材をとりあえず使ってみたら案外よかったので紹介させてもらいます!

#目次
[1. 教材の紹介](#2-教材の紹介)
[2. 良い点/悪い点](#2-良い点/悪い点)
[3. 環境構築メモ](#3-環境構築メモ)
[4. 感想](#4-感想)

#1. 教材の紹介

では、さっそくですが教材の方を紹介させていただきます。
「CakePHP3 ビギナーズガイド:最新のPHPフレームワークをマスターせよ!」

https://www.amazon.co.jp/CakePHP3-%E3%83%93%E3%82%AE%E3%83%8A%E3%83%BC%E3%82%BA%E3%82%AC%E3%82%A4%E3%83%89-%E6%9C%80%E6%96%B0%E3%81%AEPHP%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%92%E3%83%9E%E3%82%

元記事を表示

phpのビルトインサーバー

php -S localhost:8080 sample.php

などと記述してしまうと、フォルダ全体のファイルは普通には参照されなくなっちゃうのね〜。

php -S localhost:8080

こうやったら、localhost:8080/sample.php なんてアクセスすればフォルダ全体のファイルを普通に参照できるみたい。

元記事を表示

PHP: stripe API 使い方 (List all customers)

こちらのページの続きです。
[stripe API 使い方 (List all customers)](https://qiita.com/ekzemplaro/items/ed152ef41f1e81811519)

#PHP Requests でカスタマーの一覧を取得#

必要なライブラリーのインストール

“`bash
composer require rmccue/requests
composer require vlucas/phpdotenv
“`

ツリー構造

“`text
$ tree -a -L 1
.
├── .env -> ../.env
├── composer.json
├── composer.lock
├── get_customers_requests.php
└── vendor
“`

“`php:get_customers_requests.php
#! /usr/bin/php

元記事を表示

PHPプロジェクトのComposerパッケージをRenovateで定期アップデートする

こんにちは! @takoba といいます。 [9日目](https://qiita.com/takoba/items/8f2d231303bcfdfd50bd) に続いて登場です?
改めて自己紹介すると、現在は [コネヒト株式会社](https://connehito.com/) でサーバーサイドを主戦場にしたエンジニアとして働いています。 CakePHP を主に触っています〜〜?‍♀️

このエントリは、 [PHP Advent Calendar 2021](https://qiita.com/advent-calendar/2021/php) の19日目のエントリです。
18日目は @tzmfreedom さんによる [PHPからGoを呼び出す方法](https://tech.yappli.io/entry/php_go) でした。

## 前提

### Renovate is 何
[WhiteSource Renovate](https://renovatebot.com/) は各種アプリケーションプロジェクトの依存パッケージを自動でアップデートするためのツールです。トップペ

元記事を表示

Yii Framework 1.1 の autoload を理解する

これは「[弁護士ドットコムアドベントカレンダー](https://qiita.com/advent-calendar/2021/bengo4com)」 の 19 日目の記事です。

18 日目の記事は @tttttt_621_s さんでした。

# はじめに

弁護士ドットコムには Yii Framework 1\.1(以下、Yii と表現します。) で作られたサービスがいくつかあります。
筆者は普段 Yii で作られたサービスの開発は行っていませんが、[TFD](https://qiita.com/mmorino/items/fd563703c22ccad9648f#tfd) という取り込みで開発に携わる機会があります。

本記事では TFD における [Dii](https://github.com/koriym/dii) の導入、 Yii 上に実装されたコードを解析する取り組みにおいてハマった、 Yii の autoload について解説します。

本記事ではまず Composer の autoload について簡単に紹介します。
その後、 Yii 独自の autoload の仕

元記事を表示

PHP財団にふるさと納税する手順の考察

先日設立の発表された「PHP財団」にふるさと納税する手順を考察してみた。

## PHP財団とは

PHP財団については、こちらの記事が詳しい。
[Nikita Popov、PHP開発から離れる & PHP財団設立のお知らせ](https://qiita.com/rana_kualu/items/eaf97694f25a62f93a7e)

## なぜ「ふるさと納税」?

先日の[【PHP8.1リリース記念】PHPerのためのPHP8.1をもっと語り合うPHP TechCafe](https://rakus.connpass.com/event/230475/)
で、「PHP財団に寄付してスポンサーになりたいね」みたいな話題があり、俺が「ふるさと納税したいね」と言ったら「その発想はなかった」と言われたことによる。

勤務中の8割に当たるヒマな時間(中間管理職が本気で管理したらみんな死ぬため)を少し使って考えた。

## ふるさと納税の手順

### 納税する自治体を担ぎ上げる

架空の実在する日本の地方自治体として[埼玉県和光市](https://ceron.jp/url/chaos2

元記事を表示

【PHP】Seleniumで要素が現れるまで待機する方法

SeleniumでWebブラウザの自動操作を行いながらスクレイピングを行う際、ページ遷移後に検索したい要素が現れていないのにFindElementしようとしてエラーが出ました。
一番簡単な解決方法はsleep処理で任意の秒数待機させるだと思うのですが、これだとスクレピングコードを実行するマシンの性能によって待機時間に過不足が発生する可能性が高いです。

# Pythonならできるらしい
しばらくネットの海を漂っていると、素晴らしい記事を見つけました。
[Seleniumを安定稼働させるために行うべき3つの設定](https://tanuhack.com/stable-selenium/)
PythonでSeleniumを利用する際は、指定した要素が表示されるまで待機する関数の他、待機系の関数が多数用意されているようです。
PHPにもこのような関数は用意されているのでしょうか?私は見つけることが出来なかったのですが、もしあれば教えていただきたいです。

# 要素が現れるまで待機する関数を作ってみた
ということで本題に入りますが、今回はPHPで要素が現れるまで待機する関数を作りました。作っ

元記事を表示

Laravel Ray 進化したDumpデバッグデスクトップアプリ

この記事は [ミライトデザイン Advent Calendar 2021](https://qiita.com/advent-calendar/2021/miraito-inc) 18日目の記事です。

[【超入門】Laravelのデバッグ手法22選](https://qiita.com/ucan-lab/items/29614d0f3ded1d3a94fb)の記事でも紹介しています。

## Laravel Ray とは

https://myray.app

有償のデバッグデスクトップアプリです。
おしゃれなUIが特徴です。

Ray自体はLaravel専用というわけではなく他のPHPフレームワークや、JavaScript、NodeJS、Bash、Ruby、Go等の他の言語にも対応しています。

Laravelに導入する場合ですが、PHP拡張機能を別途インストールすることなく [spatie/laravel-ray](https://github.com/spatie/laravel-ray) のComposerライブラリをインストールするだけでokです。

ブレークポイントが張れ

元記事を表示

LaradockでDebugbarのインストールでkilledされる

## はじめに
こんにちは、[@kazuma_dev](https://twitter.com/kazuma_dev)です。

## 前提・実現したいこと
– LaradockでDebugbarのインストール

## 発生している問題・エラーメッセージ
1. `Updating dependencies (including require-dev) killed`されて、Debugbarがインストールできない
2. Debugbarインストール後、表示されない

“`zsh:zsh
~/laravel-sns/laradock $ COMPOSER_MEMORY_LIMIT=-1 composer require barryvdh/laravel-debugbar –dev
Updating dependencies (including require-dev)
Killed
“`

## 試したこと
– `.env`ファイルに`DEBUGBAR_ENABLED=TRUE`を追記

“`php:.env
DEBUGBAR_ENABLED=TRUE
“`

– `Dock

元記事を表示

Conoha WingでWordPressのSSL化ができない?

Conoha WingでWordPressをインストールするとき、SSLの設定をONにした状態で稼働するとCSSやJSが正常に読み込まれなくなった。どうも外部参照URLがhttpのままになっているせいで発生しているようだった。

Conohaのコントロールパネルからいわゆる簡単インストールを行うと上記の現象は発生しない。
手動でインストールした場合にのみ発生している。

いずれのconfig.phpを開いて違いを確認してみることにした。
すると簡単インストールしたほうのconfig.phpに以下の記述を発見。

“`php:config.php
if (isset($_SERVER[‘HTTP_X_FORWARDED_PROTO’]) && $_SERVER[‘HTTP_X_FORWARDED_PROTO’] === “https”) {
$_SERVER[‘HTTPS’] = ‘on’;
define(‘FORCE_SSL_LOGIN’, true);
define(‘FORCE_SSL_ADMIN’, true);
}
“`
上記のグローバル変数を書き換

元記事を表示

PHPの名前空間を理解する

##結論

* クラスや関数名の衝突を防ぐために名前空間は存在する。
* 名前空間を使用することで違う名前空間同士であれば同じ名前のクラス名や関数名を定義できる。

##名前空間について

>名前空間とは何でしょう? 広義の「名前空間」とは、項目をカプセル化するもののことです。

PHPでは**同じ名前の関数名を使うことはできません。**もし関数名を定義して呼び出すとエラーが起きます。同じ関数名`greet`を2つのファイルに定義して呼び出すとエラーが起きます。

“`php:japanese.php

元記事を表示

OTHERカテゴリの最新記事