tetsunosukeのnotebook

tetsunosukeのメモです

php

世界はそれを「ぱい」と読むんだぜ

PHP

PHPカンファレンス2006の続き。(笑)鶴岡さんのプレゼンで始めて気づいた。MagPieRSSの「Pie」は「ぴー」だと思っていた。「ぱい」だそうだ。 使ってみたら さっそくHTTP_PROXY対応してなくて泣く。これは独自改良しなきゃダメ?get_fileの部分をオーバーラ…

PHPカンファレンスに行って来た

PHP

今年もPHPカンファレンスに行って来ました。ここのところ軽く交流のあるid:bonlifeさんと一緒に。去年と比べて自分の理解できるレベルが向上していたので、「目新しい」話題としては特に追いかけていなかったPHP6の動向くらいでしたが、今回もなかなか楽しめ…

CakePHPのコミュニティができたとかで見てみた。

PHP

んで、こんな感じ。 6)PHP4/PHP5 の両方に対応している。 モデルに関しては、内部で PHPバージョンを判定し、PHP4 と PHP5 のモデルを読み分けています。現状、オープンソースの開発プロジェクトでは、"PHP5でしか動かない"というのと、"PHP4/PHP5で動く”…

PHPカンファレンス2006が開催されます。

PHP

http://www.php.gr.jp/seminar/20060819/今年もいくぞー。(でも懇親会は無理っぽ)

Plaggerをブラウザ経由でアクセスしたくて

PHP

したんだけど結果が出ない。実行もされていない模様。タイムアウト?

さくらインターネットにPEAR入れた。

PHP

PEAR::MDB2使いたかったので。 % pear config-create ~/ .pearrc % pear channel-upgrade pear.php.net % pear install -o PEARこれであとはphp.iniに include_path="/home/<USERNAME>/pear/php" でOK.PEAR::Authも入れたかったので pear install --alldeps Authしとい</username>…

PEAR::HTTP_Downloadでファイルをまとめてダウンロード

require_once 'HTTP/Download.php'; $dl = new HTTP_Download(); $regexp = glob('{*.php,*.txt}'); $files = glob($regexp,GLOB_BRACE); $dl->sendArchive("files.tar.gz", $files);.phpと.txtをダウンロードしたい場合は上記のようにglobを使うのだが、複…

Smartyでよくある処理。

PHP

index.phpなどのファイルで、呼び出すテンプレートがindex.tplだったりする。そうすると、 $smarty->display('index.tpl'); とかなるわけなんだけど、この「index.tpl」をどっかにdefineしておくのもダルいし、いい方法はないかなと思っていた。 $smarty->di…

デフォルトでmodifierをかける

PHP

$default_modifiersを使えばデフォルトで規定のmodifierをかけることができる。独自のmodifierをpluginで作っておいて、それをかけていくのが基本か・・・っ!!

MagpieRSSを使ってみた。(MagpieRSS+Smarty習作)

PHP

これだけ。 mb_internal_encoding(MAGPIE_OUTPUT_ENCODING) は、いらんかも。

独自のストレージドライバによるPEAR::Auth

