2012-01-01から1年間の記事一覧

Redis各種コマンドの有効バージョン一覧

Redisの各種コマンドの使用可能バージョン一覧。 (※2012/12/30時点でのRedis最新バージョンは2.6.7)コマンド一覧) Command reference – Redis string コマンド 有効バージョン リンク APPEND 2.0.0. ※ BITCOUNT 2.6.0. ※ BITOP 2.6.0. ※ DECR 1.0.0. ※ DECRB…

monit: error connecting to the monit daemon

monit: error connecting to the monit daemon 『monit status』コマンド実行時、上記のエラーが出た場合、 Monitの設定ファイルに、以下を追加し、Monitの再起動を行う必要あり。 set httpd port 2812 allow localhost

PHPからMongoDBのAutoIncrementを使用する

MongoDBでfindAndModifyを使用したAuto Incrementの実装方法が公式サイトに載っています。Create an Auto-Incrementing Sequence FieldこれをPHPで実装する場合、以下のようになります。 Auto Increment用collectionの作成 あらかじめAuto Increment用のcoll…

AppFogで始めるFuelPHP

がっつり使ったわけではないので、とりあえず環境構築まで。 タイトルが変だけど、まーいいか。 AppFogのSIGN UP AppFogのアカウントが無いと始まらないので、http://www.appfog.com/にアクセスし、右上『SIGN UP』からAppFogのアカウントを作成します。 ア…

FuelPHPのAgentクラスが機能しない件

FuelPHPのAgentクラスは、デフォルト設定の場合、http://browsers.garykeith.com/stream.asp?Lite_PHP_BrowsCapINIからUA一覧を取得し使用していますが、このサイトが閉鎖したようで、 1.3以前のバージョンでAgentクラスをデフォルト設定で使用している場合…

FuelPHPのインストールから開発までの流れをおさらい

なんだかんだで毎回調べているような気がするので、 FuelPHPのインストールから諸々の下準備の流れをメモっておきます。以下を想定しています。 DocumentRoot : /var/www/html ProjectRoot : /var/www/sample FuelPHP Version : 1.3 1. FuelPHPのインストー…

ファイルの有無でメンテページへ切り替える為のmod_rewrite設定

あらかじめこの設定をしておけば、サイトのメンテナンス時、 毎回メンテページへのリダイレクトを設定する手間が省けます。 そこの『え?1回リダイレクトの設定すれば、後は毎回コメントを解除するだけなんだけど』とか言ってる人! ごもっとも。まー、色々…

シェルスクリプトで重複起動(二重起動)防止

シェルスクリプトの二重起動防止は、 ロックファイルを使用する pgrep、pkill、pidofコマンドを使用する 等、色々方法があると思いますが、 以下は、単純なファイル/ディレクトリ確認で重複起動チェックする方法です。 #!/bin/sh PIDFILE=$(basename $0).pid…

FuelPHPのテンプレートコントローラでPC/スマホの出しわけ

FuelPHPでテンプレートコントローラを使用している場合に、PCとスマホでビューを出し分ける方法を検討。ベースとなるテンプレートは スマホ : views/template_sp.php スマホ以外 : views/template.php スマホからアクセスされた場合、parent::before()を実行…

FuelPHP + RedisでTwitterもどき

元ネタはこちら。ケーススタディ — redis 2.0.3 documentation上記ページの内容をFuelPHPで実装しました。 ※一部実装を変えている部分があります。ソースはこちら。https://github.com/mmat/fuelphp-redis-tweet ユーザー登録ページ 入力チェックを通過した…

FuelPHPのクエリビルダを表にまとめた

※Ver1.2の情報なので最新バージョンと合わない部分があるかもしれません...タイトルそのまま。FuelPHP1.2のクエリビルダ関連を表にまとめました。 SELECT // SELECT * FROM... \DB::select() // SELECT `hoge`, `fuga` FROM... \DB::select(column1, column2…

FuelPHPのSimpleAuthでACL(Access Control List)

FuelPHPのSimpleAuthのACLの概要は、以下のようになっています。 ロールを設定ファイルで管理 ユーザーではなく、グループに対しロールがひもづく 以下、設定例になります。 config $ vi app/config/simpleauth.php 設定対象は『groups』と『roles』になりま…

FuelPHPのテーマクラスのサンプル

Fuelphpのテーマクラスのサンプルです。 『active』を変更する事により、テーマの切り替えが可能です。 サンプル Config app/config/theme.php 'mytheme1', 'fallback' => 'default', 'paths' => array(APPPATH.'views'), 'assets_folder' => 'themes', 'vi…

FuelPHPのAgentクラスと拡張

FuelPHPのAgentクラスは、下記URLからブラウザ情報を取得し、これを元にプラットフォーム等の判定を行っています。http://browsers.garykeith.com/stream.asp?Lite_PHP_BrowsCapINI上記URLへアクセスは最初に1度のみで、それ以降はキャッシュとして保持され…

Redisのバックアップ

