ECWorks Blog

ECWorks Blog

CakePHPを中心としたサイト開発情報をメインに公開。新しもの好きなので時々製品レポートなんかも。

(日本語) 【CakePHP/KtaiLibrary】「PHPで作る携帯サイト デベロッパーズガイド」刊行します!

Sorry, this entry is only available in 日本語.

Tagged as: , ,

このエントリをはてなブックマークに追加 このエントリをLivedoor Clipに追加 このエントリをYahoo!ブックマークに追加 このエントリをdel.icio.usに追加 このエントリをFC2ブックマークに追加 このエントリをNifty Clipに追加 このエントリをPOOKMARK. Airlinesに追加 このエントリをBuzzurl(バザール)に追加 このエントリをChoixに追加 このエントリをnewsingに追加 

33 Comments

  1. おめでとうございます、絶対GETします ;-)

  2. これは楽しみです。買います!

  3. >Noccoさん
    >ko2さん
    ありがとうございます!

  4. おめでとうございます。
    早速アマゾンで予約しようと思い検索したのですが見つからなかったです。

    アマゾンでは販売しないのでしょうか?

  5. ありがとうございます。
    そして予約できないとのことですみません。

    タイトなスケジュールでやっているようなので、書店通販(Amazon)の方は結構ギリギリになって掲載されるんじゃないかと思います。
    前回秀和さんのCake本でSmartyView関連を寄稿させていただいたときも、結構直前だった気がします。

    当方でも逐次チェックして、できるようになったらリンクをはらせていただきます。

  6. 返信ありがとうございます。

    自分とって最高のクリスマスプレゼントになります。
    待ちどうしいです。

  7. 予約受付開始した模様です。
    http://www.shuwasystem.co.jp/products/7980html/2476.html

    待ちどうしいです。

  8. ご連絡ありがとうございます!
    当方でもバナーを設置しました。

  9. 発刊おめでとうございます&(有益な本を)ありがとうございます。
    早速予約注文させていただきました。

    Amazonでは、お届け予定日: 2009/12/24 – 2009/12/26 とのことです。
    まさにクリスマスプレゼント!

  10. アマゾンさんにすぐ予約してたんですがこんなメールが・・・
    このたびは、Amazon.co.jpをご利用いただき、ありがとうございます。

    にご注文いただいた商品のお届け
    予定日がまだ確定しておりません。

    滝下 真玄 \"PHPで作る携帯サイト デベロッパーズガイド\"

    継続して商品の調達に努めてまいりますが、調達不能な場合または入荷数の関係

    キャンセルをさせていただくこともございます。

    どうやらアマゾンさん入荷できないかキャンセルになるみたいです。
    すごい期待して待ってたのにむごいっす・・・。
    書店さんで買った方がいいのかな==

  11. Amazonで予約商品の入荷が遅れている件、申し訳ございません。
    当方としても、発売日に書店に並ぶことを大変に楽しみにしていたのですが、このような状況に大変残念な思いです。
    一応、本日紀伊国屋さんに並び始めていることを、ネットの検索でも確認しましたので、お急ぎでしたら店頭での購入も有りかと思います。
    また、楽天booksさんも取り扱いを始めたようですが、こちらも少々納期を待たされる…かもしれません。

    当方も販売状況については気になるところで、本日新宿界隈を少々探索してみたいと思います。

    本当に申し訳ございませんm(__)m。

  12. 誤植です。
    とても細かな部分ですが。。。
    p.187にConfigurationとConfigrationが混ざっています。

  13. ご指摘ありがとうございます。
    改訂版等の機会がありましたら修正したいと思います。

  14. 最近になって携帯ライブラリーのお世話になり始めた者です。
    素晴らしいライブラリーをありがとうございます。

    APPコントローラーに加筆するredirect関数についてなのですが、

    > $url = Router::parse($url);

    の行が、$urlを配列で渡していた場合に文字列「Array」を返してしまい、
    結果的に「http://domainname.com/Array~」というようなURLへのリダイレクトになってしまうという問題があるようです。
    さしあたり、ごく単純に

    > $url = is_string($url) ? Router::parse($url) : $url;

    と改変して使ってみています。
    何か僕の方でカン違いしている恐れもありますが、いちおうお知らせまで。

  15. 申し訳ございません。
    その現象は確認しております(Ktai Libraryの専用サイト内でも、そのようなコメントをいただいていました)。
    対策については、ご指摘の方法で大丈夫かと思います。

    近日、修正や新機能を追加した新バージョンを予定していますが、その際に修正させていただきます。

  16. こんにちは。
    CakePHP初心者です。
    「PHPで作る携帯サイト」を参考に勉強しています。
    ありがとうございます。

    こちらで質問を投げる内容ではないかも知れませんが、情報をお持ちでしたら教えて下さい。

    CakePHP 1.2.6
    PHP 5.1.6
    MySQL 5.0
    RedHat 5系

    この中でMediaPluginを使用してファイルのアップロードを実現しているのですが、アップロード時にどうしてもエラーが発生してしまいます。

    問題の発生箇所
     /app-admin/models/picture.php L.42
    checkLocation

    環境の問題かと思うのですが、同様の問題は発生していませんでしょうか?

    よろしくお願いします

  17. 自己解決です

    PHPのセーフモードが原因でした
    お騒がせしました

  18. ご質問ありがとうございます。
    そうですね、セーフモードですとうまくいかないと思います。

  19. こんにちは

    すみません、また教えて下さい。
    書籍のapp-adminをadminと名前を変更して実験しています
    管理画面にあるメール配送管理についてです

    メールのリストが表示されます
    どれかにチェックを入れ、指定メール削除しました
    削除確認の画面が表示され、削除実行をします
    この時点でのURLのアドレスは
      admin/maildata/delete
    です
    しかし削除実行後は
      admin/admin/maildata/delete
    となり、次のエラーになります
       Error: The action admin_delete is not defined in controller MaildataController
      Error: Create MaildataController::admin_delete() in file: admin/controllers/maildata_controller.php.
    原因が分かりません
    adminパスが増えてしまっているのはなぜなんでしょうか

    メールの部分はオリジナルコードです
    よろしくお願いします

  20. こんな修正方法で良いのでしょうか?

    view のmaildata/delete.ctp 内で
      echo $form->create(null, array(‘url’ => $this->here));
    となっている所を
    echo $form->create(‘Maildata’, array(‘action’ => ‘delete’));
    に変更

    フォルダ名を maildata -> maildatas に変更

    controllers/maildata_controller.php → controllers/maildatas_controller.php に変更

    コントローラの名前を Maildatas に変更

    これで見た目上は正しく動いているように見えます
    いかがですか?

  21. おそらく、サブドメインを作らずに設置・制作されていると思いますので、本書の手順そのままでは動作しないことをあらかじめ念を押しておきます。

    CakePHPでは、本書では扱っていませんが、「prefixルーティング」という機能があり、おそらくその機能に干渉しています。
    少し難しい話をしますが、とりあえず動いているとのことですが、prefixルーティングのルールである「(prefix名)_アクション名」というアクションで動作するところを別のアクションに指定している形式となっていて、内部的には正式の動作をしていないと思います。

    正しい修正方法は、サブドメインを設定してバーチャルサーバのドキュメントルートをadmin/webrootに正しく設定するか、admin/webroot/index.phpに記述されているディレクトリ指定を正しくする必要があります。
    ディレクトリ指定に関しては、cookbookをお読みください。

    ▼cookbook : 3.3.3 応用インストール
    http://book.cakephp.org/ja/view/35/Advanced-Installation

    また、細かい話をしますとdataは複数形で、単数形はdatumです。つまりdatasというのは正しくない英語です。これをdataでも大丈夫なように修正するにはapp(admin)/config/inflections.phpにて指定します(しかしdataは対象になっているはずなのですが…)。

  22. 名前が紛らわしいので、書籍の通りapp-adminと実行しました
    この時点でのURLのアドレスは
      app-admin/app-admin/maildata/delete
    となります

    echo $form->create(null, array(‘url’ => $this->here));
    の$this->hereがapp-admin/maildata/deleteを取得しているようです
    私の環境では厳しいのですが、サブドメイン化すると直りそうですね

    views/maildata/delete.ctp を
    echo $form->create(‘Maildata’, array(‘action’ => ‘delete’));
    にしてコールするとMaildatasのコントロールがないというエラーになり
    echo $form->create(null, array(‘action’ => ‘delete’));
    にするとMaildatnumsのコントロールがないというエラーになります

    この問題は削除を実行する時だけです
    Maildataの一覧を表示する段階では問題ないです

    >app(admin)/config/inflections.phpにて指定します(しかしdataは対象になっているはずなのですが…)。

    私もそう思うのですが・・・
    まだ根本的なところが分かっていないのかもしれません

  23. サブドメインではなく、例えばpublic等に配置した状態で動かしてみました。

    確かに$this->here等でパスを与えると、フォームのURLが「/app-admin/maildata/app-admin/maildata/delete」となりうまくないですね。
    同様に、index内の配信状態の切り替えについても同じような症状が出ています。

    URLの生成はRouter::url()内で行っているのですが、この時にベースパスが「/」でない場合に正しくURLをつくらないようです。調査してみましたが正しい処理ではなさそうなのでCakePHPの不具合報告をしておきました。

    サブディレクトリ環境下では、現状の修正方法はやはり

    < ?php echo $form->create(null, array(‘url => array(‘action’ => ‘delete’))); ?>

    のようにしなければならないようです。

    なお、前述した「prefix」に関しては、現象としてはアクション生成で誤認識をしていますが、URLの不具合については関係がなさそうです。
    訂正させていただきます。

  24. こんにちは

    不具合と思われる箇所を発見しました
    もうご承知の内容かもしれませんがお知らせだけしておきます。

    モデル内に「afterFind」のコールバック関数が定義されています
    この中で使用されている「results」変数が、一部「result」となっている
    ために正常に動作していませんでした

    app-adminの中がほとんどだったと思います。

    一度、ご確認下さい。

  25. ご報告ありがとうございます!
    確かに間違っていますね。

    app-admin/models/customer_profile.php
    app-admin/models/order.php

    内のafterFind()内にそれぞれ2カ所ずつです(同じ処理)。

    近日中に修正ファイルを作ってサポートサイトに反映させます。
    すみませんでした。

  26. こんばんは

    5月25日付で返答頂いた内容ですが、調べてました

    /cake/dispatcher.php l.120
    // $this->here = $this->base . ‘/’ . $url;
    $this->here = ‘/’ . $url;

    このように修正したらうまく動作しているように見えます
    どう思われますか?

    間違ってたら教えて下さい。
    簡単な動作確認では今のところ正しく動いています

    よろしくお願いします

  27. 返事が遅くなってすみません。

    一応CakePHPのバグ報告でそのような報告をしてみたのですが、オフィシャル側では「$this->hereを使うのではなく$this->params['url']['url']等を使うように指摘されました。ところが、このパラメータを使ってもうまく動かないかもしれません。この問題は根が深いです。

    手っ取り早く修正するのであれば、それでOKだと思います。しかしコアコードを修正することになるので、あまりおすすめはできません。やはりRouter::url()形式の「array(‘action’ => ‘delete’)」等の方式で渡した方が無難のようです。

  28. こんにちは。
    「PHPで作る携帯サイト」を参考に開発を行っております。
    cakePHPの使い方がとても参考になっております。
     
     画像の公開サイト側での使用方法なのですが、管理側(app-admin)側で
    画像をアップロードした際には、
    「\app-admin\webroot\media」
    に画像が作成され、ここ以下の画像が参照されていると思うのですが、
    公開側(app)で、アップロードされた画像を使用するにはどのようにしたらよいのでしょうか?

    「\app\webroot\media」にも同じように画像が作成されれば問題ないのですが、
    どのような対処をすることで、公開側でも画像を表示できますでしょうか。
     
     現在WindowsにPleiadesを入れて開発しております。
    cake1.3.2であるのと、MediaPluginが0.6なので、多少バージョンと
    環境が違うの環境の問題でしょうか。

    よろしくお願いします。

     

  29. 本編ではシンボリックリンクによるディレクトリの共有を行っていますが、Windowsではこのような機能が無いために実現は難しいと思います。
    本書はWindowsを対象としていませんので、できればVMを利用するなどしてlinux環境でご確認ください。

  30. Linux環境で、シンボリックリンクを作成したところ正常に動くことが確認できました。
    ありがとうございました。

Trackbacks

  1. 【CakePHP温泉部】第一回活動報告デス! | ECWorks Blog
  2. 【WordPress/CakePHP】福岡遠征Day2 | ECWorks Blog
  3. 2010/3/8 ktai library勉強会に行ってきた « 友達の友達は友達

Leave a Response

Comment moderation is enabled. Your comment may take some time to appear.