2008/5/14 水曜日

require_onceでなくautoload

Filed under: 基本, Zend Framework — ne-zu @ 23:51:13 このエントリをはてなブックマークに追加

require_once からの卒業~(尾崎豊風に) - Devel::Bayside

PHP5 では __autoload というメソッドをオーバーライドすることで、require_once から解放されます。Zend Framework を使うことで、この機能を意識せずに使えるようになります。

autoloadを使えば楽ちんな上に、require_onceよりも早いので1粒で二度美味しい感じです。
記事ではオレオレMVCとして、Zend Frameworkを部分毎に利用したフレームワークを作成されています。

2008/5/13 火曜日

PHPで二分探索

Filed under: アルゴリズム — ne-zu @ 23:17:27 このエントリをはてなブックマークに追加

PHPで二分探索(Binary Search)バイナリサーチのアルゴリズムのメモ | Web&MUSICブログ QUALL
二分探索をやられています。基本的なアルゴリズムを再現するのは良い勉強ですよね。

2008/5/12 月曜日

可変長テキストの戻り読みはできない

Filed under: 正規表現 — ne-zu @ 23:59:13 このエントリをはてなブックマークに追加

可変長テキストの戻り読み - 考える人, コードを書く人

可変長テキストの戻り読みはできませんよ、というお話。

PHP:
  1. <?php
  2.  $str = 'abbbbbbbbbbcghi';
  3.  $str = preg_replace('/(?<=ab+c)/', 'def', $str);
  4.  ?>

ということは出来ませんよ。ということらしいです。
ふむふむ。戻り読みは位置を指定できるというの今知りました(^_^;)

2008/5/9 金曜日

「@」でエラー抑制すると PHP が遅くなる

Filed under: 基本 — ne-zu @ 23:39:29 このエントリをはてなブックマークに追加

「@」でエラー抑制すると PHP が遅くなるという噂について : a++ My RSS 管理人ブログ

「@」でエラー抑制すると PHP が遅くなるという話、実際にどれだけ遅いのか検証されています。
これは遅い、といった感じです。

また早い遅いとは別の話で、

大切なのは数秒のスピードアップ?それとも?

という意見もあります通り、エラー制御は大事ですね。

2008/5/8 木曜日

Zend_Validate_Alnumがなんかおかしい - 適当にメモったらこうなった

Filed under: 正規表現, Zend Framework — ne-zu @ 23:48:58 このエントリをはてなブックマークに追加

Zend_Validate_Alnumがなんかおかしい - 適当にメモったらこうなった

UTF-8環境下では挙動がおかしくなるという話で。
Zend_Validate_Alnum中のパターンを

PHP:
  1. $pattern = '/[^\p{Ll}\p{Lu}\p{N}' . $whiteSpace . ']/u';

に変更するとUTF-8でもマッチング可能になります。
マルチバイトは何かと気をつけないといけませんね。

2008/5/7 水曜日

clearstatcache()のはなし

Filed under: 基本 — ne-zu @ 23:07:33 このエントリをはてなブックマークに追加

clearstatcache()のはなし - おぎろぐはてな

件のclearstatcache()がなんのためにあるのか、という話になると思うのですが、

PHPは存在しないファイルについての情報はキャッシュしないことにも注意してください。もし存在しないファイルに対して file_exists() をコールする場合、ファイルを作成するまで この関数は FALSE を返します。もしファイルを作成した場合、たとえファイルを削除したとしても TRUE を返します。しかし、unlink() はキャッシュを自動的にクリアします。

ほうほう。気をつけなければいけませんね。

2008/5/6 火曜日

動的に拡張を有効にする

Filed under: モジュール — ne-zu @ 23:47:09 このエントリをはてなブックマークに追加

ベイエリア情報局: PHPで拡張を動的に有効にする汎用的な方法

最近のPHPではPHP_SHLIB_SUFFIXという定数に拡張の拡張子が定義されているので、それを使えばOK。

とのことなので、PHP_SHLIB_SUFFIXを使えばOKですね。

PHP:
  1. $prefix = PHP_SHLIB_SUFFIX === 'dll' ? 'php_' : '';
  2. dl($prefix.'foo.'.PHP_SHLIB_SUFFIX);

しかし、これではMacOSではうまくいかないそうで。。
リンク先ではMac用でもOKなように汎用的に作られています。すごい!

2008/5/5 月曜日

1プロセスだけが実行されることを保証するクラス

Filed under: CLI — ne-zu @ 23:05:46 このエントリをはてなブックマークに追加

ベイエリア情報局: 1プロセスだけが実行されることを保証するクラスを作った(PHP)
1プロセスだけが実行されることを保証するクラスを作られています。CLIで同じ動作を回す場合にありがたいですね。

2008/5/4 日曜日

PHPでDocTest

Filed under: テスト — ne-zu @ 12:06:21 このエントリをはてなブックマークに追加

ウノウラボ Unoh Labs: PHPでDocTest

スクリプトのコメント内にテストを作るDocTest。
やはりテストを別ファイルに書くのはハードルが高い(^_^;)
DocTestが盛り上がっていくと良いなあと思います。

2008/5/1 木曜日

Zend Framework ファイルアップロード機能

Filed under: Zend Framework — ne-zu @ 23:26:13 このエントリをはてなブックマークに追加

Zend Framework コードリーディング (2) - Devel::Bayside
Zend Frameworkでファイルアップロード機能&ファイルはデータベースに格納、をやられています。
やはり時代はPostgreかっ

« 前のページ

Powered by PHP-SeeD and WordPress ME