PHPのリファレンス

PHPのリファレンスを触ったのでメモ書き。

PHP において、リファレンスとは同じ変数の内容を異なった名前で コールすることを意味します。これは C のポインタとは異なります。 リファレンスを使ってポインタの演算をすることはできませんし、 リファレンスは実メモリのアドレスでもありません。詳細は リファレンスが行わないこと を参照ください。 そうではなく、リファレンスはシンボルテーブルのエイリアスです。 PHP では、変数名と変数の内容は異なっており、 このため、同じ内容は異なった複数の名前を有する事が可能であることに 注意してください。最も良く似ているのは、Unix のファイル名とファイルの 関係です。この場合、変数名はディレクトリエントリ、変数の内容は ファイル自体に対応します。リファレンスは、Unix ファイルシステムの ハードリンクのようなものであると考えられます。

main.phpを見ると、My_DBクラスのfind_data_by_idメソッドをstaticメソッドのように使えてる。

find_data_by_idはstaticメソッドではないよ!

この書き方好きだな♪

メインでインスタンスをつくる(newする)必要がないのもいいね。

参考

Posted in PHP.

SEO 検索上位サイトの法則

SEO 検索上位サイトの法則

SEO 検索上位サイトの法則

この本を読んだ。

内部SEO対策(自分のサイト内だけでできるSEO対策)についてまとめておく。

Posted in SEO.

CakePHPでUPDATE

CakePHPでデータベースのテーブルにデータを保存するには、save()を使います。

この命令により以下のSQLが実行されます。

id name birth b_type
1 hoge 1988-01-01 A

作られたデータをUPDATEしたい場合には、主キーの「id」を指定してsaveすればUPDATEできます。

id name birth b_type
1 foo 1988-01-01 A

しかし、この方法ではUPDATEする必要のないデータまで同じ値でUPDATEしてしまいます。

これを回避するために、save()にはいくつかの引数を与えることができます。

引数を指定してnameだけをUPDATEしてみましょう。

id name birth b_type
1 bar 1988-01-01 A

余計なSQLは避けたほうがいいので、しっかり引数を与えて制御したほうがいいようです。

参考

Posted in CakePHP.