メモ

PHPer.jpでSymfony2のblogチュートリアルを動かすためにやったこと

http://phper.jp/でhttp://docs.symfony.gr.jp/sf2-blog-tutorial/を動してみたので、雑なまとめですが、やった設定の備忘録。最終的に下記のような構成に。 /path/to/approot/ - .phper/ # phper.jp用設定ファイル群 - Symfony/ # blogチュートリアルアプリ…

mod_rewriteでリダイレクトあれこれ

ドメインの正規化 wwwあり・なしをどちらか片方に寄せたい場合。 今回はwww.example.comなど、example.com以外でアクセスされたらexample.comにリダイレクトする設定。 <VirtualHost *:80> # (1) ServerName example.com ServerAlias www.example.com RewriteEngine On # (2) R</virtualhost>…

Exuberant ctagsでphpのconstも拾うようにする

こちらのexuberant ctags 日本語対応版そのままではconstを拾ってくれなかったので、 見よう見まねでpatchを書いてみたのですが、その後に気がつきました。 実はこんな感じで--regex-PHPを引数で渡すだけでよかった。。 $ ctags -R -e --langmap=PHP:.php --…

リージョン内のコードを実行

(defun php-eval (beg end) "Run selected region as PHP code" (interactive "r") (let ((code (concat "

ファイル末尾の改行を削除

巷で話題の非常に便利なyasnippet。すばらしい。 で、仕事用のmysnippetをいろいろ書いてから気づいたのですが、 これって、ファイル末尾の改行も展開時に挿入するんですね。 yasnippetを使っていて、展開後末尾の改行は個人的に必要なかったので、全部除去…

無名関数はだめ

最近、Perlの方が良く触れてるので、PECL/perlを少し試してました。 eval('sub { 2 * shift }'); var_dump($func(10)); $ php test.php Fatal error: [perl] Can't convert Perl type (12) to PHP in /home/tetsujin/work/php/perl/test.php on line 3 こう…

ファイル所有者変更

カレントディレクトリ以下のfoo所有のファイルを全て、bar所有のファイルに変更したい時。 $ sudo find . -user foo -print0 | sudo xargs -0 chown -h bar こうでもいい? $ sudo sh -c "find . -user foo -print0 | xargs -0 chown -h bar" GNU chownなら…

MySQLコマンドラインの表示結果を見やすく

今までデータの確認はphpMyAdminばっかり使ってたので、知らなかったことメモ。 mysql> show table status;とかすると、列数が多すぎて行が折り返し表示されて見づらい。http://dev.mysql.com/doc/refman/4.1/ja/mysql.html に書いている mysql> pager less …

arrayのインデント

$foo = array( 'bar' => array( 'baz' => array( 'qux' => array( 'quux' => array( ), ), ), ), ); ネストが深くなると見づらい。(極端な例だけど).emacs (add-hook 'php-mode-user-hook '(lambda () (c-set-offset 'arglist-intro '+) (c-set-offset 'argl…

謎の演算子

PHPへのオペレータ追加続き $ php -r '$users ||= "john"; echo $users[0];' johnおお!!!!!! var_dumpで確認 $ php -r '$users ||= "john"; var_dump($users); ' array(1) { [0]=> &string(4) "john" }え。文字列リテラルへの参照ってなに!? 数値を……

[ PHPに独自のオペレータを追加する

一歩進んだ。Y!のPHPエンジニア問題の $users ||= ‘john’; やっぱりgdb便利ですねー。 zend_exedute.c #define _CONST_CODE 0 #define _TMP_CODE 1 #define _VAR_CODE 2 #define _UNUSED_CODE 3 #define _CV_CODE 4 zend_vm_executer.h void zend_init_opcod…