たとえばCSV形式の「id,password」を認証ファイルとして使う場合のサンプルを書いてみた。カスタムコンテナ(ストレージドライバ) require_once 'Auth/Container.php'; class CustomAuthContainer extends Auth_Container{ var $csvFile; function CustomAu…

PHPでタグクラウド作成

ProposalだけどもPEAR::HTML_TagCloudが出ている。これで、スケジュール調整とかの機能に使ったら面白いんじゃない?一番希望が多い日がでかくなるの

OpenPNEでRSS

メモ http://blog.koshigoe.jp/archives/2006/06/openpne.html

OSの判定(PEARハック)

PHP

レンタルサーバとか、PEARのライブラリが入っていなかったり、include_pathが現在どうなっているか良く分からないときに、 define('ADDITIONAL_INC_PATH','/path/to/mylib');*1 define('PATH_DELIMITER', ':'); //for unix //define('PATH_DELIMITER', ';');…

とりあえずAPC

PHP

昨日のXML_FastCreateとionCube PHP Acceleratorがうまく動かない件は諦めてAPC(Alternative PHP Cache)入れた。動いてる。キャッシュのヒットに関しても問題ない。性能も改善されたようだ。とりあえずほっとする(へたれ)

ionCube PHP Accelerator + XML_FastCreate

PHP

の、組み合わせがなんか動かない。具体的には $x->hogehoge( ... );な書き方をしたときにhogehogeなfunctionなんてしらねえって言われる。なんじゃろ。

PHPでページングを実現

PHP

バナヤンの忍者風呂より。 1画面に表示するデータ量を設定し、表示されていないデータへはページ移動でアクセスできるようにする必要があります。PEAR::Pager使えばいいのに。

やっとできたよGoogleNotebookのハック

PHP

これでとりあえずHTML解析の「キホン」がなんとなくわかった気がする。メイン main.php

HTMLをSAXで解釈するアレをごにょごにょ。

PHP

以前GoogleNotebook解析のためにどんな感じでSAXで読むんだろ?って書いたものの続編。 elements = array(); } /** * 要素を開いた段階でその情報(要素の属性と名前)を * 連想配列に突っ込む。 * @todo その際に属性がidやclassなどの重要なもの以外は * …

PHP2JSON?

PHP

他のサイトのRSSを拾ってきてそれをJSONで出力したものをJavaScriptでごにょごにょしているんですが、JSONで出力するのに最適なPHPのライブラリってなんですかねえ。なんか勝手にUnicode変換するあたりがPEAR::Service_JSONが微妙なところ。とりあえずJsphon…

perldoc のPHP版ってないの?

perlの関数を調べたいときに perldoc -f printとかあるわけなんですが、PHPの場合同じようなことってできないんでしょうか。今日即席でファイルアップローダを作りたいというシーンに出くわしたんですが、マニュアルがないと何もできないという罠。くう。二…

Smartyのmodifier(mb_strimwidth)がないので作る。

SmartyでオリジナルのテンプレートModifierを作る方法のメモ参考にstrip_tagsを見るとこんな。 function smarty_modifier_strip_tags($string, $replace_with_space = true) { if ($replace_with_space) return preg_replace('!<[^>]*?>!', ' ', $string); e…

一日後の日付を求める

ある、$year,$month,$dayがあるときに、一日後の日付を表示したいとのこと。 $unix = strtotime("+1 day", strtotime("$year/$month/$day")); print date("Y年m月d日", $unix); strtotimeかっこいい。「+1 day」ってアツい。#普段はこういうのデータベース…

mb_strimwidth

mb_strimwidthで指定した文字列長に文字列を丸めることができる。マニアックな関数だ・・・。 たとえば「あああああ」という文字列を、5バイトまでの表示にし、かつ、残りは"..."を加えたい場合に、 mb_strimwidth("あああああ", 0,5,"...");とすると、 あ..…

XML_Parserクラス

PHP

どうもSimple.php, Parser.phpを見てると、Handler系のfunctionがまだまだあるようだ。これをオーバーライドすればもっと簡単にいろいろできるんかしら。なんとなくまた全部ソース追っかける予感がしてちょっと嫌。Simple.php startHandler($xp, $elem, $att…

Serialize/Unserializeを試してみる

PHP

Using Serialized PHP with Yahoo! Web Servicesが出てからちょっと話題になっているSerializeまわり。とりあえずPHPにおける変数のSerializeについてよく知らんのでやってみる。 "val"); $int = 10; $string = "string"; $object = new MyClass(); print s…

XML_Parserの拡張クラス

サーバに入ってるXML_Parserのバージョンが古かったので、こいつを拡張したクラスを書くことで対応しようとしたら、エラー。おかしいなあと思ってエラーを良く見たらcannot declare class XML_Parser_Errorって。なんだろう・・・?って良く見たらParser.php…

相対パス→絶対パスへの変換

PEAR::XML_RSSに相対パスをかませて、動かないなぁ、しかもPEAR_Error::getMessage()で"no input"とかよくわかんないメッセージでるなあ・・・追うのめんどくさいなあと思っていたんで、素直に相対パスを絶対パスに変換することにした。このくらい関数あるだ…

CakeをBakeする

10分で作るCakePHPアプリ アプリケーション編Railsのデモみたいな感じ。MVCモデルをカンタンにつくるフレームワークCakeの紹介。

PEAR::PHP_Compatがアツイ件について

PHP

PEAR::PHP_Compatを使うと、古いバージョンの関数が使える。 PEAR::Manual::Componentsつい先ほどarray_combine使いたいなあと思っていたんです。これの良いところは、確かに使える使えないで良いというのもあるんだけど if (!function_exists('array_combin…