Redisのバックアップ(スナップショット?)の取得方法のメモ。bgsaveでデータベースを保存、lastsaveで最終保存日時を確認後、データベースファイルをコピー。 $ redis-cli bgsave $ redis-cli lastsave lastsaveはUNIXTIMEで返ってくる為、要変換。 例) $ da…

FuelPHPでRedisを使用する

FuelPHPには、標準でRedisクラスが用意されている為、特別な事をする必要はなく、そのままRedisへアクセスが可能です。例によって、ソート済みセット型を使用した、ランキング風のサンプルで試しました。以下は、ユーザー名と年齢のリストをソート済みセット…

Redisでキーを全て取得

redisでキーの一覧を取得する為のメモ。 $ redis-cli > keys * または $ redis-cli keys '*'

PHPでRedisを試す

危険なほどのスピードを持つというKVS『Redis』。 redisドキュメント日本語訳を見て頂くと、Redisの持っている機能の概要が書いてあります。 インストール 自分の環境(CentOS 6.2)では、yumでインストールが可能でした。 # yum install redis # cp /etc/redi…

FuelPHPのRestコントローラ

FuelPHPにはRestコントローラというものがあります。 使い方は簡単で、『Controller_Rest』を継承したコントローラを作成し、その中に処理を入れていくだけで、以下のフォーマットの出力が可能になります。 (core/classes/format.phpを見ると、jsonpやらyaml…

FuelPHPでページキャッシュ

FuelPHPでページを丸々キャッシュする方法を調べたところ、『fuel-pagecache』というのを作っている方がいたので、試してみました。fuel-pagecache) https://github.com/xavividal/fuel-pagecache以下のような動作になっています。 Templateコントローラで出…

ページャー(Pagination)のリンク表示数

FuelPHPでページャー(Pagination)に書いた通り、FuelPHP標準のPaginationでは、カレントページより前のリンク表示数は、『num_links』で設定した値 - 1を表示するようになっています。(後はnum_linksで設定した数)例) これを、出来ればカレントページ番号を…

FuelPHPでページャー(Pagination)

FuelPHPでページャー FuelPHP標準のPaginationを使用したページャーを実装してみます。想定バージョン) FuelPHP 1.3CodeIgniterの標準のページャーは、offsetがURLに入り、残念な感じになっていましたが、FuelPHPではそんな事はないようです。今回は、ページ…

マスタを止めないMySQLのレプリケーション設定

いまさらながら、マスタDBを稼働させたまま、レプリケーションのスレーブを追加する為のメモ。前提条件は以下になります。 マスタのmy.cnfにて、『server-id』が設定されている マスタのmy.cnfにて、『log-bin』が設定されている ストーレジエンジンに『Inno…

FuelPHPのバージョン確認コマンド

FuelPHPバージョン確認方法 忘れそうなので、バージョン確認方法の個人的メモ。 $ cd {プロジェクトディレクトリ} $ php oil -v

FuelPHPで複数データベースの切り替え

FuelPHPで複数データベースを切り替える方法 FuelPHPでは複数データベースの切り替えが、CI同様、簡単に設定出来ます。参考) http://docs.fuelphp.com/classes/database/usage.html fuel/app/config/db.php まずは、DBのベース設定に対し、新しいデータベー…

FuelPHPでログイン機能をサクっと実装

SimpleAuthを使えば、簡単にログイン処理が実装出来てしまいます。 今回は手っ取り早く、Fieldsetを使用し、実装してみます。 オートロード設定 まずはauthパッケージを自動的に読み込むよう設定を行います。 fuel/app/config/config.php 'always_load' => a…

FuelPHPのエラーメッセージ日本語化

エラーメッセージ日本語化 前回作成したフォームで、FuelPHPの入力チェック時のエラーメッセージが、初期では英語の為、日本語化を行う。以下のサイトを参考にさせて頂いた。 FuelPHPのFieldsetでEメール送信 | WinRoad徒然草 設定 まずは『fuel/app/config/…

FuelPHPでフォーム作成 - Formクラス

Fieldsetは、デザイン的な部分で融通が利かない可能性があるので、Formクラスでの実装を試してみる。以下のサイトを参考にさせて頂いた。 FuelPHP の Fieldset を使おう(Form の自動生成) - A Day in Serenity @ Kenji Controller ControllerでFieldsetの場…

FuelPHPでcheckboxのバリデーション

checkboxのバリデーション 公式サイトのValidationを参考に、checkboxのバリデーションを行ってみた。 流れ バリデーション用クラスを用意 コントローラ側でバリデーション用クラスを呼び出し(add_callable) 該当のフォームにセット(add_rule) fuel/app/clas…

FuelPHPでフォーム作成2(Fieldset) - Validation

Fieldsetでのバリデーション 前回作成したフォームに対し、入力チェックを付けてみる。基本的には、addで作成したフォームに対しadd_ruleで、入力チェックルールを追加していく形。 例 $form->add('name', 'お名前', array('maxlength' => 8)); ->add_rule('…