Author Archive

    はてなブックマーク - PHPMatsuri参加レポート(2/4):CakePHP2.0でAndroidアプリ
    このエントリーをはてなブックマークに追加

    おひさしぶりです。
    今はWindowsPhoneがほしいFusic)櫻川です。

    さて、今回はPHP開発合宿イベントPHPMatsuriに参加してきました。

    まずはじめに

    他の方もブログに書かれていますがPHPMatsuriを表すなら
    ↓このかっこいい忍者と

    koyhogeさんの写真を使わせていただいてます。

    ↓この音楽です。
    Epic sax guy 10 hours
    忍者がバックミュージックとしてこの曲をかけ続ける中でみんな徹夜でコーディングをするカオスな空間でしたw

    ハッカソンの成果

    今回ハッカソンでやらせていただいたのは「CakePHP2.0Androidアプリ」という内容でやらせていただきました。

    CakePHP2.0bakeするとAndroidアプリ用のCRUDソースを出力する謎なPluginを作りましたw
    ※社内ではキモイといわれています。。。

    使い方

    1.どちらかでbakeをします。

    php cake.php Android.bake

    ↑実行することでネイティブなAndroid用のソース(Java)を出力します。

    php cake.php Titanium.bake

    ↑実行することでTitaniumのAndroid用ソース(Javascript)を出力します。

    2.ビルドします。

    Javaの場合はeclipseで、Titaniumの場合はTitanium Studioでビルドします。

    3.実行します。
    AndroidアプリのCRUD完成!

    結果

    結果「全ての作品の中で最も支持された作品を選出し表彰する。ハッカー賞(大賞)を頂きました!!!
    しかもiPad2まで頂いてしまいました!!!
    今自分は人生の中で一番輝いています。゚(゚≧□≦゚)゚。
    自分に投票して頂いた皆様本当にありがとうございます!!

    ソースコードなのですが現在リファクタリング中ですので完了次第githubで公開させていただきます。

    最後に

    このような楽しい祭りを開いて頂いた運営のみなさま本当にありがとうございました。
    そしてお疲れ様でした!

    来年も絶対参加します!

    それでは明日の3番手杉本にバトンタッチです。

      はてなブックマーク - CakePHPでPartialHelperはじめました
      このエントリーをはてなブックマークに追加

      こんにちは。
      今週末、GALAXY Sを買うFusicサクこと桜川です。
      ついに自分もスマートフォンにランクアップです。

      さて、今回は前回と同じくCakePHPになります。
      PartialHelper」というヘルパーを作成しましたのでご紹介させて頂きます。

      PartialHelper

      CakePHPはコントローラーに特化したelementを作りにくいと思ったことはないでしょうか?

      たとえば、shopsコントローラー内のみで使うelementを作る場合
      /app/views/elements/shop_form.ctp
      とか、
      /app/views/elements/shop/form.ctp
      といったような名前やディレクトリ名を付ける必要があります。

      これが1個2個くらいなら問題ないのですが、大規模案件になってくるとelementの数も膨大で管理が大変だったり、elementの名前を考えるだけでも大変になったりします。

      また、コントローラーに特化しているにも関わらず、elementというどこからでもアクセス可能な領域に配置しないといけないところも作りにくいポイントになるかと思います。

      PartialHelperを使うとelementファイルをviewファイルと同じディレクトリに配置できるようになり、コントローラーに特化したelementを作る場合にちょっとだけ楽にしてくれます。

      PartialHelperの使い方

      kozo’s PartialHelper at master – GitHub -

      1. PartialHelperをgithubからダウンロードします。
      2. PartialHelperの配置
        「/app/views/helpers」に配置します。
      3. PartialHelperの読み込み
      4. PartialHelper用のviewファイルの配置
        「/app/views/shops/_form.ctp」に配置します。
        ※Partialのviewファイルは先頭にアンダーバーをつけます。
      5. PartialHelperの使用
        ※読み込みの場合は先頭にアンダーバーをつけません。
      6. これでブラウザから「/shops/index」アクセスすると「PartialHelperのテスト」の文言が表示されるはずです。

      ポイント

      1. viewファイルと同じ位置にPartialViewファイルを配置する
      2. PartialViewファイルはファイル名の先頭にアンダーバーをつける
      3. PartialViewファイルの中身はelementとまったく同じである
      4. $this->Partial->render()の引数は$this->element()の引数とまったく同じである
      5. 機能面も読み込むファイルの位置が違うだけでelementとまったく同じである

      まとめ

      PartialHelperを導入することで、elementが全体で共通して使う小さいviewファイル、Partialがコントローラーに特化したviewファイルと切り分けることができすっきりします。
      ぜひPartialHelperをお使いください!!

        はてなブックマーク - CakePHPのdebug_kitに定数やサーバ変数を表示するパネルを追加
        このエントリーをはてなブックマークに追加

        こんにちは。モンハン3rdで早く上位に行きたい、Fusicサクこと桜川です。
        2回目の登場になります。よろしくお願いします。

        モンハンの内容をブログに書きたいところですが技術の内容を書けと怒られそうですので、ここはぐっと我慢をして本日はCakePHPについて書かせて頂きたいと思います。

        さて、本日の内容は「debug_kitに定数やサーバ変数を表示するパネルを追加」するプラグイン「debug_kit_settings」を作成しましたので、そちらをご紹介させて頂きます。

        作成した経緯

        CakePHPを使っているときwebrootディレクトリまでのパスを取得したい場合「WWW_ROOT」定数を使用すると思うのですが、みなさんはふと忘れてしまうことはないでしょうか?

        自分はよく忘れます。。。

        しかも、APP_DIR?WWW_ROOT?APP?どれだったけ?と似たような名前でどこへのパスなのかがわからなくなることもしょっちゅうあります。

        というわけで物覚えの悪い自分の為に、定数等を表示するdebug_kitのパネルがdebug_kit_settingsになります。
        あと、単純にsymfonyに定数を表示する機能があるのにCakeに内のはなんか悔しい気がするからです。

        機能

        debug_kit_settingsが表示できる機能は以下の4つになります。

         1.Defines
           CakePHPとPHPそれぞれの定数を表示します。(検索機能あり)
         2.Servers
           $_SERVERの値を表示します。(検索機能あり)
         3.Extensions
           読み込まれているExtensionの一覧を表示します。
         4.Database
           現在接続されているデータベースの情報を表示します。

        使い方

        kozo’s debug_kit_setting at master – GitHub -

         1.GitHubでソースは公開していますので、ダウンロードしてください。
         2.「app/plugins/debug_kit_setting」となるように配置してください。
         3.app_controller.phpで以下のようにdebug_kit_settingsをパネルとして読み込んでください。

         4.完成
          image

         あら簡単♪
         これで、もう定数や$_SERVERに迷うことがありません!

        おまけ

        debug_kit_settingsのDefinesServersには、表示される数が多いのでjavascriptで検索機能を追加しています。
        この機能は弊社javascript部隊の一人島田が前回ご紹介しました、jquery.simplesearch.jsの機能を使い追加してくれました。
        ですので、javascript関連でバグがでた場合は私ではなく弊社島田へバグってるぞ!!とご連絡ください。
        よろしくお願い致します。

        では、また次回お会いしましょう。
        さよ~なら~