DMM英会話の教材が見づらいのでcsv形式に整形する

2021年12月29日 | カテゴリ: PHP | タグ: , , ,
DMM英会話では大半の教材がブラウザで表示できる形になっています。ですが教材ページのhtmlでの装飾が少し見づらいなと感じることがあります。このため、余計な情報を全部カットしてcsv形式に整形し直してみました。 ## 本記事の対象読者 この記事は...


例えば、以下のようなクラスがあって、`const MAX_ITEM_PER_USER = 200`として定義されている200の値を、PHPUnitによるテストのときだけ変更したい場合があります。 ```language-php class UserItem { const MAX_ITEM_PER_USER = 200; } ``` ...


Laravelでは文字列操作のためのヘルパクラスとして、Strクラス(Illuminate\Support\Str)が用意されています。 これのFluent版のメソッドを使うとメソッドチェーンで文字列を加工できるのでコードを簡潔に書くことができます。 ```language-php $str...


PHPにはphpcsというコードチェッカがあります。 実行することで問題があるコードをチェックでき、どのファイルに問題があるかが一目でわかります。 ```language-bash $ docker-compose exec app vendor/bin/phpcs ... FILE: /var/www/html/app/...


Laravelでcomposerを利用したクラスのオートロードがうまくいかない場合、下記のワンライナーでComposerが持っているクラスマップをダンプできます。 ```language-bash % ./artisan tinker Psy Shell v0.10.5 (PHP 7.3.11 — cli) by Justin Hileman ...


LaravelのFormValidatorでは、validationに失敗すると自動で遷移元のページにリダイレクトされます。 これは、通常の入力フォームでバリデーションを行う場合は、自動的にユーザに再入力を促せるので便利なのですが、この戻り先のページをカスタマイズ...


LaravelではMailクラスによってメール送信処理を簡単に作ることができます。 ローカル開発やPHPUnitでは、実際にメールを送信させるのではなくファイルに出力させるなど、メールの送信メソッドがコールされた時の振る舞いを差し替えたい場合があります...


LaravelでVue.jsを使用したSPAサイトを作成していて、Basic認証とjwtトークン認証の組み合わせが必要だったのでメモ。 ## 作ったもの Vue.jsによるhtmlと、WebAPIによる非同期データ取得によるサイト構築を行った。 - WebAPIエンドポイント ...


LaravelでWebAPIサーバを作成する時、クロスドメインアクセスを行うためにCORSの処理を作成する場合があります。技術検証などでどこからでもアクセスできるCORSの処理をてっとり作ることが何度か発生したので手順をメモしておきます。 ## middlewareを...


LaravelでCORS処理を行いたい場合、barryvdh/laravel-corsパッケージを使うと便利です。 ## 作業手順 ### パッケージのインストール ```language-bash composer require barryvdh/laravel-cors ``` ### middlewareの有効化 ```language...


Laravelで.envを書き換えた内容が反映されない時は、artisan config:clearする。cache:clearではクリアできないので注意。 ```language-php php artisan config:clear ``` ファイルを直接消す場合は以下のコマンドを実行する。 ```language-bas...


Laravel7が標準で用意しているAuthでログインした時で行われていることを確認する。 (何度も同じことを調べるので、調べた結果をメモしておく) ​ ​ ​ ## GET /login ​ ログイン画面が表示される。 id/passを入力してLoginボタンをクリックすると`P...


## 発生した事象 Laravel7 + Vue.jsの開発で、`npm run hot`を実行したところ、EADDRINUSE / ELIFECYCLEエラーが発生し、ビルドが出来なかった。 ```language-bash $ npm run hot > @ hot /.../project > cross-env NODE_ENV=development node_...


composer.jsonにdockerコマンドを書いておくことで、laravelのプロジェクトを(PHPのビルトインサーバではなく)php-fpmを使ってコマンド1つで起動させることができます。 ## 作業手順 まず`composer.json`に下記の行を追加します。 ```language-j...


DockerでPHP7.4のコンテナを使ってhello worldを出力する最低限のコードです。 php-fpmの設定などでハマって問題の切り分けが難しい時などに覚えておくと便利です。 ## プログラムを用意 ```language-bash mkdir -p src/public echo '


