記事一覧
cake リンクの書き方
<?= $this->Html->link('複数キットを申込む', ['url' => 'https://pcr.nishitanclinic.jp/info/20210427.php%EF%BC%89'], ['class' => 'order-button btn bg-grey align-m…
cakephp3にSoftDeleteを実装する
1、アプリケーションのディレクトリにsoftdeleteのプライグインをインストールする
composer require pgbi/cakephp3-soft-delete "~1.0"
2、bootstrap.phpにsoftdeleteプラグインの読み込みを記述する
※CakePHP 3.6 以降の記述方法\App\Application::addPlugin('SoftDelete'
cakephp3 bakeで作成されるファイルのカスタマイズ方法
通常は以下のテンプレートファイルをもとにtableやentityファイルが作成されるので、これをコピペ、オーバーライトすればok(前記事の「bakeによって生成されるファイル場所のカスタマイズ」をやっていること前提)
vendor/cakephp/bake/src/Templeta/Bake/Model/table.twig or entity.twg
1、「vendor/cakephp/ba
cakephp3 bakeによって生成されるファイル場所のカスタマイズ
●bakeによって生成されるmodelの出力場所を指定する(Taskのカスタマイズ)
1、src\Shellフォルダ直下にTaskフォルダを作成し、Bake\Shell\Task\ModelTaskを継承するTaskカスタマイズ用のファイルを作る(ここではExtModelTask.phpとする)
2、tableとentityの出力場所はbakeEntityメソッドとbakeTableメソッドな
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
もっとみるcake findでクエリの共通化を行う
クエリーの共通化をmodel/table内で行い、controllerでそれを使用することができる
// model/table/PcrExamkitsTable.phppublic function findWaitingExamOrderingQuantity(\Cake\ORM\Query $query, array $options){ return $query->where([
cake よく使うクエリ発行の記述
コントローラーの最初にinitializeアクションで当該コントローローラーで使用するテーブルのインスタンスを作成しておく
public function initialize() { parent::initialize(); $this->DiagnosisMenuInterviews = TableRegistry::get('DiagnosisMenuInte
cake dd();を使用できないシチュエーションでのデバッグ方法
use Cake\Log\Log;$this->log($diagnosisMenuInterviewResultData);
cake formタグ内に手動でcsrfトークンを埋め込む記述
input type="hidden" name="_csrfToken" value="<?= $this->request->getParam('_csrfToken') ?>">
cake ミドルウェアの作成
srcフォルダ直下にMiddlewareフォルダを作成
Middlewareフォルダにphpファイルを作成「SampleMiddleware.php」
作成したMiddlewareを/src/Application.phpに登録する
->use SampleMiddleware;
->add等でmiddlewareを登録
Middleware作成の参考記事「https://you
cake サーバー変数を扱う
dd($this->request->getServerParams()); //全てのserver変数を取得するdd($this->request->env('HTTP_HOST')); //URLのhost部分を取得する
http動詞 putとpatchの違い
put、、、データが存在しているかどうかわからないときに使用。データが存在しているときは更新をし、データが存在しない場合は新規作成を行う
patch、、、データがすでに存在しているものに対して更新をかける処理
cake 基本的なDB更新の書き方
if ($this->request->is(['post', 'put'])) { $this->Articles->patchEntity($article, $this->request->getData()); }
cake コントローラー内でredirectの書き方
コントローラーのアクションの最後に下記を記述する return $this->redirect( ['controller' => 'Orders', 'action' => 'confirm'] );また、リダイレクト先の指定は絶対パスでも可能 return $this->redirect('/orders/thanks'); return $this->redire
もっとみるlaravel プロジェクトをバージョン指定して新規作成
以下のコマンドを作成したいフォルダで実行
composer create-project "laravel/laravel=7.*" プロジェクト名
laravelにおけるsessionの保存場所の比較
laravelにおいてsessionの保存場所は主に4種類
file(デフォルト)
デフォルトで設定されており、アプリケーションサーバーの「storage/framework/sessions」に保存されている
アプリケーションサーバーに依存するため、複数のサーバーを立てて運用するサービスの場合は利用できない
一回のsessionにつき一つのファイルが生成されるのでファイルシ
laravel sessionの基本的な使い方
laravelnにおいてsessionデータを扱う記述方法はいくつかあるがここではオーソドックスなファサードを使用する
use Session;
<!-- sessionに保存する(put) --> Session::put(compact('pagetitle', 'content')); <!-- sessionに保存してある'pagetitle'の項目を取得する --> Session