CakePHP」カテゴリーアーカイブ

CakePHPのXMLレスポンスをListViewで一覧表示する

CakePHPのXMLレスポンスをストアアプリで一覧表示する | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/5374 の ListView 版です。GridView の場合、横スクロールなのですが、ListView は縦スクロール。WPF の ListView と同じ感じ…では使えないので結構面倒です。なので、フォームにあるリストビューを作りたい場合は下手に自作するよりもコンポーネントを買ったほうがいいような気がするのですが。Windows UI http://jp.infragistics.com/products/windows-UI.aspx のグリッドコントロールじゃないですかね。 が、あえて自作します。 こんな風にフォームアプリのように縦スクロール。右側にそれぞれの値を表示という画面です … 続きを読む

カテゴリー: CakePHP, WPF, WinRT | コメントする

CakePHPのXMLレスポンスをストアアプリで一覧表示する

CakePHPのXMLレスポンスをWPFで一覧表示する | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/5370 の Windows ストアアプリ版も作ってみます。 本当はListViewを使いたいところだけど、手始めに GridView を使うところから。もっと、WPFのListViewのようなダサいデザインを手軽に作れればいいのですが。どうもうまくいかない。 ■データモデルを作る WPFで作ったソースをそのまま流用しますが、一か所だけ違います。リフレクションでプロパティを取ってくるところで、拡張メソッドの GetTypeInfo を使います。なんで、こんな風にしたのか不明なのですが。 POJO なクラスはそのままで。 ■グリッドビューを作る VS2013 でグリッドのテンプレートを作ると、きれいな Grid … 続きを読む

カテゴリー: CakePHP, WPF, WinRT | コメントする

CakePHPのXMLレスポンスをWPFで一覧表示する

余裕があるうちにCakePHPとWPFの相互運用をまとめていく(準備編) | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/5329 の続きで、今度はWPF側からのコーディングです。 いわゆる、以下な感じな、リストビューとプロパティを表示するマスター画面を想定します。 一覧ボタンを押すと、Web APIにつなげて一覧を取得。リストビューの各行をクリックすると右側のプロパティに詳細な値がぽちぽちと表示されるパターンです。このあたり、WPFなので、適当に Binding を使います。最終的には、Visual Studio のプロパティウィンドウのように自動化を目指したいところなのですが…まあ、業務的には各種のプロパティウィンドウをちまちま作っています。というのも、完全に自動化してしまうと使い勝手が悪いこと … 続きを読む

カテゴリー: CakePHP, WPF | コメントする

CakePHPのWeb APIレスポンスをJSON型式で返す

