Posts tagged php4
JpGraph を日本語化する
1JpGraph を日本語化するメモです。
JpGraph をダウンロードする
JpGraph – PHP Graph Creating Library より最新版をダウンロードする。PHP4 で使用する場合は Ver 1.x 、PHP5 で使用する場合は Ver 2.x を使用すること
ダウンロードしたファイル内の src を jpgraph とリネームして PHP からインクルードできるところへ配置する。
(続きを読む…)
PHP を勉強するのにオススメ書籍の10冊
1これから PHP を覚える人、もっと技術を向上させたい人にオススメの本を10冊ピックアップしてみました。
逆にこれはオススメ!という本があればコメントで教えてください。
順番はとくにオススメの順ではありません。気になったところから読んでみるのがよいかと思います。
(続きを読む…)
CakePHP PHP4 のとき findByカラム名の注意点
1現在開発しているシステムで初めて PHP4 で CakePHP を使用しています。
PHP4 で CakePHP を使用するときの注意点です。
ユーザID で検索するときに findBy カラム名をよく使います。
$this->Model->findByUserId($user_id);
これを PHP4 で使用するときは
$this->Model->findByUser_Id($user_id);
とアンダーバーを入れる必要があります。
PHP の便利な関数 output_add_rewrite_var
1PHP から出力する HTML に最終的に a タグや form タグを見つけ出し、自動で指定した変数をクエリストリングや hidden 属性で挿入してくれる関数です。
PHP4.3 から追加されたようなのですが知らなかったです。
昔から、session.use_trans_sid というセションID を a タグや form タグの hidden 属性に追加してくれるのはありましたが、それをセションID 以外にも使用できるように関数化したもののようです。
URL リライト機構に新しい名前/値の組を追加します。 名前および値は、URL (GET パラメータとして) およびフォーム (hidden フィールドとして) で追加されます。これは、session.use_trans_sid で透過的 URL リライティングが有効になっている場合に セッション ID が渡される方法と同じです。 絶対 URL (http://example.com/..) はリライトされないことに注意しましょう。
- PHP マニュアルより
userid の値 $userid を全てのリンクに付与したい場合は、
output_add_rewite_var('userid', $userid);
と書くことにより
<a href="index.php">TOP</a>
が
<a href="index.php?userid=1">TOP</a>
と出力されます。
form タグも
<form action="index.php" method="post">
が
<input type="hidden" name="userid" value="1">
となります。
注意点としては絶対URLはりライトされないことです。
これがないと他サイトにまで、セションID などを渡してしまいますからね。
PHP マニュアル
output_add_rewrite_var
いよいよ PHP5 への移行が進むか
0ついに来ましたか。。。2007/12/31いっぱいはサポートを続け、2008/08/08までは致命的なセキュリティFIXのみ行うようです。
最近の開発では PHP5 が増えてきましたし、いよいよPHP5 への移行が加速しそうですね。
個人的にはPHP5 は大歓迎です。
CakePHP グローバル関数
0PHP のネイティブ関数の短縮表記には下記のようなものがあります。
a() => array()
e() => echo()
low() => strtolower()
up => strtoupper()
r() => str_replace()
am() => array_merge()
h() => htmlspecialchars()
このような短縮表記の関数を独自に定義して開発に使用されている方も多いと思いますが、CakePHP として定義されていると使用しやすいですね。(特に複数人で開発しているときなど、標準であると助かります。)
このほかにも CakePHP には便利な関数が定義されています。
- debug($var, $showHtml);
- DEBUGレベルが0以外のときに、$varが出力される。
print '<pre>';
print_r($var);
print '</pre>';
のようなことをしてくれます。$showHtmlが TRUE ならブラウザで見やすいように出力してくれます。 - aa(‘a’,'b’)
- 連想配列を作成する。
array('a'=>'b')
をやってくれます。 - h($mixed)
- 文字列を指定して htmlspecialchars をやってくれるが、配列も指定できる。
配列を指定すると再帰的に h() を呼び出している。 - pr($var)
- print_r をブラウザでみやすいように <pre> で囲んでくれます。
echo "<pre>";
print_r($var);
echo "</pre>" - env($key)
- 環境変数を取得できます。
一番の特徴は PHP_SELF, DOCUMENTO_ROOT をサポートしていないサーバでも動作をエミュレートして値を返してくれます。コードを再配布するときには重宝しそうです。 - params($mixed)
- 文字列を返してくれます。
配列なら一番最初の値、文字列なら文字列、値がなければ NULL を返します。 - setUri()
- 現在のURI を返してくれます。
- file_get_contents()
file_put_contents() - この関数が実装されていない PHP4.3 未満のためにエミュレートされています。
- stripsslashes_deep($array)
- $array は配列を指定。配列の全ての値に対して再帰的に stripslashes を行います。
- countdim($array)
- $array の配列の次元数を返します。
- LogError($message)
- CakeLog::write を実行します。
- fileExistsInPath($file)
- 現在のinclude パスから $file で指定されたファイル名があるか探します。
見つかればそのパスを返し、見つからなければ false を返します。 - ife($condition, $var1, $var2)
- $condition が true なら $var1 を返し、false なら $var2 を返す。
使用しすぎると読みにくいコードになりかねませんが、うまく使用すれば開発効率が上がりそうです。
日本語マニュアル:Chapter 11. Cake のグローバル定数とグローバル関数