- 0.0.1. JSONが正しい文法なのにJSON.parseできない
- 0.0.2. Sodium がなくて Laravel Passport のデプロイに失敗した
- 0.0.3. 【Docker・Laravel】シンボリックリンクしたのに画像が表示されない。パスも合っているのに。
- 0.0.4. CakePHP4でajaxが403になる件
- 0.0.5. laravel学んで2か月で自サービスを開発した話 Part4
- 0.0.6. 駆け出しエンジニアの初開発と環境構築
- 0.0.7. PHP returnで戻り値を返す
- 0.0.8. 【WordPress独自関数】「JSON-LD」形式の構造化データ「Article」を実装する関数
- 0.0.9. 【WordPress独自関数】構造化データ「パンくずリスト」を「JSON-LD」形式で実装する関数
- 0.0.10. PHPにて、GoogleSpreadSheetApiでの操作方法
- 0.0.11. 【Docker】artisan storage:link で作成したらフォルダではなくファイルになってしまう時。
- 0.0.12. 【WordPress】前後記事のさらに前後記事データを取得して出し分けをする方法
- 0.0.13. laravel学んで2か月で自サービスを開発した話 Part3
- 0.0.14. 11: 演算子
- 1. 演算子
JSONが正しい文法なのにJSON.parseできない
JSONの文法と、PHPの文法(今回あまり関係ない)と、JavaScriptの文法と、HTMLの文法とでごちゃごちゃに怒られたのでどの部分が明確な原因かわかっていないけど順番にメモする。
## はじめに
APIから吐き出されたJSONをPHPで取得し、それをJavaScriptで加工・処理してHTML上に表示するという組込み作業の過程で、文法チェッカーなどでもJSONの構造に問題はなさそうなのに、JSON.parseがエラーになる。
https://qiita.com/nc30mtd/items/8fbdda2be3601585f08e
検索すると上のような記事が出る。console.logに表示されないが特殊文字がエラーの原因になってるよという話。
上記のコードで対策してみたがそうするとJSON内の改行コードも漏れなく消え失せてしまったので、ちょっと本意でない。HTML上で表示する観点から改行コードには消えてもらうのではなく、最終的に改行タグになってもらう必要がある。別の方法を考える。
(いま思うと二つ目のメソッドから書き始めたせいかもしれない。なんでそんなことしたんだろう)
Sodium がなくて Laravel Passport のデプロイに失敗した
ローカル環境で、Laravel Passportを追加したプロジェクトをレンタルサーバー(Xserver)へデプロイした際、
「ext-sodium がない」と composerに怒られたので、その解決策をまとめておきます。# 今回の環境
– PHP 7.4
– Composer 2.0
– Laravel 8# 起こったこと
Xserverで、`composer install`しようとしたら落ちました。
`laravel/passport`は、`lcobucci/jwt`に依存しており、
`lcobucci/jwt`をインストールできず、失敗してしまったようです。※ こんな感じ↓
“`
lcobucci/jwt 4.1.5 requires ext-sodium * -> it is missing from your system. Install or enable PHP’s sodium extension.
“`sodium を入れるには、管理者権限が必要なため、
レンタルサーバー(Xserver)から乗り換えが必要か…?と、思ってい
【Docker・Laravel】シンボリックリンクしたのに画像が表示されない。パスも合っているのに。
### エラー内容
以下のように、 __画像が表示されない__ というエラーが発生していました。
laravelでの画像アップロード機能は、こちらの記事を参考にしていました。
https://note.com/laravelstudy/n/n038bd68f53a7
全てやり方通りに行ったのにも関わらずに、謎の表示されないエラー。
正直、6時間くらいはエラーにハマっていました。### 試したこと
大体、「Laravel 画像 表示されない」などで検索すると
解決方法として出てくるのが①シンボリックリンクができていない
②画像がDBに保存されていない
③画像のパスが間違っているこの3つでした。
:::note alert
この3つは全てクリアできているのにも関わらず、エラーが出る
CakePHP4でajaxが403になる件
## 問題
CakePHP4でajaxすると403になる。
## 原因
「config/routes.php」に全体のCSRFチェックの処理がデフォルトで入っているため、
フォーム以外からのPOSTはエラーになる。## 対策1
以下を参照
## 対策2
最初は対策1をとっていたが、トークンを送信する形にしてみた。
“`html:html
laravel学んで2か月で自サービスを開発した話 Part4みなさん、こんにちは。
見切り発車で開発記録を載せていますが、part20超えそうな気がしてきます今までの開発記録はこちらへ
胡蝶蘭を捨てるくらいならワイが欲しいので、サービス開発する編
公式ドキュメントの言う通り、パッケージをインストールされたら、Inertia.jsが導入されて???になった編
マルチログインを作ってみた編## 管理者機能を作ります!
### 現在の開発状況

エンジニアとしてスタートを切ったばかりの駆け出しが、初開発を終えての備忘録と、今後駆け出すエンジニアの役に立てたらなと思い、記事を投稿します。
まだまだ知識が少ないので、間違いも沢山あると思います。
この記事を読んでくださる方からアドバイス等たくさん頂けると嬉しいです。### 開発環境
・Eclipse
・CodeIgniter3
・MySQL
・GitHub
・Bootstrap4初開発ではECサイトを作成しました。
CodeIgniterはPHPの、Bootstrapはフロントサイドのフレームワークです。
DBはMySQLを使用し、Eclipseで開発を行いました。今回はCodeIgniterのインポート方法です。
以前はJavaとSpringを使用して学習していました。SpringはJava用のフレームワークで、Eclipseに元々入っていたので、画面左上のファイルからSpringのプロジェクトを作成できました。しかし、CodeIgniterはEclipseに入っていません。どうすればいいのか迷ったので、その
PHP returnで戻り値を返す
returnによって返される戻り値について下記の点を常に意識できるように備忘録として。
**returnが出来ること:** 処理結果を関数に戻すことができる。
これによりreturnによって返された関数の処理結果を使いまわすことができる。(変数に代入して他の関数の引数として使う等。)**returnがされた時に起こること:** 関数の処理はreturnがされた時点で終了する。
例えば下記のような関数function convert()ではreturn①の時点でこの関数の処理は終了となるため、return②は発生しない。(ダブらない。)
“`php
【WordPress独自関数】「JSON-LD」形式の構造化データ「Article」を実装する関数
SEO対策にもなる「JSON-LD」形式の構造化データ「Article」をWordPressに実装する方法を紹介します。
プラグインを使用すればインストールして管理画面から設定するだけで設置することも出来ますが、今回はプラグインを使わない方法を紹介したいと思います。## 「JSON-LD」形式の構造化データ「Article」の記述方法
今回は「JSON-LD」形式の構造化データ「Article」の作成方法を紹介します。
“`
↑を見て、『あー、できるかもなー』と思ったのでやってみました。
## --printerオプションで出力をカスタマイズできる
PHPUnitには`--printer`オプションがあります。[ドキュメント](https://phpunit.readthedocs.io/ja/latest/textui.html?highlight=printer#textui-clioptions)には
```
結果を表示するために使うプリンタクラスを指定します。このプリンタクラスは PHPUnit\Util\Printer を継承し、
かつPHPUnit\Framework\TestListener インターフェイスを実装したものでなければなりません。
```と記載があります。独自のプリンタークラスを作ればいけそうです。ソースを追っていくとデフォルトでは、`PHPUnit\TextUI\DefaultResultPrinter`というクラスを使
【Declined】PHP8に入ることのできなかった機能たち
PHP8では大量の[RFCが](https://qiita.com/rana_kualu/items/a6601b49e0591eb42200)[受理され](https://qiita.com/rana_kualu/items/fe7998fbe773544d5d25)、多くの文法の拡充が行われました。
光あるなら陰もまたあり、すなわち華々しく活躍するRFCの傍らには、却下され消えゆくRFCもまた存在するということです。ということでPHP8に入り込むことを目指したものの[却下されたRFC](https://wiki.php.net/rfc#declined)を見てみることにしましょう。
採用されたRFCと却下されたRFCを見比べることで、PHPの今後の方向性とかがわかるかもしれませんよ。# Declined RFC
## [Dump results of expressions in `php -a`](https://wiki.php.net/rfc/readline_interactive_shell_result_function)
賛成11、反対6で却下。
`
【Laravel】「email」のバリデーションルールの注意
# 初めに
Laravelではデフォルトで様々な[バリデーションルール](https://readouble.com/laravel/8.x/ja/validation.html)を準備してくれており、生PHPと比べてかなり簡単にバリデーションを設定することができます。
しかし、デフォルトのものには実は注意が必要と言う事をお話しして行きます。その中で、今回は **『email』のバリデーションルール**について紹介します。
# 問題点
デフォルトでは、emailの形式`ユーザー名(メールアカウント)@ドメイン名`でなければバリデーションエラーを出力してくれます。```App\Http\Controllers\Auth\RegisterController.php
return Validator::make(
$data,
[
'name' => ['required', 'string', 'max:255'],
'email' => ['required', '
Magentoのセキュリティは、サニタイズの脆弱性を修正するための追加パッチが必要です
本記事は2022年2月24日に@developersteveが公開した英語ブログ[Magento security requires additional patch to fix sanitization vulnerability](https://snyk.io/blog/magento-vulnerability-cve-2022-24087-sanitization/)を日本語化した内容です。
なお本ブログは、[CVE-2022-24086 Magento Ecommerce を使用しているウェブサイトに対する脆弱性警告](https://qiita.com/SnykSec/items/8fdecb03fe0f8fe275cf)で発表した内容から更新されている情報について記載しています。
[](htt
[PHP]PHPUnitのassertSeeをリダイレクト先でも行いたい。
# きっかけ
laravelにてfeatureテストを記述していたときに、post処理後のリダイレクト先でフラッシュメッセージをassertSeeしたくなった。## assertSee について
レスポンス内に指定の文字列があるかを確認してくれる。
基本的なアサートの一つ。
```php
public function test_テキストチェック()
{
$response = $this->get('user');
// /user に "user一覧" と記述されていればテストが通る
$response->assertStatus(200)->assertSee('user一覧');
}
```
この他にも、文字列を順番に記述されているかを確認してくれる「assertSeeInOrder」など、便利なものがいくつか存在します。
詳しくは、下記をご覧ください。https://readouble.com/laravel/6.x/ja/http-tests.html#assert-see
## 問題
便利なassertSeeですが、下記のような記述ではリダイレクト