業務では使わなかったのですが、JSON型式で返す方法も紹介しておきます。 1. app/Config/routes.php を書き換える 先頭の行に以下を追加します。 以下のように並べると、xml と json の両方が使えます。 2. app/Controller/AppController.php を書き換える RequestHandler コンポーネントを有効にすること、ページングの数を多めにとっておきます。 3. XML 用の View を作成する Controller で set した値を json/*.ctp ファイルに書いていきます。作るファイルは XML と同じで、index.ctp, view.ctp, add.ctp, edit.ctp になります。json に変換する場合は、json_encode 関数です。 index.ctp は、配列にします。 view.ctp, … 続きを読む

カテゴリー: CakePHP, WPF | コメントする

CakePHPのWeb APIレスポンスをXML型式で返す

CakePHP の通常 View ができたので、XML を返す Web API用のビューを作ります。 [CakePHP] RESTを使ってViewをXML形式で返す | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/4871 と基本は同じです。View の各フォルダに xml フォルダを作成して対応させます。いちいち同じファイルを作らないといけないのが面倒ですが、適当なスクリプトを作って自動化させておくとよいでしょう。 1.app/Config/routes.php を書き換える 先頭の行に以下を追加します。 2.app/Controller/AppController.php を書き換える RequestHandler コンポーネントを有効にすること、ページングの数を多めにとっておきます。 デフォルトでは 20 … 続きを読む

カテゴリー: CakePHP, WPF | コメントする

CakePHPとWPFの相互運用 cake bake を使って MVC を自動生成する

最初に CakePHP の cake bake all を使って Model/View/Controller を一気に作成したいところですが、既存のデータベースから移行する場合、CakePHP の複数形ってのにひっかかります。 データベース上に store というテーブルがあって、これに対応する MVC を作ろうとすると、こんな風に Model.php 内でエラーがでます。CakePHP のテーブル名のルールとして複数形にするわけで、本来ならば「stores」を探しているのですが、このテーブルがありません、ってな具合ですね。 Model 名は「Store」なんだから、なんとか store テーブルも見つけてくれれば便利じゃないかと思うんですが、これで結構悩みます。 で、テーブル名を変えられる、あるいは新しいシステムの場合はいいんですが、既存のシステムがあったり、それなりの命名規約があたりす … 続きを読む

カテゴリー: CakePHP, WPF | コメントする

余裕があるうちにCakePHPとWPFの相互運用をまとめていく(準備編)

去年末にリリースした、某予約システムですが、CakePHPとWPFの相互運用をしています。この発想は、手始めに Silverlight+WCFの組み合わせで実験 | Moonmile Solutions Blog からありました。サーバー側にLAMP環境を据えて、クライアントでWindowsを使うという仕組みですね。当時から、Web APIはあったのですが、結合の部分はWCFのほうがよいのではないか?と思ってWindows寄りに考えていました。最近は、ASP.NET MVC、Web APIの流れで、WCFを直接扱うよりもRESTfulで送ればよいという流れがあって、艦これ諜報員の場合も単純なJSONで戻してくるので「諜報」が楽ってのもあります。 仕事なので、サーバーに何を使うのかの選定から始めるわけですが、コストの問題やらサーバーのプログラマ調達の問題などがあって、 サーバーにLinux+ … 続きを読む

カテゴリー: CakePHP, WPF | コメントする

[CakePHP] RESTを使ってViewをXML形式で返す

REST ? CakePHP Cookbook v2.x documentation http://book.cakephp.org/2.0/ja/development/rest.html 湘南社中テクニカルブログ: <b>Server</b>CakePHPでRESTのJSON APIを作成する http://blog.shonanshachu.com/2012/01/cakephprestjson-api.html Cakephp 2.x の REST API を作成してみる ≪ Hello My World http://plmin.us/blog/2013/01/29/cakephp-2-x-rest-api/ CakePHP2.0で配列をXMLに変換し出力する | Code Life http://code-life.net/?p=1096 簡単に言えば、 … 続きを読む

カテゴリー: CakePHP | コメントする

[CakePHP] シンプルな認証を実装する(認証の中盤)

[CakePHP] シンプルな認証を実装する(認証の前半) – Moonmile Solutions Blog http://www.moonmile.net/blog/archives/4855 なところでフォーム認証ができたので「こんにちは、○○さん」だけ作ってみる。 下記のように、ログイン状態を表示して login/logout へのリンクもつける。 □ログインしていない状態 □ログイン状態 こんな風に、ログイン状態とリンクを表示させる。 ■AppController.php を変更する *.ctp で直接表示することも考えたのだが、Controller 経由でないと Auth コンポーネントを扱えないので、VView で扱えるように AppController に $this->set(‘auth’, $this->Auth ); と … 続きを読む

カテゴリー: CakePHP | 1件のコメント

[CakePHP] シンプルな認証を実装する(認証の前半)

認証(ログインとログアウト) http://book.cakephp.org/2.0/ja/tutorials-and-examples/blog-auth-example/auth.html#id3 のところを追加していく。チュートリアルではいきなり、AppController を書き換えてしまっているが、一度ログイン認証を実装してから、beforeFilter あたりを追加したほうが分かりやすいかも。実は「ログインした状態」を判別するのと、「ログインしたユーザーが操作ができるか」というのを判別するのとは別のことになる。例えば、ログインユーザーの名称をページに表示するために「ログインしているかどうか」の状態は必要かもしれないが、「ログインしたユーザーが操作できるか」は必要ない。操作が可能かどうかの判別は必要なのは、操作を拒否するときに限られるので。 公開するアクションの作成 http:/ … 続きを読む

カテゴリー: CakePHP | コメントする