PHP,traitを多重にuseする. 今回はPHPにてtraitを多重にuseする方法についてまとめていきたいと思います. trait parentTrait { abstract public function B(); // Abstactも使える pu… Aoi Watanabeハック2020.03.31 660
cakePHP、migrationをbakeする。 以前にこちらでmigration fileをbakeする方法を記述しましたが、phpmyadminなどで、先にテーブル構造を変更してから、その差分を埋めるためのマイグレーションファイルを自動でbakeする事もできます。 … Aoi Watanabeハック2020.02.26 921
php、ジェネレータ構文でメモリを節約する。 ジェネレータ関数を使用すると、yieldが呼び出されるたびに値が生成され、反復処理の中でメモリを節約することができます。 function temperature_diff($temperature_infos){ //… Aoi Watanabeハック2020.02.17 1,652
CakePHP(3.x)、Connectionクラスから対話ステートメントを実行する。 テーブルから値を取得する際はテーブルクラスからクエリビルダを介して値を取得することが多いですが、複雑なsqlを実行したいときはConnectionクラスから対話ステートメントを実行すると良いです。 $results = … Aoi Watanabeハック2020.02.10 246
PHP、配列をカンマで区切る 配列-> カンマ区切りの文字列の関数としてimplodeがあります。 $array = [“a”, “b”, “c”]; $string = implode(‘,’, $array) // => “a,b,c” ま… Aoi Watanabeハック2020.02.06 3,917
cakePHP(v3.x)、view画面からajaxで保存処理。 cakePHPにて、データをajaxでPOSTして編集する画面を作成します。 jQueryを使用します。 save_btn = function() { var csrf = $(‘input[name=_csrfTok… Aoi Watanabeハック2020.01.31 926
Javascript、repeaterの中にselect2を用いたinputをセットした際に2つフォームができてしまう問題を解消する。 repeaterの中にタグをいい感じに紐付ける事ができるselect2を使用すると、repeaterで2つ目のDOMを構築した際にselect2を施しておいた入力項目が何故か2つになってしまいます。 以上の問題にrepe… Aoi Watanabeハック2020.01.14 620
CakePHP(v3.x)、ユーザを論理削除に対応させる。 DB上にユーザというレコードを作っておき、AuditLogなどでサービス上のユーザの挙動を監視するなどの実装をしているときに、ユーザをIDで紐付けて実装している場合にはユーザを消してしまうと監査ログがエラーまみれになって… Aoi Watanabeハック2020.01.07 1,638
PHP、”#{ym}”という文字列のプレースホルダーを 日付 “2020年01月”などに変換する 今回は以下のような文字列のプレースホルダーに対して、実行時の日付をはめていく変換を書いていきます。 日付の操作にはChronosを使用します。 使用 プレースホルダの仕様は以下のとおりです。 “#{ym}&#… Aoi Watanabeハック2020.01.07 508