- 1. PHP8の変更点まとめ
- 2. 【2024年最新】PHPの基礎
- 3. 夏の猛暑に備えてLINEBOTで水分補給リマインダーを作ろう
- 4. Laravel11になってapi.phpがなくなった!
- 5. ServBayで.user.iniを使用する方法
- 6. VSCode で Intelephense 利用時の FuelPHP の Core Library 参照エラー解決法
- 7. WordPress独自テーマファイルを対象にPHPUnitでテストしたい
- 8. Fly.io の「Laravel on Fly.io」ページに従ってデプロイの練習をやってみた
- 9. PHPで、XML経由でiCalを生成する
- 10. 【DAY12】PHPの基本文法
- 11. Dockerを活用したLAMP環境のセットアップガイド
- 12. PHPからMySQLのデータをAPIにして発行するレシピ
- 13. PHPでパスワードハッシュ化: `password_hash`関数の使い方
- 14. 2024年におすすめのMac開発ツール(超使いやすい)
- 15. FuelPHP のパフォーマンス確認方法
- 16. Laravel11/PHP8.3 環境で Chrome DevTool Protocol(CDP) 実装の Chrome PHP を使用して Web スクレイピングしてみた
- 17. 【PHP】スーパーグローバル変数$GLOBALS
- 18. PHPにおけるユーザ定義関数
- 19. 【PHP8.4】DateTimeの秒だけ0にしたいんじゃが
- 20. awsのec2サーバーを使用してクラウド上のデータベースからUnityに値を取得したお話
PHP8の変更点まとめ
## はじめに
PHP8とそれ以前の過去バージョンを比較して変更点をまとめました。PHPのアップデート対応をするときに参考になると思うので、ご活用ください。
## 1. コンストラクタの変更
PHP5以前のバージョンでは、クラス名と同じ名前のメソッドがコンストラクタとして使われていました。PHP7以降では、__construct メソッドがコンストラクタとして標準化されています。修正前:
“`php
class MyClass {
function MyClass() {
// コンストラクタの処理
}
}
“`修正後:
“`php
class MyClass {
function __construct() {
// コンストラクタの処理
}
}
“`## 2. mysql_* 関数の廃止
PHP7.0で mysql_* 関数は廃止され、代わりに mysqli_* または PDO(PHP Data Objects)が推奨されています。修正前:
“`php
$link = mysql_
【2024年最新】PHPの基礎
## はじめに
PHPはサーバーサイドで動作するスクリプト言語で、動的なWebページやアプリケーションの作成に広く使用されています。ここではPHPの基本的な文法と機能について説明します。
## 目次
* 基本構文
* 変数
* データ型
* 演算子
* 制御構造
* 関数
* 配列
* クラスとオブジェクト
* 例外処理
* ファイル操作
* スーパーグローバル変数## 基本構文
PHPスクリプトはで終わります。PHPタグはHTML内に埋め込むこともできます。“`php
“`## 変数
PHPの変数はドル記号$で始まります。変数名はアルファベットまたはアンダースコアで始まり、その後にアルファベット、数字、アンダースコアが続きます。“`php
“`## データ型
PHPにはいくつかのデータ型があります:文字列 (string)
整数 (int)
浮動小数点数 (f
夏の猛暑に備えてLINEBOTで水分補給リマインダーを作ろう
## はじめに
夏の猛暑が続く中、こまめな水分補給が大切です。今回は、PHPを使ってLINEBOTを作成し、定期的に水分補給を促すリマインダーを設定する方法をご紹介します。初心者でも簡単に実装できるシンプルなボットですので、ぜひ試してみてください。
—
## 1. LINE Developer Programの契約と設定
### 1.1 LINE Developerアカウントの作成
1. [LINE Developers](https://developers.line.biz/ja/) にアクセスし、LINEアカウントでログインします。
2. 「プロバイダーを作成」ボタンをクリックし、任意の名前を入力してプロバイダーを作成します。
3. プロバイダーを作成したら、「Messaging API」を選択し、チャネルを作成します。
4. チャネル名、説明、業種、メールアドレスなど必要な情報を入力し、「作成」ボタンをクリックします。### 1.2. チャネルの設定
1. チャネルシークレットとチャネルアクセストークンが発行されます。これらをメモしておきます。
2. 「Me
Laravel11になってapi.phpがなくなった!
# まずなんでapi.phpが無くなっちゃったの?
> 最新版のlaravelで立ち上げた際にapi.phpが無くなってしまったのでその時の対処法を書きます。Laravel11では、新しいデフォルトのアプリケーション構造が導入され、デフォルトのファイルが少なくなっています。つまり、新しいLaravelアプリケーションには、サービスプロバイダ、ミドルウェア、設定ファイルの数が少なくなっています。
しかし、Laravel10アプリケーションをLaravel11にアップグレードするときに、アプリケーション構造の移行を試みることはお勧めしません。Laravel11はLaravel10のアプリケーション構造もサポートするように注意深く調整してあります。とのことです。つまり構造が変化したためあまり使われることのなかったapi.phpが無くなったようです。
以下でより詳細な変更点を見ることができます。
https://readouble.com/laravel/11.x/ja/upgrade.html
# Laravel11のインストール方法
以下コマンドでLaravel11を立ち上げることが
ServBayで.user.iniを使用する方法
[ServBay](https://www.servbay.com)は、複数のPHPバージョンをサポートし、便利な設定管理機能を提供する強力な統合型[ウェブ開発ツール](https://support.servbay.com)です。特定のディレクトリやプロジェクトのPHP設定をカスタマイズする必要がある場合、.user.iniファイルを使用することで、グローバルなPHP設定ファイルを変更せずにカスタムPHP設定を適用できます。
## `.user.ini`の紹介
`.user.ini`ファイルはPHP 5.3.0以降のバージョンで導入された機能で、特定のディレクトリ内でカスタムPHP設定を定義できます。グローバルな`php.ini`ファイルとは異なり、`.user.ini`ファイルの設定はそのディレクトリとそのサブディレクトリにのみ適用されます。
### 主な特徴
**1. ローカル設定**: `.user.ini`ファイルの設定は、そのディレクトリとサブディレクトリにのみ適用され、グローバル設定には影響しません。
**2. 柔軟性**: 開発者は異なるプロジェクトやディレクト
VSCode で Intelephense 利用時の FuelPHP の Core Library 参照エラー解決法
# はじめに
VSCode などのエディタで PHP の LSP を提供してくれる Intelephense は、PHPで開発する人にとってなくてはならないツールです。
しかし、FuelPHP フレームワークを使って開発していると、FuelPHP の Core Library を利用している場所で参照エラーが発生し、とても不便な状態になります。そこで、今回はこの状態を解決する方法をお伝えします!
# 問題の背景
FuelPHP で Core Library を利用する場合にエラーが発生する原因は `Fuel\Core\ClassName` を `ClassName` で参照しているためです。
FuelPHP ではデフォルトで `Fuel\Core\ClassName` を `ClassName` として参照できるようにエイリアスが設定されていますが、このエイリアスが貼られているかどうかは動的に解析しない限りわかりません。
そのため、Intelephense はそのようなクラスが存在しないとして参照エラーを発生させます。# 解決策
この問題を解決するためには `fuel/
WordPress独自テーマファイルを対象にPHPUnitでテストしたい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426622/e6123a48-28c6-2ea8-8dd1-10a0fc89983f.png)
## ユニットテストについて
近年のプログラミングの現場ではユニットテストは当たり前のように求められ、コードのデプロイのサイクルにも取り入れられているものと思います。
これはプログラミング言語を問わず言えることでしょう。
## WordPressの場合はどうなのか
一方でWordPressを用いたWebサイト制作においては、ユニットテストの積極的にやっているケースは少ないように思います。
多くのWordpressサイト構築を引き継いできましたが、これまでの経験でテストコードが存在するようなものはありませんでした。これまで社内でWordPressサイトを構築する場合も[theme-test-data-ja](https://github.com/jawordpressorg/theme-test-data-ja)やE2Eテストのような
Fly.io の「Laravel on Fly.io」ページに従ってデプロイの練習をやってみた
### 前提
– [Fly.io](https://fly.io/)のページについては、2024年8月7日時点の構成で説明しています。
– 検証環境
– MacBook Pro(Intel)
– macOS Sonoma 14.5—
[Fly.io](https://fly.io/)のページにアクセスし、画面上部メニューのから「[Docs](https://fly.io/docs/)」をクリックします。
![スクリーンショット 2024-08-07 9.16.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093/36ed6739-5556-5ef5-5623-1df4fba37262.png)
—
検索フォームから「Laravel」と入力します。
![スクリーンショット 2024-08-07 9.17.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/23093
PHPで、XML経由でiCalを生成する
iCalをPHPで直に書き出そうとすると、PHPのソースコードが複雑化しやすいです。そこで、JSON経由またはXML経由で扱う方法を考えました。JSON経由ではJSONが複雑化するので、XML経由を採用しました。
“`
‘);// $vcalendar内に、XML要素を追加してゆく。
// 「BEGIN:」や「END:」で始まらないプロパティーは、当該要素の属性名にする。
// 「BEGIN:」や「END:」の後に来る文字列は、子XML要素のタグ名にする。function to_ical($xml){
echo’BEGIN:’.$xml->getName().”\n”;
foreach($xml->attributes()as$key=>$value){
echo$key.’:’.$value.”\n”;
}
foreach($xml->children()as$child){
to_ica
【DAY12】PHPの基本文法
## 変数・定数
「変数」とは、値を入れておく箱のようなものであり、主に数値や文字列等を使い回すときに使用します。変数には名前をつけることができ、他の人が見てもわかりやすい名前をつけることが重要です。
PHPでは、変数は「$」の後ろに「変数名」を記述することで作成します。そして、その変数に「=」記号を使って値を「代入」します。
“`php
“`変数は後で値を再代入することで中身の値を変更することができます。
値を変更する予定がないまたは後から変更してはいけない場合には、「定数」を使用します。
PHPでは、定数は「const」を使用して定義し、定数の名前は慣例的にすべて大文字にします。
“`php
“`## 配列・連想配列
プログラミングにおける配列とは、データ構造の一つであり、複数のデータを順番に並べた構造のことです。通常変数には一つの値しか入れることができませんが、配列を使用すれば複数宣言する必要がなく
Dockerを活用したLAMP環境のセットアップガイド
## 今からDockerをはじめたいあなたへ
Dockerを使用してLAMP(Linux, Apache, MySQL, PHP)スタックを構築することは、開発と本番環境の一貫性を保つための効果的な方法です。本記事では、Dockerを使用してLAMP環境をセットアップする手順を詳しく説明します。
### 必要なツールのインストール
まず、DockerとGitをインストールします。
“`bash
sudo apt update
sudo apt install docker.io docker-compose git -y
“`### リポジトリのクローン
次に、LAMP環境を構築するためのリポジトリをクローンします。
“`bash
git clone https://github.com/sprintcube/docker-compose-lamp.git
cd docker-compose-lamp/
cp sample.env .env
“`### `.env`ファイルの設定
`.env`ファイルを開き、必要な設定を行います。ここでは、PHPのバージョ
PHPからMySQLのデータをAPIにして発行するレシピ
PHPでデータベースの情報を元にAPIを発行するための基本的な流れは以下の通りです。ここでは、MySQLデータベースから情報を取得し、その情報をJSON形式で返すAPIを構築する例を示します。
## 1. データベース接続の設定
まず、データベースに接続するための設定を行います。config.php というファイルにデータベース接続情報を保存し、他のファイルから呼び出せるようにします。
“`PHP
// config.php
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PD
PHPでパスワードハッシュ化: `password_hash`関数の使い方
## `password_hash`関数の使い方
“`php
“`### 説明
– **$password**: これはハッシュ化したい元のパスワードです。ユーザーが入力したパスワードをこの変数に格納します。
– **PASSWORD_DEFAULT**: これはハッシュ化に使用するアルゴリズムを指定するための定数です。`PASSWORD_DEFAULT` を使用すると、現在のデフォルトアルゴリズムが適用されます。将来的にデフォルトアルゴリズムが変更された場合でも、この定数を使用することで最新の安全なアルゴリズムが適用されます。## `password_hash`関数の利点
### 1. 安全なハッシュ化
`password_hash` 関数はパスワードを安全にハッシュ化するために設計されています。ハッシュ化されたパス
2024年におすすめのMac開発ツール(超使いやすい)
仕事をうまくやるには、まず道具を磨かなければならないと言われています。有用なツールは私たちをより効率的にすることができ、美しいインタフェースは私たちを喜ばせることができます。そのため、使いやすく視覚的に魅力的な開発ツールは私たちの開発ツールです。
そこで今日は、2024年のMacに適した開発ツールをお勧めしたいと思います。それらはあなたにとって実用的で役に立つものです。
1.TablePlusTPはデータベース管理ツールであり、ここで記述されていますが、NaviCatを使用して可用性を高めることをお勧めします。Navicatは有料ですが、「ラーニング版」を選択することができます。私がTPを使ったのは、NavicatがすべてのTPをアンインストールするように会社に手紙を送ったからです。だから私はこの代替案を見つけて、それもとても良いです。
複数のデータベース接続をサポート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3853699/d9ffe216-0789-9852-db87-e9
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.最初