ツイート
シェア
LINEで送る
B! はてぶでブックマーク
Pocketでブックマーク
RSSフィード

プリミティブ

PHP, クラスオブジェクトの代入(=)は全くの別物。データコピーだと思ってたら大爆死。

php

PHPに限らず、プログラミングのイコール(=)は値の代入、言いかえれば、右辺から左辺へのコピーです。

ただ、クラスのオブジェクトではちがう。コピーですらないので、知らないととんでもない間違いを犯します。

これはPHPでも同じ。オブジェクト指向プログラミング特有の現象。

続きを読む

PHP, クラスオブジェクトのディープコピー。cloneキーワードを付けるだけじゃダメ!

php

PHPのオブジェクトの代入(=)はシャローコピーなので、厳密にはコピーじゃありません。そこでやらないといけないのがオブジェクトのクローン作成。

PHPではcloneキーワードを付けるだけのように見えるんですが、やることは他にもあります。

そこはやっぱりJavaと似ている。

続きを読む

シャローコピーとディープコピーってなんだ? オブジェクト指向がややこしくしている。

プログラミング

今や、クラスを使うプログラミングは主流の一つになっています。

JavaやC++はオブジェクト指向言語のメジャーですが、それまでそうじゃなかったPHPが採用されて久しいほど浸透しています。

そこで出てくるのがシャローコピーとディープコピーという言葉です。

続きを読む

プリミティブ型変数ってなんだ? オブジェクト型に対する基本型

プログラミング

変数の型でプリミティブ型と呼ばれるワードが出てきますが、なんてことない従来の昔からある変数の型のことです。

なんでそんなワードが出来たのかといえば、従来の型とはちがうオブジェクト型が登場したから。

オブジェクト指向言語がメジャーになったから出てきた言葉。

続きを読む