Category Archives: ツール

Zend FrameworkでFlexigrid習作

Flexigrid

Jqueryベースのテーブル修飾script、FlexigridをZend Frameworkで使ってみよう、という習作です。

マイコミの記事を参考にしながら作ってみました。

テーブルデータは
id,title,description,date
のありがちな感じで。

とりあえずは、テンプレート。Smartyで作ってありますが、HTMLそのままですから、他のテンプレートでも問題ないでしょう。

[smarty]





Flexigrid Test





[/smarty]

確かjqueryは$(){~だけで、ready()の効果があるような気がしたけど、とりえあず。
Flexigrid本体は、ダウンロード>解凍したものを、ルート/js/flexigrid/の中に直接放り込んであります。今回はjqueryだけ、別途用意したものを読み込んでいますので、pathにご注意ください。
このテンプレートを/flexigrid/index.tplとして保存。

次は、コントローラ部。
上記、ajax部で、/flexigrid/json/を呼んでいますので、jsonActionを内包したコントローラとなります。

[php]
_helper->viewRenderer->setNoRender();

// postリクエスト以外には応対しない。
if (!$this->_request->isPost()) {
return;
}

// リクエストのフィルタリング。
$f = new Zend_Filter_StripTags();

$qtype = $f->filter($this->_request->getPost(‘qtype’));
$query = $f->filter($this->_request->getPost(‘query’));
$page = $f->filter($this->_request->getPost(‘page’,1));
$rp = $f->filter($this->_request->getPost(‘rp’,10));
$sortname = $f->filter($this->_request->getPost(‘sortname’, ‘id’));
$sortorder = $f->filter($this->_request->getPost(‘sortorder’, ‘desc’));

// 該当テーブルの読込。
$table = new Table();

// レコードの総数を求める。(もっと良い方法ありませんか?(^_^;)
// いつもはテーブルクラス側にcount()メソッドを作ってsqlを走らせてます)
$count = $table->select()->from($table, ‘count(id)’)
->query()->fetchColumn();

// クエリ。
$select = $table->select();
$select->limitPage($page, $rp)->order(“$sortname DESC”);
if ($qtype && $query) {
$select->where($qtype . ‘ like ?’, $query);
}
$rows = $select->query()->fetchAll();

// jsonの作成。
$json = array
(
‘page’ => (int) $page,
‘total’ => (int) $count,
);
foreach ($rows as $row) {
$tmp = array();
$tmp[] = $row[‘id’];
$tmp[] = $row[‘title’];
$tmp[] = $row[‘description’];
$tmp[] = $row[‘date’];
$json[‘rows’][] = array(‘cell’ => $tmp);
}
echo json_encode($json);
}
}
[/php]

最後、array $jsonに放り込んでいるところは、array_valuesでもっとスマートにいくんじゃないかな。
前提条件として、Zend_Db_Table_Abstractを継承した、`table`クラスがあるとしています。
こんな感じで

[php]
class Table Extends Zend_Db_Table_Abstract
{
}
[/php]

特に何もいりませんが。

無事、動作しましたでしょうか?
prototypeよりjqueryという方は、flexigrid、良いと思います。

Phingを使い倒す

Phingを使い倒す

PHPのAntといわれるPhingです。どういう利点があるのがイマイチ分からないので(^_^;) これから記事が増えるのを期待しています!

mod_top

mod_top – PHP Application Monitoring | VT’s Tech Blog

mod_phpのtopですかね。面白そうです。

phpMyBackupPro

phpMyBackupPro – the MySQL backup tool :: Features

WEB上からMySQLをバックアップするためのソフトです。スケジューリングや、ftp、メールにバックアップデータを転送できるのが特徴でしょうか。

インストール方法は、

・ダウンロード
・解凍
・アクセスできるディレクトリへコピー
・global_conf.phpとexportフォルダの権限を書き込み可能に
・ブラウザからアクセス

でmysqlの設定などをWEB画面から行ってください。
無事バックアップできましたでしょうか。
二度目以降のアクセスに必要なユーザ名とパスワードはDBへ接続する際のものとなります。

Pligg日本語化

Pligg入れてみた+日本語化 – Vox

昨日に引き続きのPliggです。Pliggの日本語化をされています。ぜひ活用させていただきます!

CodeZine:Delphi for PHP はじめの3歩 その1(開発環境)

CodeZine:Delphi for PHP はじめの3歩 その1(開発環境)

おー、DelphiでPHP。これはちょっと触ってみるしか。WinAPPも作れたりすると素敵かもしれません、が、PHPでWinAPPは結局つかわなかったり(^_^;)

CodeSnifferを使い倒す

CodeSnifferを使い倒す

PHP_CodeSnifferとはJavaでいうところのCheckstyleのようなもので,PHP5で動作するPHP用のコーディング規約チェックツールです.
PEAR 標準コーディング規約,Zend Framework PHP 標準コーディング規約のチェックが最初から含まれており,
また独自チェックも,ルールに従って作成することで可能となります.

しばりがあるというのは良いこと。これは使いたいツールです。

LiveValidationPHPの続き

先日話題に出たLiveValidationPHPですが、アシアルの中の人がさわってみた記事がありました。

また、JavaScriptがOFFの状態でも、きちんとサーバサイドでのバリデーションが実装されているのでとても便利です。

おーなるほどなあ、と思いました。それならば確かにPHPでやるメリットがありますよね。Javascriptが利用できる時はLiveValidation、利用できない時はサーバサイドでPHPといった処理が1つの記述でできるのですから。これは素敵かもです。

PHPでLivaValidation

ちょっと前にPHP界隈で取り上げられていたLiveValidationPHP。PHPでやる意味は何かな、とexampleを見てみると

[php]
$html=””;
$frmTestLive=new LiveValidationMassValidatePHP(“frmTestLive”,$_POST);
$frmTestLive->addRules($formRules[“frmTestLive”]); // get the rules
$html=$frmTestLive->generateAll();

print ““;
[/php]
LiveValidation用のJavascriptが簡単に作れる、という感じでしょうか。そしてAjax?ですね?
機会があれば組み込んでみるテストのメモ、ということで。

PDT1.0がリリースされたようです。

Eclipse、PHP用の開発環境「PDT 1.0」をリリースということで、1.0 Release バージョンがリリースされています。

http://download.eclipse.org/tools/pdt/downloads/

今まで別バージョンを使っていた方は、今回からEclipse3.3が必要になりましたので、とりあえず別ディレクトリにインストールして試してみてはどうでしょうか。