‘PHP’ カテゴリーのアーカイブ

コマンドラインオプションを隠す。

こんにちは、らいあです。
Dinoのプログラマーは毎日いろんなツールや関数を作って遊んでいるばかりではなくて、うまく案件を運用するという責務も負っていたりします。

今日、とある開発サーバをぼんやりと覗いていたところ、bash_historyに次のような行が残っている事に気づきました。

mysql -u hogehoge –password=hogehoge hogehoge_db

(続きを読む…)

講習会「PHPの未定義値と値の検査」を開催しました

「PHPの未定義値と値の検査」というタイトルで社内勉強会を開催しました。PHPの型、未定義値、キャスト、==演算子などの知識の確認がテーマです。

まとめ

  • ==の挙動はキモいです。できるだけ===を使いましょう。
  • 未定義値にアクセスすると通常はNoticeが出ます。
    • isset関数とempty関数はNoticeが出ません。未定義値の可能性がある場合はまずどちらかでチェックしましょう。
  • isset関数はis_null関数と正反対の意味になります。
  • if($a)としたとき、$aをbooleanにキャストした真偽値として評価されます。
    • if(empty($a))が正反対の意味になります。

(続きを読む…)

講習会「Fabienに学ぶフレームワークの作り方」を開催しました

こんにちわ。arashoです。先日はじめての講習会講師をやってみました。
ちょっとアワアワしていますが温かい目で見守ってくだださい。
(続きを読む…)

コマンドラインなクラス

こんにちは、らいあです。
Dinoのプログラマーは毎日いろんなツールや関数を作って遊んでいます。
僕が今日作ったクラスを紹介しますね!

[19:13:45] ryerの発言:
$cmd = new CommandLine(‘rsync’);
$cmd->setOption(‘delete’);
$result = $cmd->execute();
なんかこんなライブラリをどっかで見たことあるんだけど
PEARでしたっけ、知ってるしといる?

[19:26:38] r_koikeの発言:
PEAR::System_Command ?

[22:19:18] ryerの発言:
こういうのがみつからなかったので作った。そんだけ・・・。

(続きを読む…)

Propelでたくさんの行をdoSelectする関数

こんにちは、らいあです。
Dinoのプログラマーは毎日いろんなツールや関数を作って遊んでいます。
僕が今日作った関数を紹介しますね。

Peerクラスにペタって貼り付けると使えます。
プログラムって楽しいですよね!

(続きを読む…)

携帯向けXHTMLを出力する場合に便利なPHPのパッチ

PHPでiモード用XHTMLを出力する際のトラブルと、トラブル対策としてPHPにパッチを当てる方法を紹介します。

ディノの過去の案件で実際にあったことなのですが、携帯向けにXHTMLのコンテンツを表示する際に、PHPで意外なトラブルが発生することがあります。具体的には、下記の状況でmb_output_handlerによる文字エンコーディング変換が効きません。

  • ドコモ携帯向けにXHTMLを出力する
    • Content-Typeを「application/xhtml+xml」とする必要がある(※1)
  • mbstringで外部エンコーディングをSJIS-winに変換したい
    • mb_output_handlerでの文字エンコーディング変換が「text/*」のときにしか有効にならない(※2)

(続きを読む…)

Services_Kaolaboを作ってみた

tsukimiyaです。
勉強会ネタが多くなってるので違う物も投稿します。
先日、富士フイルムが「顔ラボ」というサイトを公開し写真の顔認識を行うWebAPIを公開しました。

というわけで、とりあえず手軽に使えるようにライブラリを書いてみました。PEAR形式のパッケージにしたので

# pear install http://angelicwing.net/download/Services_Kaolabo-0.2.0.tgz

で、PEARのインストールディレクトリにインストールされます。

(続きを読む…)

printf関数のおさらい

社内勉強会として、「printf関数おさらい」と題してPHPのprintf関数のフォーマット文字列についての情報共有を行いました。printf関数は多くのプログラマの共通認識であり、0埋めなどが簡潔に書けますので、積極的に使いましょう、という話題です。

(続きを読む…)

正規表現講習会(その2)を開催しました

社内勉強会として、「他人の正規表現を読もう」と題して正規表現講習会の第二回を開催しました。「こんな正規表現があるよね」という情報共有のような回でした。きっと退屈な人も居ただろうと思います。基本的にはマニュアルに書いてあるようなことばかりなのですが、社内で「この正規表現なら全員が読めるはず」という線引きをする試みです。もし「何であれが入ってないの?」などあれば教えてください。

(続きを読む…)

正規表現講習会(その1)を開催しました

社内勉強会として、正規表現について喋ってみました。「最長一致」をテーマに、正規表現マッチのイメージが湧いていない人にもわかるような内容を目指したつもりですが、POSIXとPCREの最長一致の違いなど、ややマニアックな内容も含んでいます。

第29回PHP勉強会でも似た内容で発表させてもらいましたが、実はこの社内勉強会のプレゼンの一部を取り出して紹介したものでした。

今回のムービーはzoomeにアップロードしてみました。アップロードされている他のムービーと見比べると異色な内容のような気がしますが、ありがたく使わせて頂きます。

(続きを読む…)