‘PHP’ カテゴリーのアーカイブ

CakePHP 1.2でオーバーライドが効かなくなる

レアケースだし、何かしらのミスだと思うのだけど一応。

app_controller.phpをはじめ、app/側に何を置いてもcake/側のファイルが優先されてしまって処理が効かないという現象があった。

app/tmp/cache/以下のキャッシュファイルを全部消したら直った。

直らなくて数時間無駄にしてしまった…


CakePHP 1.2でXML-RPCサーバを作る

CakePHPでXML-RPCを受取る方法を調べていたら、タイムリーに超便利な方法が紹介されていた。

How to create an XML-RPC server with CakePHP (Articles) | The Bakery, Everything CakePHP

やることは2つ。

  1. xmlrpc.zipをダウンロードして、解凍してapp/vendorsに置く
  2. コントローラを書く

てっとり早く、上記サイトからxml_rpc_controller.phpをコピーして作成すると、設置も簡単に行える。

メソッドごとにコールバックを定義していけばOK。

前回のエントリ[Pythonで簡単にXML-RPCクライアント : blog.loadlimits – digital matter –]で書いたPython版のクライアントの場合はこんな感じで受け取れる。

<?phpApp::import('Vendor', 'xmlrpc');
class AddController extends AppController {
var $name = 'Add';
var $uses = array();
// The XML-RPC server object
var $server = null;
function index() {
// Disable debug information
// Required to generate valid XML output
Configure::write('debug', 0);
// Avoids render() call
$this->autoRender = false;
// XML-RPC callbacks settings
// Use this parameter to map XML-RPC methods to your protected or private controller methods
$callbacks = array();
$callbacks['sample.hogehogeAPI'] = array(&$this, '_saveData');
// Handle XML-RPC request
$this->server = new IXR_Server($callbacks);
}
function _saveData($data = array()) {
ob_start();
var_dump($data);
$str = ob_get_contents();
ob_end_clean();
return $str;
}
}
?>

結果はこんな感じ。

array(6) {
  [0]=>
  array(1) {
    ["image"]=>
    string(4) "hoge"
  }
  [1]=>
  array(1) {
    ["username"]=>
    string(4) "name"
  }
  [2]=>
  array(1) {
    ["title"]=>
    string(10) "item title"
  }
  [3]=>
  array(1) {
    ["mail"]=>
    string(11) "user e-mail"
  }
  [4]=>
  array(1) {
    ["comment"]=>
    string(12) "item comment"
  }
  [5]=>
  array(1) {
    ["itemlist"]=>
    array(4) {
      [0]=>
      int(3)
      [1]=>
      int(2)
      [2]=>
      int(3)
      [3]=>
      int(1)
    }
  }

非常に便利。


CakePHP 1.2でオーバーライドが効かなくなる

レアケースだし、何かしらのミスだと思うのだけど一応。

app_controller.phpをはじめ、app/側に何を置いてもcake/側のファイルが優先されてしまって処理が効かないという現象があった。

app/tmp/cache/以下のキャッシュファイルを全部消したら直った。

直らなくて数時間無駄にしてしまった…


Delphi for PHP 2.0発注

発売されたもののSEShopにもなくて、ずっとどこで買えるか謎だったDelphi for PHP 2.0がAmazonに入ってた。

ぉ?じゃあもしやと思ってヨドバシのサイトで検索したところ、ヨドバシでも取り扱いを開始していた。

そんなわけで早速ポチってみました。取り寄せで、いつ届くのかわからないけど。


Delphi for PHP 2.0 発表

CodeGear™、PHPで初めてドラッグ&ドロップ開発を実現したビジュアル統合開発環境の新バージョン「Delphi® for PHP 2.0」を発表
http://www.codegear.com/jp/article/37886/

キ・キ・キ・キタ━━━━━━(゚∀゚)━━━━━━!!!!

1.0は結局見送ってしまったが、2.0になって日本語対応になったし、色々情報も貯まってきたっぽいので今度こそ買う!

ZendFrameworkも使えるし、デザイン連携も可能。テンプレートエンジンとかどうなってるんだろう。

そして相変わらずどこで買えるのかがイマイチわからない仕組み。


ZendFrameworkでPicasa

Zend Framework: Documentation

ZendFrameworkって結構色々ニッチな機能取り揃えているなぁと思っていたけど、Picasa Web Albumsに対応していることを知ってびっくりした。

これならやりたかったことができそう。
自宅のファイルサーバに保存されている写真を携帯から選択してPicasaにアップロード→携帯とかiPod touchで人に見せるとか、そういう使い方がしたい。

あとは撮った写真をその場でPicasaにあげる手段が欲しいなぁ…Eye-fiはちょっと微妙。
写真撮る→CFカードの内容を無線経由でPicasaにアップロード→アルバムのアドレスを他の人にも送って、見てもらうとか。公衆無線がない環境でも使いたい。
EM ONEとかって話になってくるな…


Pivot2

Pivotのバージョン2系列のスクリーンショットが公開に。 

機能とかの情報はこちら。

詳しくは読んでないけど、概要としてはこんな感じ。

  • 7月末あたりにファーストアルファリリース。
  • MySQLサポート
  • 以前のファイルによるデータ格納もサポート
  • PostgreSQLやSQLiteは追々サポート
  • フレキシブルな拡張機能のサポート
  • プラグインの承認テスト
  • 静的ページとチャプタ構造

…冷静に考えてみると地味だな。


DB_DataObjectでNOWを入れる方法

毎回忘れるのでメモ。

require_once('DB/DataObject/Cast.php');

$Users = DB_DataObject::factory('Users');
if (PEAR::isError($Users)) {
    (エラー処理)
    return FALSE;
}

(中略)

$Users->LastUpdate = DB_DataObject_Cast::sql('NOW()');
$Users->update();


VCL for PHP

VCL for PHP :: PHP Web Application Development Framework
http://www.qadram.com/vcl4php/

来たよー。
期待age


OpenCVをPHPから使いたい

使いたい。使えるようにしたい。

とりあえず現状ただの妄想。

それともすでに何かいい感じのあれがあったりしますかね?