
PHPのパフォーマンスを引き出すベストプラクティス63の日本語訳メモ
PHP以下のページで紹介されているPHPのベストプラクティスを訳してみた。 63 Best Proctice to Optimize PHP Code Performance staticにできるメソッドはstaticで宣言する ※ググってみるとpublicメソッドよりも遅いというベンチマークもあるようなので、実際に確認したほうがよさそう。echoのほうがprintよりも速い stringをコンカチ(結…
以下のページで紹介されているPHPのベストプラクティスを訳してみた。 63 Best Proctice to Optimize PHP Code Performance staticにできるメソッドはstaticで宣言する ※ググってみるとpublicメソッドよりも遅いというベンチマークもあるようなので、実際に確認したほうがよさそう。echoのほうがprintよりも速い stringをコンカチ(結…
Javaプログラマの目線でPHPの基本をまとめています。 オートローディングの必要性 PHPのファイルはクラスごとに分けることが多い。PHPでは他のファイルに書かれたクラスや関数を使用するためには、名前空間のインポートだけでなく、それらが書かれたPHPファイルをrequireやincludeして読み込まなければならない。オートローディングを使用すると、その手間を省くことができる。PHP5以降に使用…
Javaプログラマの目線でPHPの基本をまとめています。 名前空間 ファイルシステムにおけるディレクトリのように、空間を名前で区切ることにより、クラスや関数を管理しやすくするためのもの。 これがないと、あらゆるクラス名や関数名はお互いに衝突しないよう長い名前をつけて管理しなくてはならなくなるが、それは現実的ではないので、現在では普通の考え方のように思える。 名前空間を使用できるのは、バージョン5….
Javaプログラマの目線でPHPの基本をまとめています。 マジックメソッド オブジェクトに対して特定の操作を行ったときに自動的に呼ばれるメソッド。 それぞれの説明、使用例はPHPマニュアル: マジックメソッドを参照。 __construct() __destruct() __call() __callStatic() __get() __set() __isset() __unset() __sl…
Javaプログラマの目線でPHPの基本をまとめています。 インターフェースの定義 interface <InterfaceName>と定義する。 クラスと同じく、アクセス修飾子はつけない。メソッドはpublicで定義し、引数の型を厳密にしたい場合は、タイプヒンティングや型演算子(instanceof)を用いる。ただし、タイプヒンティングはプリミティブ型には使用できない。 実装方法 cl…
Javaプログラマの目線でPHPの基本をまとめています。 標準クラス 標準クラスと呼ばれるstdClassというクラスが存在する。他の型からオブジェクト型(Object)にキャストするとstdClassのインスタンスになる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php $param = 1; $test = (Object)$param; var_dump($test); // object(stdClass)#1 (1) { // ["scalar"]=> // int(1) // }$param2 = array("A","B","C"); $test = (Object)$param2; var_dump($test); // object(stdClass)#2 (3) { // [0]=> // string(1) "A" // [1]=> // string(1) "B" // [2]=> // string(1) "C" // } |
継承 extendsキーワードを用いる(JAVAと同じ)。多重継承はできない。 [crayon-5c6d…
Javaプログラマの目線でPHPの基本をまとめています。 クラス定義について クラスの定義はclass <クラス名>{ }という形で定義する。JAVAと異なり、publicなどのアクセス修飾子はつけない。 オブジェクトの参照についてオブジェクトを格納した変数には、実際にはオブジェクトを参照するポインタが格納されている。 $b = $aのような値渡しをしたとき、$bにはオブジェクトを参照…
Javaプログラマの目線でPHPの基本をまとめています。 関数 基本的な関数 function hoge_hoge() 参照を返却する: function &hoge_hoge() 参照を受け取る: function hoge_hoge( &$param ) 参照を受け取り、参照を返却する:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php function &hoge_hoge(&$param) { $param = 'foo'; return $param; } $a = "bar"; $b =& hoge_hoge($a); // =&としなければ値コピーになる。(ただしPHPはコピーオンライトなので変更するまでコピーされない) echo $a, PHP_EOL; // foo echo $b, PHP_EOL; // foo $b = "foo2"; echo $a, PHP_EOL; // foo2 echo $b, PHP_EOL; // foo2 |
任意の引数を定義する:f…
Javaプログラマの目線でPHPの基本をまとめています。 制御構造 if, switch, while, for, foreach, do-while break, continue if(true): hoge else: fuga endif;という構文も使用できる。 波括弧({})ではなく、コロン(:)を使う。HTMLタグと入り混じったコードを書く場合に可読性が高まる。 他: switch…
Javaプログラマの目線でPHPの基本をまとめています。 型 型サイズ 整数のサイズはプラットフォーム依存 定数のPHP_INT_SIZE、PHP_INT_MAXでサイズを確認できる 当環境(CentOS6.0 64bit)でそれぞれの定数を確認したところ、以下の数値でした。
1 2 3 |
8(64bit) 9223372036854775807(約922兆) |
整数の最大値を超えると自動でfloatにキャストされる。…