タグ

ブックマーク / qiita.com/Hiraku (2)

  • PHPで定数定義するときはdefine()よりもconstを使うべき - Qiita

    <?php define('HOGE', 'hoge'); const FUGA = 'fuga'; 見て分かる通り、defineは関数であるのに対しconstは関数ではないのでconstの方が高速に処理される。 大量に定数定義したいならconstを使う方が望ましい。 その昔「定数定義を高速に行う」というためだけの関数がいくつか存在していたが、いずれも拡張モジュールのメンテナンスが止まっているようなので、今やるならconst書き換えが現実的なチューニング法なんじゃないかな。 http://php.net/manual/ja/function.apc-define-constants.php https://pecl.php.net/package/hidef defineでしかできないこと defineは関数なので、引数には式であれば何でも書くことができる。関数の実行結果を書いてもOK。

    PHPで定数定義するときはdefine()よりもconstを使うべき - Qiita
    kathew
    kathew 2019/04/03
  • privateメソッドとfinal - Qiita

    <?php class A { private function echoClass() { echo 'A', PHP_EOL; } public function p() { $this->echoClass(); } } class B extends A { private function echoClass() { echo 'B', PHP_EOL; } } $a = new A; $a->p(); $b = new B; $b->p(); まず、このコードはエラーを吐かず、実行できてしまう。そして A が2回出力される。 クラスBにてechoClassメソッドをオーバーライドしたように見えるけれど、実際はクラスBでの記述は破棄されているように見える。 では次のようにp()をオーバーライドするとどうなるだろうか。 <?php class A { private functio

    privateメソッドとfinal - Qiita
  • 1