LaravelのEloquentでsum()やavg()の集計関数を使うと、結果が数字でなく文字列で返ってきます。 ```language-php $totalScore = UserScore::where('team_id', $teamId)->sum('get_point'); \Log::info(json_encode($totalScore)); // "10" (10では...


PHPにはユニットテストを行う仕組みとしてPHPUnitがあります。 PHPのパッケージphpunit-watcherを使うことで、プログラムのソースが変更(Ctrl-Sで保存)されるたびに自動でPHPUnitを実行させることができます。 ## インストール phpunit-watcherの...


Macでhomebrewを使ってphp7.3をインストールする

2019年10月29日 | カテゴリ: Mac, PHP | タグ:
macOSでhomebrewを使って、php7.3をインストールする方法です ## 作業手順 macに入っているphpのバージョンを確認します。手元の環境では7.1でした。 ```language-bash $ php -v PHP 7.1.19 (cli) (built: Aug 17 2018 18:03:17) ( NTS ) Copy...


Dockerfileの公式phpコンテナを使っていて、標準で入っていないextensionを追加したい時があります。 このような場合に備えて、公式コンテナではdocker-php-ext-installコマンドを用意してくれています。 以下のようにRUNコマンドを記述することで希...


PHPでクラスのコンストラクタは、引数がない場合はカッコを省略することができます。 ```language-php // どちらも書き方もOK $a = new SomeClass(); $a = new SomeClass; ``` どちらの書き方でも同じ動作をするのですが、どちらの表記法にした...


PHPでハッシュの配列(DBの検索結果など)を、特定のキーでグループかする方法です。 ## Laravelの場合 Laravelの場合はcollectオブジェクトにgroupBy()メソッドがあるため、これを利用できます。 ```language-php $collection = collect([ ...


Laravelでvue.jsを使用して、vuejs.orgの"はじめに"に書かれている"Hello Vue!"を表示させようとすると、下記のエラーが出ることがあります - 作成したhtmlの例 ```language-html {{ message }} ``` - エラーメッセージの例 ```langua...


複数のデータを扱うプログラムを作る時、各データ系列ごとに適切な色を割り当てて表示させたい場合があります。 PHPスクリプトからこのような事を行いたい場合、PHLAK/Colorizerパッケージが役に立ちます。 PHLAK/Colorizerパッケージでは、文字列を...


適当なファイルを作って、下記のphpスクリプトを実行すると、ファイルの内容がURLエンコードされます。 ```language-bash cat foo.txt | php -R 'echo(urlencode($argn).PHP_EOL); ``` phpコマンドのオプション'-R'は標準入力1行づつに対して指...


PHPのデプロイツールであるDeployerで、ターゲットのサーバへSSHログインするときのSSHキーファイルを指定する方法です。 ## inventory()でファイルを指定する場合 inventory()メソッドを使ってサーバの接続情報を管理7得る場合は、以下のように、iden...


今回は、前回作成したnginx + phpの環境にLaravelをインストールしてみます。 - [CentOS 7.5のf1-microインスタンスにnginx, php-fpm, php7.2環境を作る](https://akamist.com/blog/archives/3256) - [CentOS 7.5のf1-microインスタンスにswap領域を追...


PHPのfile_get_contents()では通常GETでリクエストを送信しますが、POSTでリクエストを投げたい場合があります。 このような場合はfile_get_contents()の第3引数を使えば良いです。 ```language-php


phpではPSR-12というコーディング規約があります。作成したphpプログラムがPSR-12の規約に合致しているかをチェックしたい場合、`phpcs`コマンドを使うと便利です。 この記事では、composerでグローバルインストールすることで、コマンドラインからphpc...


PHPでフォームに入力されたテキストを1行づつ処理させたい場合は、`str_replace()`と`explode()`関数を組み合わせると便利です ## サンプルプログラム 下記のプログラムは、GETパラメータで渡されたテキストを改行文字で区切って、1行づつ処理する...


[PHP]macにComposerをインストールする

2018年4月30日 | カテゴリ: composer
macOS上にcomposerをインストールするためには下記のコマンドを実行すれば良い。 ```language-bash php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09...