これはメモです

それ以上でもそれ以下でもないのです

2022-01-01から1年間の記事一覧

PHP シングルクォーテーションとダブルクォーテーションの違いにハマる

PHP

悔しいので備忘としてメモ。 以下のような文字列の改行をhtmlの<br>に変換したくnl2br()を使用したものの、 もともとあった改行が削除されない。 などで入力されたテキストとお考えください $text = <<<EOL あいうえお かきくけこ EOL; var_dump(nl2br($text, false)); 出力 string(35) "あいうえお<br> かきくけこ" これではhtmlとして表示された際に余分なスペ</eol>…

$wp_queryをブラウザコンソールに出力して簡易デバッグを行う

WordPressのデバッグに便利な'query monitor'というプラグインがある。 ja.wordpress.org 有用なのだが、ブラウザの開発者ツールと合わせて開くと画面を占領してしまうという難点がある。 また、知りたい情報に対して情報量が多すぎると感じる場面が多い。 …

PHP URLをいい感じに分解する

WordPressで、月別アーカイブのパーマリンクを下記のように書き換えたいケースに遭遇した。 // これを https://example.com/2022/11/?post_type=cpt // こう書き換えたい https://example.com/cpt/date/2022/11/ 「URLは'/'で区切られてるからそれでexplode(…

MAMP環境でMySQLのパスを通す

ほぼ参考サイトと同じですが、メモ。 手順 ルートディレクトリに移動 .bash_profileの作成、パス書き込み パスの反映 パスが通っているかテスト 1. ルートディレクトリに移動 cdだけ入力するとルートに移動。 cd 2. .bash_profileの作成、パス書き込み viで.…

PHP FETCH_ASSOCのASSOC is 何

PHP

ASSOCは連想配列のこと。 連想配列は英語で'associative array'。DBの値を連想配列としてfetchするための指定。 参考 連想配列 - Wikipedia

MySQLでデータベースを作成する

環境 M1 Mac MAMP MySQL 5.7.34 1. データベース作成 instrumentsという名前のDBがなければ作成する。(ある場合は何もしない) 文字コードはutf8mb4、照合順序はutf8mb4_general_ciに設定する。 CREATE DATABASE IF NOT EXISTS instruments CHARACTER SET u…

npmでモジュールをdevDependenciesからdependenciesに変更する

npm

インストールし直す方法しか知らず面倒だったので調べました。 devDependenciesからdependenciesに npm i <module_name> -P npm i <module_name> --save-prod 「productに使用するのでP」と考えると覚えやすい。 dependenciesからdevDependenciesに npm i <module_name> -D npm i <module_name> --save-dev 環境構</module_name></module_name></module_name></module_name>…

ESLint Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser. エラー

ViteでTypeScript + React + ESlint(airbnb) の環境構築をしている際に遭遇したエラー。 環境 M1 mac Monterey 12.4 node v16.13.0 npm 8.1.0 VSCode エラー内容 .eslintrc.jsおよびvite.config.tsで下記エラーが出る。 Parsing error: "parserOptions.proje…

ESLint Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser. エラー

ViteでTypeScript + React + ESlint(airbnb) の環境構築をしている際に遭遇したエラー。 環境 M1 mac Monterey 12.4 node v16.13.0 npm 8.1.0 VSCode エラー内容 .eslintrc.jsおよびvite.config.tsで下記エラーが出る。 Parsing error: "parserOptions.proje…

ESLintの"JSX not allowed in files with extension '.tsx'"エラー

拡張子が'.tsx'のファイルではJSXは許可されないというエラー。 github.com .eslintrc*ファイル内のrulesに拡張子を追加することで解消できる。 rules: { + 'react/jsx-filename-extension': [ + 'error', + { extensions: ['.js', '.jsx', 'ts', 'tsx'] }, …

フロントエンドツールの公式サイトリンク集

公式を見ながらひとつひとつ設定していくのが最も理解が深まると思うのでメモ。 Vite ja.vitejs.dev ESLint eslint.org React フック用プラグイン https://ja.reactjs.org/docs/hooks-rules.html#eslint-plugin 'React' must be in scope when using JSX エ…

aria-expandedの紐付けについて

最近ハンバーガーメニューを実装する時などにaria-*属性を使用することがあり、下記のように記述していた。 <div class="hamburger"> <button type="button" aria-expanded="false" aria-controls="js_menu">ボタン</button> <div id="js_menu" aria-hidden="true"> </div> </div> 気を付ける部分として、 aria-expanded属性は開閉を制御する要素(つまりbutton)につける aria-contorls属性で…

tabindexの初期値について

divなどの通常フォーカスできない要素にJavaScriptでフォーカスを持たせる場合、tabindex="-1"を指定することがある。 ふと気になってtabindexのデフォルト値が何なのか調べてみた。 console.log(document.createElement('div').tabIndex); // -1 console.lo…

PHPで連想配列の値が空か判定する

PHP

ちょっと詰まったのでメモ。 $arrayとかisset()で判定できるのかなと思いきや出来なかった。 '', 'elm2' => [], ]; var_dump(!$array); // false var_dump(!isset($array)); // false 調べたところ、array_filter()の第二引数(コールバック関数)を省略す…

MAMPのMySQLでrootパスワードを再設定する

rootを「パスワード設定なし」にしたらエラーでMySQLに接続できなくなり再設定したのでメモ。 接続できません。設定が無効です。 mysqli::real_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) MySQL サーバに接…

create-react-app/TypeScriptの環境構築

create-react-appの環境構築を効率化するため、備忘としてメモ。 大岡由佳 著 りあクト!【I.言語・環境編】【II.React基礎編】第3.1版を参考に行った。 こちらの書籍ではパッケージマネージャーにyarnを使用しているが、普段npmを使用しているためnpmで作業…