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

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

2024年におすすめのMac開発ツール(超使いやすい)

仕事をうまくやるには、まず道具を磨かなければならないと言われています。有用なツールは私たちをより効率的にすることができ、美しいインタフェースは私たちを喜ばせることができます。そのため、使いやすく視覚的に魅力的な開発ツールは私たちの開発ツールです。
そこで今日は、2024年のMacに適した開発ツールをお勧めしたいと思います。それらはあなたにとって実用的で役に立つものです。
1.TablePlus

TPはデータベース管理ツールであり、ここで記述されていますが、NaviCatを使用して可用性を高めることをお勧めします。Navicatは有料ですが、「ラーニング版」を選択することができます。私がTPを使ったのは、NavicatがすべてのTPをアンインストールするように会社に手紙を送ったからです。だから私はこの代替案を見つけて、それもとても良いです。
複数のデータベース接続をサポート
![対応していない形式のファイルです。]()
界面レイアウトはnavicatに劣らず、なかなかいいです。
![対応していない形式のファイルです。]()

2.テメウス

このSSHとSFTP接続ツールも私が最も大切

元記事を表示

FuelPHP のパフォーマンス確認方法

# はじめに
FuelPHP にはデフォルトで Profiler が用意されています
http://fuelphp.jp/docs/1.7/general/profiling.html

:::note info
`config.php` は `fuel/app/config/config.php` もしくは `fuel/app/config/$FUEL_ENV/config.php` となります
:::

# フロントエンドで確認する

`config.php` で `’profiling’ => true` を指定すると画面右下に `Code Profiler` が出てきます
![355344427-d4a78362-6ecb-4dd9-a249-4b1f9d284817.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/357904/d61ddc36-07a8-bfc8-5f7c-4270c9307cc8.png)

