chevron_left

メインカテゴリーを選択しなおす

cancel
のーずいにたたきcom https://www.nooozui.com

未経験からweb系?のエンジニアとなってベンチャー企業で働いている駆け出しプログラマのブログ。日々得られたIT関連の技術的な知見を共有します

damako
フォロー
住所
未設定
出身
未設定
ブログ村参加

2019/11/03

arrow_drop_down
  • <php>get_object_varsを共通のスーパークラスのメソッドに実装するときの注意

    概要 問題 対策 概要 PHP8においてインスタンスの情報を取得するメソッドにget_object_varsがあり、これを使えば引数に渡したインスタンスのもつアクセス可能なプロパティについてArray型で出力してくれる。 これはDTOのようなプロパティ主体で構成されるクラスなんかの共通処理として実装しておけば色々楽になりそうだったので、抽象クラスにget_object_vars($this)を戻り値として返すようなpublicなメソッドを定義した。(オーバライドせずそのまま使用する用途) 問題 継承先のクラスではprivateのプロパティは「アクセス不能」とみなされ取得できない。 誤解いただき…

  • Mysqlでレコード挿入時に作成日を、更新時に更新日を自動で行えるようにする

    概要 結論 その他 概要 DBの各テーブルには大抵の場合、更新日と作成日、また作成者を登録したくなる。 これを全テーブルで、更には各updateとinsertのSQL操作で毎回書くのは冗長すぎるのでなんとか自動でできる手段を探していたが、 テーブル作成段階でこれを可能にする方法があったのでその備忘録。 結論 CREATE TABLE文で以下のようにする。 CREATE TABLE Users ( //他のカラム定義 created DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated DATETIME NOT NULL DEFAULT CUR…

  • <PHP>サブディレクトリのnamespaceの名前解決ができない

    概要 原因 todo 概要 以前にcomposerを導入したとき、composer.jsonで定義したauto_loaderがなぜか機能せず、一旦調査保留にしていたのだが、その原因がざっくりわかったのでとりあえずのメモ 原因 自分でプロジェクトのソース内で宣言していたspl_autoload_registerがどうも悪さをしてたようで、当該宣言を削除しcomposer側で生成されるauto_loaderを読み込むようにしたところ、サブディレクトリの名前空間も無事読み込めるようになった。 todo spl_autoload_registerとかcomposerのautoload周りの挙動を理解す…

  • PHPのnamespace(名前空間)について

    はじめに requireとinclude namespaceの意義 どちらを使うべきか その他 参考 はじめに Pythonにはなく、ほかの言語ではある程度一般的な概念としてnamespaceがあるが、 requireやincludeといった宣言との使い分けがよくわからなかったのでそのメモ requireとinclude ざっくりいうと読み込む対象が読み込めなかった場合に... 警告のみで継続->include 中断->requrie という違いなようだ。 またrequireに関してはrequire_onceもあり、こちらは既に読み込み済みの場合は多重で読み込むことで発生するバグを防ぐことが可…

arrow_drop_down

ブログリーダー」を活用して、damakoさんをフォローしませんか?

ハンドル名
damakoさん
ブログタイトル
のーずいにたたきcom
フォロー
のーずいにたたきcom

にほんブログ村 カテゴリー一覧

商用