- 0.0.1. [Laravel] グループ化したURLでバリデーションが通らなかった
- 0.0.2. Insomnia入門:環境変数の使い方
- 0.0.3. PHPでpreg_replaceのエラーが出て動かない
- 0.0.4. [PHP]オブジェクト指向でさっそく躓いたって話。
- 0.0.5. AI機能を付けたSNSを開発してみました!
- 0.0.6. Webサーバ上で生成した画像データをWebクライアントに出力する
- 0.0.7. 【Laravel】テーブル変更(カラム追加)
- 0.0.8. 【Laravel】テーブル作成#1
- 0.0.9. 名前空間(namespace)とuseの違いを、例えを用いて初心者にも分かりやすく
- 0.0.10. 【CakePHP】登録フォームからデータベースに登録する方法
- 0.0.11. CakePHPでCSRF対策したフォームを送信する方法
- 1. ログインフォーム
- 1.0.1. RockyLinux9.4におけるPHPの開発環境構築
- 1.0.2. 指定日に記事を削除するWPのプラグインの雛形.
- 1.0.3. PHPStorm日本語化の手順が変わってた 2024.2
- 1.0.4. Docker の PHP で DBをインポートするときに upload limit of 2048KiB を解決する方法
- 1.0.5. DockerでPHPのLaravel環境作り直し
- 1.0.6. DockerイメージPHP/ PHP-FPMについて振り返り
- 1.0.7. コーディング初心者が知っておくべき基本テクニック
- 1.0.8. PHPでcsvファイルのすべての値にダブルクォーテーションをつける
[Laravel] グループ化したURLでバリデーションが通らなかった
# なぜ?
これだと通らなかった
“`php
Route::group([‘prefix’ => ‘{id}’]function() {
Route::get(‘/’, [TestController::class, ‘index’])->name(‘index’);
Route::get(‘/detail’, [TestController::class, ‘details’])->name(‘detail’);
})->whereNumber(‘id’);
“`こいつはいけたけど、いちいち`->whereNumber(‘id’)`をつけるんか?って話
“`php
Route::group([‘prefix’ => ‘{id}’]function() {
Route::get(‘/’, [TestController::class, ‘index’])->name(‘index’)->whereNumber(‘id’);
Route::get(‘/detail’, [TestController::class, ‘detail’])->nam
Insomnia入門:環境変数の使い方
Insomniaは、API設計、デバッグ、自動テスト、負荷テストを行うための強力なツールです。
![Insomnia api.png](https://assets.echoapi.com/upload/user/216769532487155712/log/8d668166-732d-4b65-bf75-10e00aba24bf.png “Insomnia api.png”)
Insomniaは、開発、プロダクション、サンドボックス、モックサーバーなど、さまざまな目的で利用できる環境の概念をサポートしています。この記事では、Insomniaで環境変数を活用する方法について詳しく説明します。具体的には、OpenAPIドキュメントからインポートした値を含む「OpenAPI環境」の設定方法を例示します。
## ステップ1: 環境の選択
Insomniaを開くと、デフォルトでは「Base Environment」という環境が選択されています。これを「OpenAPI env」に変更するためには、ドロップダウンメニューをクリックして「OpenAPI env」を選択します。これにより、インポ
PHPでpreg_replaceのエラーが出て動かない
PHPをアップデートしたら以下のエラーがでるようになって、Webアプリが動かなくなりました。
“`
preg_replace(): Compilation failed: unrecognised compile-time option bit(s) at offset 0
“`おかしいと思って調べたら、libpcreの問題らしいことが分かりました。
ChromebookのLinux環境だったので、以下のようにライブラリをアップデートしたら直りました。
“`sh
sudo apt install libpcre2-8-0
sudo apt install libpcre2-16-0
“`### 参考
https://let.blog.jp/article/31724231
https://stackoverflow.com/questions/70040287/php7-4-
preg-replace-compilation-failed-unrecognised-compile-time-option-bi
[PHP]オブジェクト指向でさっそく躓いたって話。
# オブジェクト指向とは
細かい話は先人が山ほど解説しているのでここでは、
プログラムを「オブジェクト」と呼ばれる細かいパーツに分けて組み立てていくよ、という考え方とだけ。
#### $this を付け忘れてエラーが多発
学び始めてからすぐに、`$this`というものに悩まされました。コードを書いていると、よくエラーが出てしまい、原因を探してみるとどうやら`$this`を付け忘れていたのが原因でした。
###### よく陥った悪い例
最初こんな感じでコードを書いていました。
“`php
class OmochaBox {
private $omochas = [];public function addOmocha($omochaname) {
// おもちゃを追加するメソッド
$omochas[] = $omochaname; // これが間違い
}
}
“`
これだとエラーが出るか、もしくは欲しい実行結果にならないか。
###### 正しいコード
“`php
class OmochaBox {
private
AI機能を付けたSNSを開発してみました!
このSNSでは、**AI**と共に言葉を交わしながら、皆で会話を楽しむことができます。AIが会話に参加することで、より深く、質の高いコミュニケーションを体験していただけます。
—
ぜひご参加ください!
**[新しいSNS Avis](https://avis.city/)**—
## 特徴
– **ユーザー登録不要**:すぐに誰でも利用可能!
– **AIと共に楽しむ会話**:人間同士の会話にAIの分析、回答、解説を織り交ぜることで、深みのあるコミュニケーションが可能。
– **リアルタイム反応**:AIがコメントに反応するまで、少し時間がかかりますが(約5分)、その分、深い分析をしてくれます。—
## 使い方
1. **コミュニティ作成**
コミュニティを作成すると、**自動的にAI分析**がONになります。2. **コメント投稿**
投稿時、AI分析の**ON/OFF**を自由に切り替えることができます。—
## 今後の展開
現在は**簡単な構造**にしていますが、機能は随時追加中です。
皆さんのフィードバ
Webサーバ上で生成した画像データをWebクライアントに出力する
# 概要
Webサーバ上で画像を動的に生成し、Webブラウザ等のクライアントに表示させたりダウンロードさせたりしたいことがあります。
本稿ではその手順についてPerl, PHPでのサンプルコードを紹介します。# 前提
## 画像データの生成方法について
本稿では、簡略化のため、画像データについてはファイルから読み込んでそのまま出力することとします。
GDライブラリを使用した画像データの生成方法については別途説明したいと思います。# サンプルコード
## 基本的な流れ
1. 画像データを生成する
ここでは、スクリプトと同じディレクトリのsample.pngという名前の画像ファイルを読み込むようにします。
1. HTTPヘッダを出力する
Content-TypeヘッダでPNG形式を指定し、Content-Dispositionヘッダで出力するファイル名を指定します。(後者は必須ではありません。)
Perl版ではロジックの関係上画像ファイルの長さを取得できるので、Content-Lengthヘッダをサボらずに出力しています。
1. 画像データを出力するPHP, Perlの順にコー
【Laravel】テーブル変更(カラム追加)
運用中のテーブルに対し、
カラムを追加する際の流れについて説明します
## マイグレーションファイルの作成
下記コマンドで、マイグレーションファイルを作成します
~~~
php artisan make:migrattion add_new_column_to_books_table –table=books
~~~
コマンド内容は、
`php artisan make:migration` `ファイル名` `–table=テーブル名`
これで __database/migrations__ の中に __作成日時_ファイル名.php__ が作成されます
## マイグレーションファイルの編集
database/migrations の中に作成されているので編集します
~~~database/migrations/2024_10_20_000000_add_new_column_to_books_table.php
【Laravel】テーブル作成#1
## マイグレーションファイルの作成
下記コマンドで、マイグレーションファイルを作成します
~~~
php artisan make:migrattion create_books_table –create=books
~~~
コマンド内容は、
`php artisan make:migration` `ファイル名` `–create=テーブル名`
これで __database/migrations__ の中に __作成日時_create_books_table.php__ が作成されます
## マイグレーションファイルの編集
database/migrations の中に作成されているので編集します
~~~database/migrations/2024_10_20_000000_create_books_table.php
名前空間(namespace)とuseの違いを、例えを用いて初心者にも分かりやすく
名前空間(namespace)とuseの違いを、図書館と本の例えを使って説明します。
### 名前空間(namespace)は図書館のセクション
想像してみてください。大きな図書館があって、その中にはたくさんのセクションがあります。それぞれのセクションには異なる種類の本が並んでいます。* 名前空間はそのセクションの名前:
たとえば、図書館に「科学」セクションと「歴史」セクションがあるとします。これらのセクション名は、名前空間に相当します。科学の本は科学セクション、歴史の本は歴史セクションにあります。
* 目的:
「同じタイトルだけど内容が異なる本」(たとえば「地球の成り立ち」というタイトルの科学用の本と歴史用の本)が名前の衝突をしないようにするためです。それぞれの本はセクション名(名前空間)を持つことで、それがどの領域に属しているのかを明確に区別できます。PHPでの例
~~~PHPnamespace Science;
class Earth {
// 科学セクションに関連したクラス
}namespace History;
class Earth {
【CakePHP】登録フォームからデータベースに登録する方法
# 対象の読者
CakePHPで登録フォームからデータベースに登録する方法を知りたい方# 検証環境
■Windows11
■CakePHP(version 4.5.7)# TableRegistry(ORMクラス)を使うと便利
TableRegistryクラスとは、テーブルを作るための様々な依存関係を提供します。
今回だと、TableRegistryクラスを使って、①エンティティの作成と②save()メソッドを使って登録できるといった
恩恵を受けられます。(CakePHPのTableRegiostryに関する公式情報はこちら↓)https://book.cakephp.org/3/ja/orm/table-objects.html
早速ですが、TableRegistryクラスを使ったケースを見てみましょう。
【処理の流れ】
①RegisterController.phpの名前空間の下に、TableRegistryをインポートしておく。
“`RegisterController.php
CakePHPでCSRF対策したフォームを送信する方法
# 対象の読者
CakePHPでフォーム画面の内容をサーバに送信する際、CSRF対策をしてなかったために、エラーが出て悩んでる方向けの記事です。# 検証環境
■Windows11
■CakePHP(version 4.5.7)# CSRF対策とは?
:::note warn
CakePHPとLaravelではCSRF対策をしているForm以外はサーバに送信できません!!:::
クロスサイトリクエストフォージェリ(CSRF)とは、Webアプリケの「セッション管理」機能に対して、セキュリティ上の欠陥をピンポイントで狙ったサイバー攻撃の一種です。
このような攻撃からwebアプリケーションを防御するにあたって、CakePHPやLaravelではCSRF対策の技術が搭載されています。
今回は、CakePHPのアプリにおけるフォーム画面のCSRF対策の記述方法を見ていきましょう。
# 書き方はとてもカンタンです!
【CakePHPで検証】
# 対象の読者
フォーム画面の作成について、少し悩んでいるフロントエンジニアの方。# 検証環境
■Windows11
■CakePHP(version 4.5.7)# 記事を作成したきっかけ
タグにId属性を付ける。
②
OTHERカテゴリの最新記事
-
- 2024.11.12
iOS関連のことを調べてみた
-
- 2024.11.12
JAVA関連のことを調べてみた
-
- 2024.11.12
JavaScript関連のことを調べてみた
-
- 2024.11.12
Rails関連のことを調べてみた
-
- 2024.11.12
Lambda関連のことを調べてみた
-
- 2024.11.12
Python関連のことを調べてみた