のこのこ

名古屋在住の26歳男です。記憶の定着や万が一自分と同じところでつまづいた方の助けとなる…

のこのこ

名古屋在住の26歳男です。記憶の定着や万が一自分と同じところでつまづいた方の助けとなるために、学習しているプログラミングの知識を書いていきます。

最近の記事

cakephp3にSoftDeleteを実装する

1、アプリケーションのディレクトリにsoftdeleteのプライグインをインストールする composer require pgbi/cakephp3-soft-delete "~1.0" 2、bootstrap.phpにsoftdeleteプラグインの読み込みを記述する ※CakePHP 3.6 以降の記述方法\App\Application::addPlugin('SoftDelete');※CakePHP 3.5 以前の記述方法Plugin::load('Soft

    • cakephp3 bakeで作成されるファイルのカスタマイズ方法

      通常は以下のテンプレートファイルをもとにtableやentityファイルが作成されるので、これをコピペ、オーバーライトすればok(前記事の「bakeによって生成されるファイル場所のカスタマイズ」をやっていること前提) vendor/cakephp/bake/src/Templeta/Bake/Model/table.twig or entity.twg 1、「vendor/cakephp/bake/src/Templeta」内のフォルダを「App/src/Template

      • cakephp3 bakeによって生成されるファイル場所のカスタマイズ

        ●bakeによって生成されるmodelの出力場所を指定する(Taskのカスタマイズ) 1、src\Shellフォルダ直下にTaskフォルダを作成し、Bake\Shell\Task\ModelTaskを継承するTaskカスタマイズ用のファイルを作る(ここではExtModelTask.phpとする) 2、tableとentityの出力場所はbakeEntityメソッドとbakeTableメソッドなので、ここを修正する(修正箇所や修正内容は以下参照) <?php/*** Ca

        • cake リンクの書き方

          <?= $this->Html->link('複数キットを申込む', ['url' => 'https://pcr.nishitanclinic.jp/info/20210427.php%EF%BC%89'], ['class' => 'order-button btn bg-grey align-middle mt-4', 'id' => 'kit-order-btn']) ?><!-- url指定の場合は第二引数に指定する --><!-- 新規タブでページを開かせたい場合

        cakephp3にSoftDeleteを実装する

          cake findでクエリの共通化を行う

          クエリーの共通化をmodel/table内で行い、controllerでそれを使用することができる // model/table/PcrExamkitsTable.phppublic function findWaitingExamOrderingQuantity(\Cake\ORM\Query $query, array $options){ return $query->where([ 'PcrExamKits.pcr_exam_status_id' =

          cake findでクエリの共通化を行う

          cake よく使うクエリ発行の記述

          コントローラーの最初にinitializeアクションで当該コントローローラーで使用するテーブルのインスタンスを作成しておく public function initialize() { parent::initialize(); $this->DiagnosisMenuInterviews = TableRegistry::get('DiagnosisMenuInterviews'); $this->DiagnosisMenuInte

          cake よく使うクエリ発行の記述

          cake dd();を使用できないシチュエーションでのデバッグ方法

          use Cake\Log\Log;$this->log($diagnosisMenuInterviewResultData);

          cake dd();を使用できないシチュエーションでのデバッグ方法

          cake formタグ内に手動でcsrfトークンを埋め込む記述

          input type="hidden" name="_csrfToken" value="<?= $this->request->getParam('_csrfToken') ?>">

          cake formタグ内に手動でcsrfトークンを埋め込む記述

          cake ミドルウェアの作成

          srcフォルダ直下にMiddlewareフォルダを作成 Middlewareフォルダにphpファイルを作成「SampleMiddleware.php」 作成したMiddlewareを/src/Application.phpに登録する   ->use SampleMiddleware;   ->add等でmiddlewareを登録 Middleware作成の参考記事「https://yourmystar-engineer.hatenablog.jp/entry/201

          cake ミドルウェアの作成

          cake サーバー変数を扱う

          dd($this->request->getServerParams()); //全てのserver変数を取得するdd($this->request->env('HTTP_HOST')); //URLのhost部分を取得する

          cake サーバー変数を扱う

          http動詞 putとpatchの違い

          put、、、データが存在しているかどうかわからないときに使用。データが存在しているときは更新をし、データが存在しない場合は新規作成を行う patch、、、データがすでに存在しているものに対して更新をかける処理

          http動詞 putとpatchの違い

          cake 基本的なDB更新の書き方

          if ($this->request->is(['post', 'put'])) { $this->Articles->patchEntity($article, $this->request->getData()); }

          cake 基本的なDB更新の書き方

          cake コントローラー内でredirectの書き方

          コントローラーのアクションの最後に下記を記述する return $this->redirect( ['controller' => 'Orders', 'action' => 'confirm'] );また、リダイレクト先の指定は絶対パスでも可能 return $this->redirect('/orders/thanks'); return $this->redirect('http://www.example.com');またリダイレクト先にデ

          cake コントローラー内でredirectの書き方

          laravel プロジェクトをバージョン指定して新規作成

          以下のコマンドを作成したいフォルダで実行 composer create-project "laravel/laravel=7.*" プロジェクト名

          laravel プロジェクトをバージョン指定して新規作成

          laravelにおけるsessionの保存場所の比較

          laravelにおいてsessionの保存場所は主に4種類 file(デフォルト) デフォルトで設定されており、アプリケーションサーバーの「storage/framework/sessions」に保存されている アプリケーションサーバーに依存するため、複数のサーバーを立てて運用するサービスの場合は利用できない 一回のsessionにつき一つのファイルが生成されるのでファイルシステムの負担大 cookie クライアント側のcookieに全てを保存

          laravelにおけるsessionの保存場所の比較

          laravel sessionの基本的な使い方

          laravelnにおいてsessionデータを扱う記述方法はいくつかあるがここではオーソドックスなファサードを使用する use Session; <!-- sessionに保存する(put) --> Session::put(compact('pagetitle', 'content')); <!-- sessionに保存してある'pagetitle'の項目を取得する --> Session::get('pagetitle') <!-- sessionに保存してある'c

          laravel sessionの基本的な使い方