タグ

PHPに関するtaorunのブックマーク (4)

  • PHP 高速化に関するメモ書き | Thought is free

    ※ isset や empty は関数ではなく言語構造なので速いです。 上記は、あくまで Null のチェックであって、 "" や false や 未定義変数 などをチェックする場合は、 それぞれ返ってくる値も異なるので注意。 インクリメントとデクリメント $i++ より ++$i $i-- より --$i の方が速い。 count() とか strlen() とか 配列の要素数を数えたりするために count() 文字列の長さを調べるために strlen() を使ったりするのだが、 ぶっちゃけ、配列の要素数が 0 か否か、文字列の長さが 0 か否か っていう判断をするだけなら、 if( count( $array ) === 0 ) { ~ } if( !strlen( $string ) ) { ~ } のような書き方するよりも、 empty で判断した方が速い。 なぜなら、empty

    PHP 高速化に関するメモ書き | Thought is free
    taorun
    taorun 2016/09/01
  • 新言語Hackで最強PHPerになろう! - Qiita

    新言語 Hack とは こんにちは、新言語 Hack が Facebook より OSS としてリリースされましたね。 詳細は以下の通り。 https://code.facebook.com/posts/264544830379293/hack-a-new-programming-language-for-hhvm/ 新言語 Hack は HHVM 向けの開発言語で静的型付き言語の性質を取り入れ PHP での素早い開発を実施し、PHPとの互換性があります http://hacklang.org/ http://hhvm.com/ HHVM (HipHop Virtual Machine for PHP) とは、Facebook が OSS で開発している PHP 用の JIT コンパイラです。 HHVM は PHP のコードをダイナミックにバイナリコードへと変換することで高速実行の実現を目

    新言語Hackで最強PHPerになろう! - Qiita
  • [CakePHP] Controllerのテストを書くときに気をつけること - TODO: ブログの名前を考える

    ようやく、自分の中でテスト駆動開発するのが「デフォルト」になってきた。 そして今回、初めてMVCなシステムのテストを書いていることに気づいたので、そのポイント(一部、CakePHP限定)を書いておこうと思う。 Controllerのテストは書きにくい? テスト駆動開発初心者でも、getter/setterなメソッドのテストは書きやすいと思われる。なぜなら、入力と出力が分かりやすいから。 しかし、Controllerのactionなメソッドは書きづらい/書けないと思っている人が多いのかなと思う。入力→出力の課程でいろいろ(むしろ、ありとあらゆることを?)やるから。 そこはやはり、モノの見方を改めるに限る。 「Controllerはテストが書きづらい/書けない」じゃなく、「テストが書けるようにControllerを書く」だ。 そもそも、テスト駆動開発自体がそういう思想の元に行われていると自分は

    [CakePHP] Controllerのテストを書くときに気をつけること - TODO: ブログの名前を考える
  • 効率的なWebアプリ開発の定石 ~Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門~

    はじめに 一般的なWebアプリケーション開発では、「Webクリエイター」と「Webプログラマ」という役割が存在します。Webクリエイターは画面表示に関するデザインやマークアップを担当し、Webプログラマは、動的処理機能の構築を担当しています。最終的にそれぞれのリソースの結合が行われ1つのサイトが完成します。 最近では、“リッチクライアント”というキーワードで語られる豊かなユーザーインターフェースを持ったWebアプリケーションの開発がトレンドとなっており、かつてサーバサイドでの技術を発揮していたプログラマにもクライアントサイドの知識や技術が要求されるようになってきています。こうした状況の中で、Webプログラマが効率的な開発を行い、新しい技術に挑戦するために今までの構築手法や開発工程を見直す必要がでてきました。 稿では『システムの構造的に優れた設計』だけではなく、『あらゆるユーザーに配慮され

    効率的なWebアプリ開発の定石 ~Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門~
  • 1