Monthly Archives: 8月 2007 - Page 2

SmartyでPHPの定数を出力するには。

Smartyマニュアル を紐解くと、

{$smarty.const}

PHP 定数の値に直接アクセスできます。smarty 定数 も参照してください。

// php で定義されている定数
define('MY_CONST_VAL','CHERRIES');
?>

定数を出力するテンプレート

{$smarty.const.MY_CONST_VAL}

とあります。メモメモっと。

Akelos フレームワークのドキュメント

Akelos フレームワークのドキュメント日本語訳が公開されています。ちょっとAkelosをさわってみようという方はこれを参考にするとよいと思います。

しかしPHPもフレームワークいっぱいありますね。私はMVCなフレームワークなら、何でも構わないと思っているのですが、とりあえず今はZend Framework派です。なんでZend Frameworkなんだい? と聞かれれば PHP5 Nativeだから、と。そこが一番大きいですね。

PHPでセッションの有効期限だったり、GCだったりの話。

PHPでセッションの有効期限が session.gc_maxlifetime で決められますが、別にセッションの中に時間のデータを持っているワケじゃない、んだそうです。

というワケでPHPマニュアルのセッション処理部分を見直していたのですが、

session.save_path は、保存ハンドラに渡される 引数を定義します。デフォルトのファイルハンドラを選択した場合、 ファイルが作成される場所のパスになります。デフォルトは、 /tmp です。 session.save_pathのパスの深さが2より大きい場 合、ガーベッジコレクションは行われません。 session_save_path()も参照してください。

ession.save_pathのパスの深さが2より大きい場 合、ガーベッジコレクションは行われません。行われませんかー。session_save_path()でいらなくなったセッションファイルを削除していくのかな・・

PHPでPDF

PHPでPDFを扱う場合にはFPDFが基本らしい、とか。ふむふむ、というワケでメモ。

http://php.atseason.com/?eid=204061

strtotimeのmonthを使用した時に気をつけるべきこと。

先月の最終日を求めようとした時に気をつけるべきことを紹介されています。便利な関数ですが、ちょっとした思い違いで落とし穴が、、というコトで。
日付を扱う場合には、できるならPEAR::Data_CalcやZend_Dateを使ったほうが確実ですかね。

Smartyでオブジェクト変数を埋め込むには。

今まで、こんなこと言ってましたが、マニュアル見たらやり方が普通に書いてありました。

その他の文字、たとえば .(ピリオド)や $object>reference(オブジェクト参照)を含む場合は、 その変数を `バッククォート` で囲む必要があります。

というわけで、“で囲んでしまえばバッチリです。例えばpopupの中にオブジェクトを入れるには、

[smarty]
sticky=true
caption="PHP-SeeD"
text="`$obj->description`”
snapx=10
snapy=10}>PHP-SeeD

[/smarty]

こんな感じですね。

Zend Frameworkで簡単にRSS2.0・ATOMを読み込むには。

Zend FrameworkのZend_Feed::importを使ってRSS2.0やATOMを簡単に読み込めます。

[php]
$feed = Zend_Feed::import(‘http://www.php-seed.net/blog/feed/atom’);
[/php]

後はオブジェクトから必要な値を取り出すだけです。
[php]
foreach ($feed as $item) {
echo(‘

    ‘);
    echo(‘
  • ‘);
    echo(‘

    さくらインターネットで添付画像付きのマルチパートメールを送る

    さくらインターネットで添付画像付きのマルチパートメールをPHPで送ってみる、という記事がウノウラボさんで公開されています。

    ベタ書きで、メール送信の仕組みがわかる記事になっていると思います。用途が限定されているならばこういう風にサクっと書いてしまうのもよいですよね。

    この例に挙げられている用に

    //ヘッダ情報
    $sendto = “ここに宛先メアド”;
    $subject = “ここにサブジェクト”;
    $headers = “FROM:” . “ここに送信元メアド”. “\r\n”;
    $headers .= ‘MIME-Version: 1.0′ . “\r\n”;
    $headers .= ‘Content-Type: multipart/related;boundary=”1000000000″‘ . “\r\n”;

    //テキストパート、HTMLパート
    $message =<<

    --1000000000
    Content-Type: text/plain; charset=iso-2022-jp
    Content-Transfer-Encoding: 7bit

    boundaryを1000000000にするというのはよくある手法なのでしょうか。

zend_controller クイックスタートが紹介されています

laboratさんで、zend_controllerのクイックスタートが紹介されています。簡単な例ですごくわかりやすいですね。
コントローラだけでも十分にZend Frameworkを使う価値があると思いますので、まだZend Frameworkを触ったことが無い方はぜひ参考に動かしてみてください!

phpdevでLAMPをお手軽インストール

phpdevってあるのですね。知らなかったです。LAMP環境が簡単にインストールできるみたいです。

参考サイト

と言っておきながら私はXampp派なんですけど。いつかXamppを楽ちんに使う記事を書きたいと思います。