2007/11/30 金曜日

Smartyで文字を連結する -> cat

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

ふと、Smartyで文字列を連結したくなりましたが、やり方がわかりませんでした。
{$hoge + $huga}
とか?

いやいや、

cat
与えられた変数に値を連結します。

SMARTY:
  1. {$articleTitle|cat:" yesterday."}

という方法で連結します。簡単ですね。

2007/11/29 木曜日

MySQLでIPアドレスを数値として扱う

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

kawama.jp: MySQLでIPアドレスを扱う(INET_ATONとINET_NTOA)

INET_ATON(たぶんAddressTONumberの略)はネットワークアドレスを10進数に変換してくれる関数です。数値に変換することで、SQLでのネットワークアドレスの扱いがぐっと楽になります。ちなみに逆バージョンのINET_NTOAというのもあります。

MySQLでIPアドレスを扱うのに楽ちんな関数です。

マニュアルでは

INET_ATON(expr)

文字列として指定された、ドット 10 進表記のネットワークアドレスを、そのアドレスの数値を表す整数として返す。 アドレスとして、4 バイトまたは 8 バイトのアドレスを指定できる。

mysql> SELECT INET_ATON("209.207.224.40");
-> 3520061480

生成される数値は、常にネットワークバイトオーダーで生成される。たとえば、上の例の数値は、209*256^3 + 207*256^2 + 224*256 +40 として計算される。

INET_NTOA(expr)

数値として表現されたネットワークアドレス(4 または 8 バイト)を、ドット 10 進表記のアドレス(文字列)として返す。

mysql> SELECT INET_NTOA(3520061480);
-> "209.207.224.40"

こうあります。
IPv4アドレスが簡単に32ビットで保存できますね。

2007/11/27 火曜日

PHP5のfgetcsv()関数はロケールと文字コードを正しく設定しなければならない

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

Nabble - Php Japan - PHP-dev - [PHP-dev 1205] PHP5のfgetcsv()関数について

PHP 5.0 の fgetcsv() はロケールの設定に依存します。

だそうです。

locale の設定はsetlocale() 関数によってスクリプト中で動的に変更可能です。

ので、問題がある時は変更します。

CSV処理は作ってみると想像以上に面倒なのでfgetcsvを利用したいところですが、その陥穽にはまらないように、ということで。気をつけましょう。

2007/11/26 月曜日

PHP Paypal IPN Integration Class

Filed under: ライブラリ — ne-zu @ 23:59:16 このエントリをはてなブックマークに追加

PHP Paypal IPN Integration Class

海外向けに課金サイトを作成するときはPaypalを用いると楽ちんな気がします。日本じゃイマイチメジャーになりきれていないですが。。
そんなPaypalをPHPで使うためのライブラリです。使い機会があるか、、な?

2007/11/25 日曜日

Zend_Db_Table使用時にID列だけを抜き出す。

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

表題のようなこと、Zend_Db_Table_Abstractを継承したテーブルクラスを使って、テーブルのサロゲートキー(や、他の列1つ)を抜き出す時には、どのような解がよいのでしょうか。私は愚直にSQLで

PHP:
  1. <?php
  2. class Hoges extends Zend_Db_Table_Abstract
  3. {
  4.     protected $_name = "Hoges";
  5.    
  6.     /**
  7.      * IDのリストを返します。
  8.      *
  9.      * @return array id_list
  10.      */
  11.     public function getIdList()
  12.     {
  13.         $sql = "SELECT id FROM " . $this->_name;
  14.         $result = $this->_db->fetchCol($sql);
  15.         return $result;
  16.     }
  17. }

などとしてしまいます。もう少しスマートなやり方もあるかと思うのですが。
皆様はどうでしょうか。

2007/11/24 土曜日

Zend FrameworkでSmarty使用時に修正子プラグインを使うには。

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

Zend FrameworkのViewHelperとしてSmartyを使用している場合に、Smartyの修正子プラグインを使う時、みなさんどのように組み込んでいますか?
とりあえずや、そのコントローラ内でしか使用しない修正子の場合は、コントローラのメソッドとして書き込み、

PHP:
  1. class IndexController extends Zend_Controller_Action
  2. {
  3.     public function indexAction()
  4.     {
  5.         $this->view->getEngine()->register_modifier(
  6.             "hoge",
  7.             array($this, 'smarty_modifier_hoge')
  8.         );
  9.     }
  10.  
  11.     public function smarty_modifier_hoge($string)
  12.     {
  13.         return $string . " and hoge.";
  14.     }

あるいは、

PHP:
  1. $this->view->getEngine()->register_modifier(
  2.             "hoge",
  3.             array('IndexController','smarty_modifier_hoge')
  4.         );

のように組み込みんだりします。

2007/11/23 金曜日

PHPExcel 1.3.5 released

Filed under: ライブラリ — ne-zu @ 23:49:10 このエントリをはてなブックマークに追加

PHPExcel 1.3.5 released

PHPExcelがついに2003以前の形式に対応です! PHPExcelWriterであった1つのセル内の文字列が多すぎるとバグってしまう症状が出ないかどうかが非常に気になりますので、そのうち触ってみて報告します!
バグらないとしたら非常に素敵ライブラリですよね。

2007/11/22 木曜日

MobilePictogramConverter 絵文字変換ライブラリ

Filed under: ライブラリ, モバイル — ne-zu @ 23:13:16 このエントリをはてなブックマークに追加

MobilePictogramConverter 絵文字変換ライブラリ
PHPで作られた、3キャリア対応の絵文字変換ライブラリです。

* DoCoMo, au, SoftBankの絵文字を相互変換可能
* 端末からサーバーへ送信された絵文字の変換が可能(掲示板など)
* SJIS/UTF-8に対応
* PCでの絵文字表示が可能(画像)
* 絵文字画像は全て透過GIFでアニメーションに対応
* DoCoMo隠し絵文字一部対応
* バイナリコード, Web入力コード, imgタグからの変換が可能
* 絵文字の削除が可能
* 文字列に含まれる絵文字の数を検出
* UserAgentからキャリアを判別し、キャリアに合った絵文字に自動変換が可能

こういうものを公開してくれるのは素晴らしいです。そして公開することで(フィードバックなどで)クオリティが高まっていく、と。ポジティブスパイラルですね。

2007/11/21 水曜日

PHP でサーバソケットプログラミング (2)

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

So-net blog:Rainy Day Codings:PHP でサーバソケットプログラミング (2)

Socketで複数接続可能なサーバを解説されていて勉強になります。

PHP でサーバソケットプログラミング (1)も一緒にどうぞ。いつか使う時がくるだろうか。幅を広げるためにも一度やってみなくてわ!

2007/11/20 火曜日

CakePHP 管理画面を作成する方法

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

CakePHP 管理画面を作成する方法 | Sun Limited Mt.

Cakeを使う時用メモ。

次のページ »

Powered by PHP-SeeD and WordPress ME