PHPに限らず、プログラミングのイコール(=)は値の代入、言いかえれば、右辺から左辺へのコピーです。
ただ、クラスのオブジェクトではちがう。コピーですらないので、知らないととんでもない間違いを犯します。
これはPHPでも同じ。オブジェクト指向プログラミング特有の現象。
続きを読むPHPに限らず、プログラミングのイコール(=)は値の代入、言いかえれば、右辺から左辺へのコピーです。
ただ、クラスのオブジェクトではちがう。コピーですらないので、知らないととんでもない間違いを犯します。
これはPHPでも同じ。オブジェクト指向プログラミング特有の現象。
続きを読むPHPのオブジェクトの代入(=)はシャローコピーなので、厳密にはコピーじゃありません。そこでやらないといけないのがオブジェクトのクローン作成。
PHPではcloneキーワードを付けるだけのように見えるんですが、やることは他にもあります。
そこはやっぱりJavaと似ている。
続きを読む今や、クラスを使うプログラミングは主流の一つになっています。
JavaやC++はオブジェクト指向言語のメジャーですが、それまでそうじゃなかったPHPが採用されて久しいほど浸透しています。
そこで出てくるのがシャローコピーとディープコピーという言葉です。
続きを読む変数の型でプリミティブ型と呼ばれるワードが出てきますが、なんてことない従来の昔からある変数の型のことです。
なんでそんなワードが出来たのかといえば、従来の型とはちがうオブジェクト型が登場したから。
オブジェクト指向言語がメジャーになったから出てきた言葉。
続きを読む