PHP

CamelCase to snake_case

PHP

$snake_case = strtolower(preg_replace('/([a-z0-9])([A-Z])/', '$1_$2', $CamelCase)); ってのをした;

sfDoctrineMasterSlavePluginを使う時のTips

Symfonyアドベントカレンダー2010には忙しすぎて参加していません(ごめんなさいx2) Doctrine on symfony1.4でマスタースレーブ | やぐにっきに、ちょっと補足しておくと喜ぶ人がいる気がしますので書いてみます。 その前に symfonyの情報を沢山提供してくだ…

クロージャー

PHP

create_functionをつかっちまった。 クソやろーとか言ってごめんなさいごめんなさい。こんな風に引数渡せるのね。 data, function ($a, $b) use ($column, $sortOrder) { return…

findしたファイルを一括で全角→半角変換する"PHP"のワンライナー

find data/*.yml | xargs php -r 'array_shift($argv); foreach ($argv as $file) {if(file_exists($file))file_put_contents($file, mb_convert_kana(file_get_contents($file), "rk", "utf-8"));}' あえてのPHP! w

phpの配列を文字列にするあれこれ

DoctrineでResultCacheを使うときに、timeを扱うフィールドがあると効果がないので、キャッシュキー生成の部分をオーバーライドしている。元のコードは getDql(); $hash = md5($dql . var_export($this->_pendingJoinConditions, true) . 'DOCTRINE_QUERY_CA…

phpのinstanceofとis_subclass_of()の違い

is_subclass_ofつうのを発見した

APCの挙動

phpのAPCを最近良く使います。使い方はカンタンで、

arrayの結合

間違えたのでメモ…# Array + Array; % php -r 'var_dump(array("a", "b", "c") + array("d", "e", "f", "g", "h"));' array(5) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "g" [4]=> string(1) "h" } # array_merge(Ar…

symfonyのadmin generatorをジャパナイズするための3ステップ

symfonyのadmin generatorは、これがないと開発しませんと言いたくなるほど便利で大好き。日本語化もsymofny1.4ではi18nのmessage.xmlがデフォルトで付属しているので簡単だ。しかし、いろいろ知らないと結構めんどくさいことになる まずは基本中の基本であ…

add .zshrc

function json_dump() { php -r 'print_r(json_decode(file_get_contents($argv[1]), true));' $1 }php great!

symfony1.4を海外のサーバーで動かすときに注意すること

localで開発をしてAmazonEC2で運用しようとしたら、えらいハマった。考えてみれば当たり前なんだけど、しばらく国内サーバーばかり使ってる温室育ちのボクはすっかり忘れてた。 タイムゾーンが違うのよね。。。今回の場合は、ローカルで現在時間で公開時間を…

FizzBuzz問題

PHP

ハテブみてたら「http://b.hatena.ne.jp/entry/okajima.air-nifty.com/b/2009/12/post-f94c.html」こんなんがあって、 それをたどって「http://okajima.air-nifty.com/b/2009/12/post-7adb.html」みたら「FizzBuzz問題」なるものの存在を知った。 最初のプレ…

symfony1.0と1.4の違い

メモをつらつらと気が向いたときに sfConfigCache - sfConfigCache::getInstance() + sfContext->getConfigCache() setting - sf_congfig_cache_name

コマンドラインからphpでワンライナーでごにょるのがマイブーム

PHP

awkとか使えって?CLIもPHPだ! php -r 'foreach (glob("*.fla") as $f){$s=split("[\_\.]",$f); foreach(range(1,5) as $i){passthru("cp ".$f." ".$s[2]."_".$i.".fla");}}' ディレクトリのファイルを全部複製してリネームしていくつか作るのもこんなに簡…

APCスゴい

PHP

担当してるサービスが結構流行ってます。 昨日まで跳ね上がるLAに苦しみ続けていたんですが、APCの設定を少しデフォルトから変えてみたら LAが50overから3まで一気に下がった。すごい

CLIのPHPで出力結果に色をつける

PHP

テストの時とか、ちょっとしたスクリプトで結果に色がつくとテンションが上がる付けてみた

MySQLのORDER BY RAND()

ビビった。 今まで普通にORDER BY RAND() を使っていたけど、ORDER BY RAND()は一度前件取得してからランダムで1件を取得するためパフォーマンスが悪いらしい。http://d.hatena.ne.jp/mtomiz/20080125/1201277390実際、僕の担当しているサービスで、過去にユ…

pecl install でAllowed memory sizeエラー

PHP

pecl install でAllowed memory sizeエラーになった php.iniの設定はなぜかきかなかったので /usr/share/pear/peclcmd.php に、適当にiniset('memory_limit', '16M'); と書いたら上手く言った

symfony1.0で作っておくと良いユーティリティ

僕みたいにORM嫌いが、ORM大好きなひとのコードをリファクタリングしているときに、よくやるのがORの影響で膨大になったクエリを減らす作業です。 symfony1.0 (Propel)だとPropelでフォルトのJOINをつかっていると気づくとレコード数×外部キーのクエリが発効…

PHPのImagickの主なコマンド

僕はGDかImageMagickコマンドをexecする派だったんだけど、 Imagickをつかわないとどうにもコマンドが足りなかったので初体験した。 最初ドキュメントがphp.netだけしかなくてどうしようかと思ったけど、よく見たらImageMagickのconvertコマンド程度とASとか…

symfonyで作った携帯サイトでログ解析

携帯サイトをsymfonyで作るのが良いか悪いかはおいといて、symfonyで携帯サイトを作った時のアクセス解析の問題。 filterを作ってDBにログを貯める apacheのログを解析 外部の解析ツールを使う 等が考えられますが、使いやすいUIを作ることを考えると、しばらく…

symfonyでSQLのみトレースする

web debug on にすれば万事解決だけど、携帯とか出せないときにSQLの実行文だけとレースする方法のめも tail -f log/front_dev.log | grep -i 'executeQ

exciteの携帯サイトがひどすぎる件

僕にとってはおいしいが、セキュリティーを何も考えていないので、PCからでも会員になれる。 事実音源ダウンロードしまくれた。http://musicfull.excite.co.jp/i/?uid=NULLGWDOCOMOひどい。。。 PS. しかし、http://mobiledesignarchive.jp/ は1ヶ月で321も…

symfonyで無理矢理PDOを使う

Propel大嫌いです。せめてバッチくらい素のSQLを書きたいPDOを使いたい そんな時こんな感じでsymfonyでPDOのインスタンスを取得できる class PDOUtil { public static function getPDO($database = 'propel') { static $pdo = array(); if (!isset($pdo[$dat…

symfonyでview.ymlのテンプレートをつくる

view.ymlクソめんどくさい。 書きたくない、やだ!てことで、せめてタイトルだけでも入れようよって、自分のために作った。createViewYml.php #! /usr/bin/php 使い方はroot/batchとかにおいて createViewYml.php [app] [module] 動作の保証はしない

docomoでPOSTする時のguid

PHP

公式が多かったせいか気づかなかったけど ドコモIDってPOSTでBODYに hiddenタグでguidを渡しても無視される <form action="http://hogehoge.com?guid=ON" method="POST"> <input type="text" name="a" value=""> <input type="submit" name="b" value="DO"> </form>

phpのfile関数

PHP

慣れ親しんだPHPだけど、知らない関数やらパラメータがあるもんだねー $data = file('path/to/file', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);で改行、空行を無視できる file_put_contents('path/to/cache.php', '

自分の育った環境が恵まれていたと思う瞬間

PHP

ヤバイPHPアプリケーションを嗅ぎ分ける7つのポイントちょっと引いた。 おれこんな状況経験咲いたこと無い。PHPなのに設定ファイルがXMLなんてありえんの?(ymlでさえありえないと思ってる)それ設計した人は死んでください。。。 extractとcreate_functio…

Zend_AMF

Zend Framework 1.7からAMFもはいるみたいうっすら記憶にあったけど、AMFPHPが使いやすいからいいやと思ってたけど今度使ってみるhttp://zfdocs.riafox.com/index.html http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Amf/

ip2long

PHP

なんて関数あったの初めて知った。long2ipも PHP以外と色々ある