FuelPHPでInnoDBの全文検索を利用してみる

こんにちは。お久しぶりの更新です。

「入力内容に対する類似テキストの検索」を実装する機会があったので、FuelPHPでInnoDBの全文検索を利用してみました。
とはいえFuel自体には全文検索をサポートする操作は特に無いので、だいたい自前で書きました。

手間無くそこそこの精度が出せたので、導入から使用例までメモとして残します。

PHPで開発するためのgit hookを作った

こんにちは。
久々の更新です。

最近Schemaというフレームワークを作っており、
PHPでの開発について色々と新たな知識を得る機会がたくさんあります。

そこでまずは開発環境の構築編として、最低限のお作法を担保する Gitのhook を作成してみました。

PHPのand,or演算子の使い道を考えてみる

突然ですが、PHPの問題です。

<?php

$a = false and false;
$a = true and false;
$a = true and true;

$a = true or true;
$a = true or false;
$a = false or true;
$a = false or false;

おなじみのand, or演算子の優先順位テストです。
それぞれの$aには何が代入されているでしょうか。

php5.4から使える[]での配列初期化と、array()との速度比較

こんにちは。 PHP 5.4から、[]による配列の初期化ができるようになりました。

最近の言語やC言語ですら使える[]構文が今までPHPでは使用できませんでした。
従来、PHPで配列を生成するにはarray()という関数を使用しなければなりませんでした。

[]が使えるようになったので疑問に思ったのですが、array()関数です。

関数であれば多少なり呼び出しのオーバーヘッドがあるはず。
そのオーバーヘッドを考慮したらarray()で配列を初期化するより[]と書いたほうが高速なのでは?

という疑問が出たので検証します。

phpのマジックメソッドを使ってRailsのfind_all_by_*メソッドを実装してみる

久々の更新です。
ネタは溜まっているんですがなかなか書くモチベが沸かず。

これから定期的に更新できるよう頑張ります。

今日はPHPのマジックメソッドについて書きます。

PHPのマジックメソッドの中に__callStaticというメソッドがあります。
これは、クラスで定義されていないメソッドに対してstaticなコールをした際に呼び出されるフックです。

この機能を使えば、Rubyでいうところのmethod missingのような挙動が可能になるのでは?
と考え、実験にRuby on Railsで以前まで使われていたfind_all_by_*を実装してみたいと思います。

ライブラリ等に依存しないシンプルなデモと、
実用化するために、FuelPHPのモデルを用いた例も作成します。

2013年 WEB EGGの振り返り

あけましておめでとうございます。
今年度もブログ記事を書いて参ります。
ご愛読いただいている方も、この記事で初めて当ブログへお越しいただいた方も、どうぞよろしくお願い申し上げます。

ブログを初めて1年ということで、
2013年に書いた記事のアクセス解析結果を公表しようと思います。

Githubで使えるキーボードショートカット

こんにちは。
GithubのWebサービス上でリポジトリやコードを見ている時に、

キーボードでポチポチ移動するの面倒だなー。
キーボードショートカットって無いのかなー。

と思っていたら想像していた以上に豊富なショートカットがありました。
ということで、今回はGithubで使えるキーボードショートカットをまとめました。

個人的に使わないと思った機能については省略してあります。
あらかじめご了承下さい。