それを選択することで簡単なパフォーマンスを確認できます
![355344647-0

元記事を表示

Laravel11/PHP8.3 環境で Chrome DevTool Protocol(CDP) 実装の Chrome PHP を使用して Web スクレイピングしてみた

# 概要
[前回](https://qiita.com/footit/items/d802512f98d40b82b93a)は Laravel Dusk の ChromeDriver を使用して Web スクレイピングしてみましたが、ChromeDriver ですと Chrome ブラウザと ChromeDriver のバージョンをある程度合わせておかないと正常に動作しないなど煩雑です。 Windows などは Chrome ブラウザが自動更新されますのでなおさらです。そこで Chrome DevTool Protocol(CDP) を使用して Web スクレイピングできないか調べてみました。

CDP で代表的なものは本家 Puppeteer や Microsoft の Playwright ですが、いづれも node ライブラリで PHP となると PHP から Node をブリッジして Puppeteer を叩く [PuPHPeteer(rialto-php/puphpeteer) ](https://github.com/rialto-php/puphpeteer)ですが、Wi

元記事を表示

【PHP】スーパーグローバル変数$GLOBALS

## $GLOBALSとは

$GLOBALSとは、PHPの定義済み変数のひとつで、グローバルスコープで使用可能な全ての変数への参照を含む配列となっています。

つまり、関数の中でグローバル変数を参照したい場合に$GLOBALSを使用します。

> ローカル変数:関数の中で定義され、関数の中でのみ生存
> グローバル変数:関数の外で定義され、関数の外でのみ生存

## サンプル

+ $GLOBALSは、キーにグローバル変数名を指定してあげることで変数を参照できる。

“`php:例1

元記事を表示

PHPにおけるユーザ定義関数

# PHPにおけるユーザ定義関数
## はじめに
静止したウェブサイトはなんだか退屈。
っていうか『あれ?動いていない?壊れてる?』と思われちゃいます。
だから、利用する人が『このサービス、生きてる』と感じるには、ウェブサイトが躍動的に動くことが大切ですね。

『生きてるサービス』を実現するために、PHPは特定のタスクを実行する関数を作り込むこと(「定義する」とも言う)ができます。これが「ユーザ定義関数」です。

## ユーザ定義関数とは?
コンピューターにあるタスクを実行させたいので、プログラマーは「タスクを実行しろ」とタスク実行のやり方を順番通り書いて作り込んだ関数です。「プログラマーが定義する」ともいいます。このプログラムの塊(かたまり)をユーザー定義関数と言います。

コンピューターはユーザー定義関数を命令と解釈して実行しようとします。うまく動けばサービスを提供できます。
サービス実現のため、同じ動きや似た動きをするプログラムをいっぱい書くんじゃなくて、1か所にまとめて書いて、その1つのプログラムの塊を読み込んであちこちで実行させるのが賢いよね。プログラミングの仕事も減らせる。

元記事を表示

【PHP8.4】DateTimeの秒だけ0にしたいんじゃが

# なにがしたい?

[DateTime](https://www.php.net/manual/ja/class.datetimeimmutable.php)のインスタンスに’2024-01-01 01:23:45’が入っていたとして、ここから秒だけ削除して’2024-01-01 01:23:00’にしたい。

# どれがいいだろう?

“`php
$dt = new \DateTimeImmutable(‘2024-01-01 01:23:45’);

// その1
$dt2 = new \DateTimeImmutable($dt->format(‘Y-m-d H:i:00’));

// その2
$dt2 = $dt->setTime($dt->format(‘H’), $dt->format(‘i’), 0);

// その3
$dt2 = $dt->setTimestamp(intdiv($dt->getTimestamp(), 60) * 60);

// その4
$dt2 = $dt->sub(

元記事を表示

awsのec2サーバーを使用してクラウド上のデータベースからUnityに値を取得したお話

# はじめに
お久しぶりです。
今回は前回の記事(https://qiita.com/komugikoShimizu/items/ff3bc3a2d9b3c62700d2 )でローカルのデータベースから値を取得していたものを、AWSでEC2サーバーを使用してクラウド上に設置した というお話です。
ちょっとややこしい話が多くなりますが、最後までお話しします。
詰まったところも覚えているところは対処法を踏まえて解説していきます。
今回もまだまだ初心者である自分の理解をさらに深めるための記事でもありますので、まちがいもあるかとはおもいますがご了承ください。

# 環境
Unity(多分バージョンは何でも)
AWS EC2サーバー
・MySQL
・PHP

## AWS EC2サーバーについて
AWSが提供しているクラウド内の仮想サーバー。
LinuxなどOSを使用してAWS上にパソコンをもう一つ作るイメージ。
今回はそのパソコンにデータベースを作成して、そこにアクセスするよー ってことです。

# AWSの環境構築について
0.AWSのアカウントを作成しよう(クレカ情報がいるよ)

1.最初

元記事を表示

Laravel のクエリビルダ⦅マニュアルのマニュアル⦆

## はじめに

__ 【PHP】のWebアプリケーションフレームワークである__
__ 【Laravel = ララベル】のマニュアルを確認しました。__

##### Laravel公式ドキュメントの日本語訳サイトは以下を参照。
https://readouble.com/laravel/11.x/ja/queries.html

# __データベースクエリの実行__

テーブルからの全行の取得

“`php

元記事を表示

Laravelでcompact関数を使う意味

## はじめに
最近Laravelの学習を始めたのですが、コントローラからビューへ変数を受け渡す時によく使うcompact関数の具体的な働きがわからなかったので調べました。

## compact関数とは
引数で指定した変数名をキーとして、その変数の値を値とする連想配列を作成します。
Laravel独自のものでなく、PHPの組み込み関数です。
Laravelでは、コードをより簡潔で読みやすくするために使用されることが多いようです。

https://www.php.net/manual/ja/function.compact.php

## 具体的な動き
“`php
[‘Cannondale’, ‘Cervélo’, ‘Colnago’]]
“`
このように、`compact(‘bikes’)`とすると、`$bikes`という変数が存在する場合にその変数をキー`’bikes’`として連想配列

元記事を表示

【PHPフレームワークFlow】書いた記事まとめ

# 初めに
自己学習でFlowの知識記事を書き始め、気づけば30件を超えました。
ここらで一旦まとめておきます。

# 記事一覧

## イントロダクション
– [【PHP】マイナーフレームワーク「Flow」を試してみる~環境構築編~](https://qiita.com/nnhkrnk/items/003a21f31bc8d0546c08)
– [【PHP】マイナーフレームワーク「Flow」を試してみる~API作成編~](https://qiita.com/nnhkrnk/items/2b9f647d6130a098345f)

## 機能紹介
– [【PHP】マイナーフレームワーク「Flow」を試してみる~DB接続&データ登録編~](https://qiita.com/nnhkrnk/items/739ac12036c858525e23)
– [【PHP】マイナーフレームワーク「Flow」を試してみる~独自Exception編~](https://qiita.com/nnhkrnk/items/f0e779ed60bff2791a76)
– [【PHP】マイナーフレームワーク「F

元記事を表示

【DAY11】PHPについて

# PHPとは
PHPはプログラミング言語の一つで、動的なコンテンツの作成に向いています。
正式名称は「PHP:Hypertext Preprocessor」です。

## PHPの特徴
* コンパイルが不要
PHPはスクリプト言語であるため、コンパイル処理が必要なく、テキストベースで記述したプログラムをそのまま実行できます。
* データベースと連携させやすい
PHPは「MySQL」や「PostgreSQL」などといったデータベースシステムと簡単に連携することができます。
* 文法がわかりやすい
PHPは文法がシンプルでわかりやすいという特徴があります。例えば、変数を扱う際に型の定義宣言が必要ありません。
* フレームワークが豊富に用意されている
PHPにはフレームワークが豊富に用意されているため、搭載したい機能や開発規模に合わせてフレームワークを使い分けることができます。PHPのフレームワークには、Laravel、CakePHPなどがあります。

元記事を表示

WordPressのブロックテーマで各投稿のカスタムフィールドを表示する(2024年8月時点)

## はじめに

WordPressはサイト全体を投稿本文のように編集できる「ブロックテーマ」に本格的に移行しています。
多くの資料がありますが、カスタムフィールド(投稿メタ)の表示に関する情報が少ないです。

現実には、画像のようなゴリッゴリのカスタムフィールドを多用したサイトを運用していて、頭を抱えている人も多いのではないかと思います。そのような人の一助となれば幸いです。

![blocktheme_binding_02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21117/3220bb6d-f5c7-d2e9-f62e-5a17509b5d2e.jpeg)

カスタムフィールドを表示することは、できます。
が、この記事を書いている時点では難易度が高めです。また、仕様が変わる可能性も高いです。

読んでいるあなたがWordPressについて常時学習する時間が取れない、納品後の改修ができない状況であれば、他のCMSへの乗り換えを強く勧めます。

## 暫定措置

### ノーコードで表示する

元記事を表示

更新が止まった(?)XAMPPに新バージョンのPHPを導入する

### 前書き

更新が`Ver.8.2.12`で止まってしまったように見える`XAMPP`に、
新たな`PHP8.3.10`を追加導入した時に苦労した点をまとめました。

現在すでに`PHP8.4`アルファ版が公開されているというのに、`8.3`のリリースが無いのはどうしたことでしょう?
なお、今後 XAMPP の更新が無くなってしまった場合、新たな PHPテスト環境を探す必要が出てくるかもしれません。

Mac では`ServBay`という PHPテスト環境が使えるようです。
Windows ではどうなるのでしょうか?

ここでは、いい方法が見つかるまでのつなぎとして、
従来の`XAMPP`に新しいバージョンの`PHP`を導入した時の注意事項などを書いています。

:::note info

私の環境
+ Windows 10 Home(22H2)
+ Dドライブに`XAMPP for Windows`をインストールしています。
+ shie-works(no shi)さんの[xamppで複数のバージョンのphpを切り替えて使いたい!!!](https://qiita.com/sh

元記事を表示

  PHP記載方法まとめ 【初学者編】1

## はじめに

__ 【PHP(Hypertext Preprocessor) = ピーエイチピー】とは__
    サーバサイドというWebアプリの裏側で動作している、、
   ユーザーからは見えない部分で使用されているプログラム言語です。

##### このメモは、PHPの基本的な記載方法のまとめです。

## PHPプログラムの構成
#### PHPは、 HTMLの中に、埋め込むことができます。

1・・・ 以下の開始タグ と 終了タグの間に命令文を記載する。

2・・・ HTMLファイルの最後がPHPのタグの場合は
終了タグ である ?> は省略する。

基礎的なHTMLの記載方法については、以下を参照

[O型のHTML記載方法まとめ](https://qiita.com/nano357/items/84ea1e8af48a71c17c9f)

元記事を表示

【PHP】トランプの戦争ゲームで、手札からカードを出したり戻したりする

## はじめに
トランプゲームの戦争で、
手札からカードを引く、戻すを行った方法を学習用にまとめた。

## 結論
[array_shift](https://www.php.net/manual/ja/function.array-shift.php), [array_push](https://www.php.net/manual/ja/function.array-push.php)を使って実装した。
array_push関数で手札配列の末尾にカードを追加し、array_shift関数で先頭からカードを出すイメージです。

array_shift
配列の先頭から要素を一つ取り出す
array_push
一つ以上の要素を配列の最後に追加する

array_pushとarray_shiftの組み合わせで、キュー(先入れ先出し)のデータ構造を表現できる
※array_pushはブラケット構文でも可
## 詳細
戦争は、プレイヤーが手札からカードを出し合って、カードのランクを比

元記事を表示

PHPとJavaScriptを使用したServer-Sent Events (SSE) 通信の実装方法

# PHPとJavaScriptを使用したServer-Sent Events (SSE) 通信の実装方法

## 概要
Server-Sent Events (SSE) は、サーバーからクライアントへの一方向の通信を確立するための技術です。SSEを使用すると、サーバーからクライアントに対してリアルタイムでデータを送信できます。WebSocketとは異なり、SSEはHTTPプロトコルを使用し、ブラウザでのサポートが広範です。このガイドでは、PHPを使用してサーバー側を実装し、JavaScriptを使用してクライアント側でSSEを受信する方法を説明します。

## サーバー側(PHP)の実装

まず、PHPスクリプトを作成して、SSEストリームを生成します。以下は、サーバー側のPHPコード例です。

### `sse.php`

“`php

元記事を表示

趣味マッチングアプリの作り方(Laravel)

## Laravel、Tailwind CSS、AIを使って

今回は、Laravel、Tailwind CSS、AIを使って趣味マッチングアプリを作る方法をご紹介します。

このアプリでは、ユーザーがログインし、AIが同じ趣味を持つ近いユーザーをマッチングし、WhatsApp風のチャット機能を提供します。

## 1. プロジェクトのセットアップ

まず、Laravelプロジェクトを作成し、Tailwind CSSをインストールします。

“`bash
composer create-project laravel/laravel hobby-matching-app
cd hobby-matching-app
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
npx tailwindcss init -p
“`

`tailwind.config.js`を編集します:

“`javascript
module.exports = {
content: [
‘./resource

元記事を表示

PHP、インターネットのお気に入りのスケープゴート

いつから始まったのかはわかりませんが、ますます多くのプログラマーがPHPからGo、Java、Pythonに移行しています。もちろん、これらの間でも移行はありますが、PHPに戻る人はほとんど見かけません。この現象を考えてみると、PHPは確かに完璧なスケープゴートであることに気づきました。ロゴが象だからかもしれません。象は重荷を運ぶのが得意ですからね。

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dlt9tyndmpgunsfs7srb.png)

### システムの問題?PHPのせい

システムがオンラインで常に問題を抱えているとき、それはPHPのせいです。ポストモーテムが必要になり、誰かが責任を取らなければならないとき、それは自分たちの無能のせいではないでしょう。だから、PHPのせいにしましょう。結局のところ、PHPは反論しません。PHPが動的言語であり、制約が緩いために見逃されがちな落とし穴が多いと非難されます。リファクタリングが必要です。

最初にコードを書いたのと同

元記事を表示

ローカルのデータベースを使ってUnityのログイン認証を作った話

# はじめに
Qiitaを書くのは学生時代の時以来ですね。
今回はIT企業に入社し、データベースとサーバー関連の技術を身に着けたので、それをUnityのログイン認証として実装してみたお話です。
データベースを運用する上でのお話なので、その他のものでデータベースを使用したい という際にもご活用いただけるかと思います。

一応ですがこの記事はまだ触って歴も浅い自分が学んだことを記す目的の意味合いが強いので、間違っているところもあるかと思います。
ご了承ください。

GitHubURL
https://github.com/komugikoShimizu/UnityLoginDemo

# 使用する環境
Unity(多分バージョンは何でもいいはず)
XAMPP
・普段Unityばかり触っていて知らないよ という方は下記からダウンロードできます。
https://www.apachefriends.org/jp/index.html

言語
C#(Unity)
PHP(クエリ書き込み用)

### XAMPPについて軽くご説明
XMAPPはMySQLとApacheを内包した便利なパッケージです

元記事を表示

LineメッセージAPIの雛形

# LineメッセージAPIの雛形を作りました.
メッセージAPIのプッシュのみに対応しており、アクセストークンなどや送信先のuserIdは事前に発行してください.
対応したメッセージは下記になります.
– テキストメッセージ
– スタンプメッセージ
– 画像メッセージ
– 動画メッセージ
– 音声メッセージ
– 位置情報メッセージ
イメージマップメッセージ
– テンプレートメッセージ
– Flex Message

### 所感
イメージマップメッセージは自分が使用するつもりがないので作っていないです.テキストメッセージで送るのも良いですが、やはりテンプレートが良い感じがしました.

### 参考したサイト

https://developers.line.biz/ja/reference/messaging-api/

### Github

https://github.com/taoka3/linePostMessage

“`php

元記事を表示

OTHERカテゴリの最新記事