窓の杜のRSS
探してみるとあるものですね。窓の杜のRSS
おそらく多くの需要があると思われるRSSですが、
いつになったら本家が対応するのでしょうか・・・
最近気になるPEARのライブラリ
最近気になるPEARのライブラリたちの名前を列挙してみる。詳細はぼちぼち調べようと思います。
- PEAR::CodeGen_PECL
- PEAR::PHP_CompatInfo
- PEAR::File_SearchReplace
- PEAR::HTML_QuickForm2
- PEAR::Structures_DataGrid
- PEAR::Spreadsheet_Excel_Writer
- PEAR::OpenDocument
- PEAR::HTML_AJAX
CakePHPはじめました。
CakePHPを勉強するために、何か簡単なものを作ろうと思い立ったので、CakeUploaderなるものを作ろうと思います。ようはアップローダーです。
Ver 1.0では単純なアップローダーの機能のみの実装に徹して、CakePHPに慣れようかと思います。開発にはDreamweaver 8とXAMPP、ER図のモデリングにはDBDesigner 4を使用しています。
作業手順を記述していきます。Dreamweaver固有の作業も含まれているのであしからず。
1.CakePHPの本体(stable版)を本家からダウンロード。
2.解凍し、適当な開発ディレクトリに配置。
3.Dreamweaverに".thtml"拡張子をPHP ファイルだと認識させるために設定ファイルを変更。
3.1 C:\Documents and Settings\ユーザー名\Application Data\Macromedia\Dreamweaver 8\Configuration\Extensions.txt の"すべてのドキュメント"と"PHP ファイル"の行にTHTMLを追加。詳細は「Dreamweaver 拡張子 追加」などでググってほしい。
3.1.1 もし、上記のパスにファイルが無ければ、C:\Program Files\Macromedia\Dreamweaver 8\Configuration\Extensions.txt のファイルに上記の処理を行う。
3.2 C:\Program Files\Macromedia\Dreamweaver 8\Configuration\DocumentTypes\MMDocumentTypes.xml のファイル内のphpの定義部分に、thtmlを2箇所挿入。詳細は「Dreamweaver 拡張子 追加」などでググってほしい。
4.Dreamweaverを開き、でサイト管理を新規作成して先の開発ディレクトリを登録。
4.1 アップロード先はXAMPPのドキュメント公開ディレクトリ(標準ではC:\Program Files\xampp\htdocs)の直下のディレクトリを指定。例えば、C:\Program Files\xampp\htdocs\uploader1.0\
5.DBDesigner 4を利用してER図を作成し、SQL文を吐き出す。とりあえず、暫定的に以下のようになった。
-
CREATE TABLE upfiles (
-
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
-
original_name VARCHAR(255) NOT NULL,
-
save_name VARCHAR(255) NOT NULL,
-
extension VARCHAR(64) NULL,
-
size INTEGER UNSIGNED NULL DEFAULT '0',
-
created DATETIME NULL,
-
modified DATETIME NULL,
-
description TEXT NULL,
-
PRIMARY KEY(id)
-
);
5.1 ちなみに、テーブル名がfilesではなくupfilesなのは、cakeのappディレクトリ内のwebrootディレクトリの下に、filesというディレクトリがあり、files/というアドレスがコントローラ名ではなくURL的にそのfilesディレクトリにアクセスしてしまうため。
5.2 ちなみに、descriptionフィールドは、できれはcommentという名前にしたかったが、DBDesigner 4によると、どこかのSQLの予約語であるため、その名前は使用できなかった。
6.XAMPPのphpMyAdmin(標準ではhttp://localhost/phpmuadmin/)にユーザーやDBの設定を行った後、上記のSQLでテーブルを作成する。ここでは暫定的に以下のようにする。
hostname : localhost
username : test
password : pass
database : cake
7.[root]\app\config\database.php.defaultを[root]\app\config\database.phpとして同じフォルダ内にコピーした後、コピーしたdatabase.phpを手順6の通りに設定する。
-
class DATABASE_CONFIG
-
{
-
'host' => 'localhost',
-
'login' => 'test'
-
'password' => 'pass',
-
'database' => 'cake',
-
'prefix' => '');
-
}
8.[root]\cake\app_controller.phpと[root]\cake\app_model.phpを[root]\app\直下にコピーする。
8.1 "SET NAMES UTF-8"などのクエリをDBコネクションの最初に行う必要があれば、さきほどコピーした、[root]\app\app_model.phpに以下のように記述する。今回は記述した。
9.[root]\cake\libs\view\layouts\default.hthtmlを[root]\app\views\layouts\default.hthtmlにコピーし、<title>タグの1行前に以下の行を追加する。
とりあえず、今回はここまで。まとまった時間が取れたときに続きを書きます。
Dreamweaverでphpの小文字nullがハイライトされない
普段はDreamweaver 8でphpを編集していますが、Dreamweaverでは小文字のnullが予約語として認識されないので、ハイライト(コードのカラーリング)がされません。ですが、Dreamweaver 8は設定ファイルの多くがXML形式なので、簡単にハイライト対応させることができます。対応手順を記しておきます。
1.Dreamweaver 8を終了する。
2.C:\Program Files\Macromedia\Dreamweaver 8\Configuration\CodeColoring\PHP.xmlをメモ帳で開く。
3.33行目あたりから<keywords name="Reserved Keywords" id="CodeColor_PHPScriptReserved">という予約語のための要素が始まっているはずです。
4.65行目あたりに<keyword>NULL</keyword>という要素があるはずです。
5.その次の行に<keyword>null</keyword>と追加しましょう。
6.完了です。
実際のXMLはこんな感じになっています。
-
<keywords name="Reserved Keywords" id="CodeColor_PHPScriptReserved">
-
<keyword>abstract</keyword>
-
<keyword>as</keyword>
-
<keyword>break</keyword>
-
?略?
-
<keyword>interface</keyword>
-
<keyword>new</keyword>
-
<keyword>null</keyword>
-
<keyword>NULL</keyword>
-
<keyword>parent</keyword>
-
<keyword>private</keyword>
-
?略?
-
<keyword>var</keyword>
-
<keyword>while</keyword>
-
</keywords>
他にも、このファイルをいじれば様々なのカラーリングにも対応できます。
第23回PHP勉強会
php初めて1年経つし、そろそろphpの外の世界を見てみようと思ってPHP勉強会に行ってきました。
会場は株式会社ノッキングオンさんに提供していただきました。最近の勉強会はノッキングオンさんで開かれることが多いそうです。
今回は
- 個々一番さん - MagickWandForPHP
- haltさん - PHP Extensionあれこれ
- Bitoさん - UNIXデーモンをつくろう
の3つの発表がありました。どれも今の僕にはレベルが高すぎました(汗
3つの発表の簡単な概略だけ載せておきます。
1.個々一番さん - MagickWandForPHP
- PHPで画像操作する場合の選択肢はGD、imagick、MagicWandForPHP
- GDはアニメーションGIFやWindowsBitmapがだめだったり拡張子で関数が違ったり
- Imagickはあんまり更新されていない
- MagicWandForPHPは400以上のImageMagickAPIに対応した多機能なPHP拡張
- 速度的にはGDの1.5倍くらい
- ライセンスはよくわからない
- MagickWandは拡張子によって関数を分ける必要はない
2.haltさん - PHP Extensionあれこれ
- YAPCのライトニングトークのミサイル発射
- PHPで開発中のlibusb wrapperはぜんぜん使えない
- PEAR::CodeGen_PECLでPHPExtensionを作っちゃう
- C言語ライブラリがわからなくてもPHPExtensionが書ける
- CodeGen_PECLでの構造体うや配列、RETURNがちと肝
- Device_USB_MissileLauncherでUSBミサイルを飛ばしてみる
- 結構飛ぶねw
- 3950円だぉ
3.Bitoさん - UNIXデーモンをつくろう
- デーモンになるにはinetd経由で呼ぶか、独自実装するか
- inetdでデーモンを作れば、"ステップ4"でコーヒーが飲める
- ロギングにもsyslog,、別プロセス、独自ロギングなどで実装
- ログローテートでハマる人がいるので注意
- signalの種類
- 並列処理はプロセス、スレッド、selectなどで実装
その後、懇親会でいろいろとお話ししてきました。勉強になるなぁ。また参加したいですね。
それと知ってる限りの関連リンクを列挙します。見つけ次第追記します。
株式会社ノッキングオン Knockin'on
events.php.gr.jp Event Entry::第23回PHP勉強会
ITmedia +D PC USER:軍拡!? ソリッドが中国製USBミサイルを販売
ウノウラボ Unoh Labs: UNIXデーモンを作ろう
Do You PHP? - PEAR::CodeGen_PECLを使ってPECLモジュールを作ってみる
Do You PHP はてな - 第23回PHP勉強会 - そろそろ出発
Do You PHP はてな - 第23回PHP勉強会 - やっと着いたorz
Do You PHP はてな - 第23回PHP勉強会 - PHPとミサイル
Do You PHP はてな - 第23回PHP勉強会 - 休憩中
Do You PHP はてな - 第23回PHP勉強会 - UNIX daemonのお話
Do You PHP はてな - 第23回PHP勉強会 - 懇親会&2次会
ハタさんのブログ : 第23回PHP勉強会
:: 夜想 | PHP勉強会 ::
Thousand Years - 第23回PHP勉強会に行って来た件
てつじんにっき - 第23回PHP勉強会
