【PHP】フレームワーク CakePHP 16ホール目【v2.4】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2013/09/09(月) 01:56:10.19ID:m9OPw/HTCakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう
※他フレームワークとの比較等はスレ違いです
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
github - cakephp
http://github.com/cakephp
the Bakery
http://bakery.cakephp.org/
Issue
http://cakephp.lighthouseapp.com/dashboard
CheatSheet[1.2] (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
[2.x] http://book.cakephp.org/2.0/ja/index.html
[1.3] http://book.cakephp.org/ja
http://kohada.2ch.net/test/read.cgi/php/1354593996/l50
0002nobodyさん
2013/09/09(月) 01:58:03.76ID:m9OPw/HT過去ログのタイトル記入漏れ
【PHP】フレームワーク CakePHP 15ホール目【v2.2】
http://kohada.2ch.net/test/read.cgi/php/1354593996/l50
0003nobodyさん
2013/09/09(月) 16:35:03.60ID:???「CakeDCとは」でググったんですけど出てきませんでした。
CakeDCのユーザー認証は標準のユーザー認証機能より良いんですか?
CakeDCのデメリットはありませんか?
あと、「CakeDC」でググると一番最初に出てくるサイトは
「このサイトは危険にさらされている可能性があります。」
とか書いてありますけど大丈夫ですか?
0004nobodyさん
2013/09/09(月) 17:07:58.33ID:???CakePHP のコアデベロッパーが多数在籍してるSIer
CEOがCakePHPの元開発リーダー
以前ほどは CakePHP の開発における依存度は高く無いとはいえ、影響力は絶大。
Github のリポジトリで公開しているプラグインはどれも有名で多くのユーザーが使ってる模様。
>CakeDCのユーザー認証は標準のユーザー認証機能より良いんですか?
Usersプラグインのことでしょうか?
だとすると、CakePHP の機能を置き換えるものじゃなくて、
補完および隠蔽して使いやすくしているのだとおもう。
>CakeDCのデメリットはありませんか?
ネットの評判を見る限り、特に致命的な欠陥はないでしょう。
実際には実装に応じて要求が異なるので何がデメリットになるのかは場合により異なる。
CakeDCに限らないが、どのプラグインを使うにしてもひと通りソースを読めないと安心して運用するのは厳しいと思うよ。
WordPress みたいな気軽な感覚(それも問題あるけど)で
初見のプラグインをホイホイ放り込んですんなり使えるとは思わない方がいい。
0005nobodyさん
2013/09/09(月) 17:12:55.63ID:???ググったトップがどれのことか分からんが、
http://www.cakedc.com/
ならそんなエラー俺の環境じゃ出てこなかったけどな。
0006nobodyさん
2013/09/09(月) 23:06:57.23ID:???ご丁寧なレス頂き本当にありがとうございます。
Usersプラグインのことです。
>初見のプラグインをホイホイ放り込んですんなり使えるとは思わない方がいい。
と言うのは肝に銘じます。
>>5に関しては日本語でググってしまったので
「プラグイン/CakeDC/users - CakePHP2 Memo」
と言うページがトップに来ました。
URLは念のためあえて貼りません。
0007nobodyさん
2013/09/10(火) 00:28:29.95ID:???サンプルといっても、微妙なつくりになってるところもあるから、
使えるところだけ参考にしながら別途書くのがいい
0008nobodyさん
2013/09/10(火) 22:27:53.62ID:???URLを直で .../delete/1 などとすると
An Internal Error Has Occurred.というエラーがでて削除はされないのですが
自分でhtmlファイルを作り そこにポストでボタンを作成し日記のデリートURLに飛ばすと普通に削除できてしまいます
これは自分のコントローラーが悪いのかどこか書き方が間違っているのでしょうか?
0009nobodyさん
2013/09/11(水) 00:00:08.07ID:???まずそのエラーが出てるってことはデバグの出力を抑制してるんじゃない?
質問する場合は必ず Configure で debug の値を 2 にしておく。
それだけで解決することも多い。
で分からなければ、出た文面をそのまま貼り付ける。
ただ文面から推測すると、bake したコントローラをそのまま使ってるっぽいが、違う?
0010nobodyさん
2013/09/11(水) 00:06:48.10ID:???bake ファイルなら例外を投げるからそれでもなさそうだな。
いったいどんなコード書いてるんだ?
Controller のメソッド貼り付けて見たら?
00118
2013/09/11(水) 00:23:34.10ID:???普通に作ったダイアリー上で削除ボタンはしっかり動作します
URLを直に/delete/id とすると
Error: The view for diarysController::delete() was not found.
とでます。これは普通ですよね?URLから削除をさせないため、ほかのとこにアクセスさせないため
少しいろいろ書いてあるので消しましたがたぶんこれで動いてるはずです
public function delete($id) {
if ($this->request->is('post') || $this->request->is('put')) {
$this->Diary->delete($id);
$this->redirect(array('action' => 'index'));
}
ここまで正常だと思うのですが
自分で作ったhtmlファイルに
<form action="自分のURL/delete/ID" method="post">
<input type="hidden" name="_method" value="POST"/>
<input type="submit" value="DELETE">
</form>
で記述してこれで投げると消されてしまいます
どうすれば解決できるのでしょうか・・・?
ポストを判定するまえになにか条件いれればいいのでしょうか?
0012nobodyさん
2013/09/11(水) 01:35:06.52ID:???結論から言うと、質問の中にそもそも答えが含まれてる。
> Error: The view for diarysController::delete() was not found.
がなぜ出力されるのかというと、アクションの結果を描画するためのビューがないっていうこと。
なので、このエラーそのものと、レコードが削除されないことは実は関係がない。
> URLから削除をさせないため、
の措置はアクション内部でのリクエストタイプ判定で行ってる。
で、これがほんとうに意味が分かって言ってるんなら、質問の答がこれですよ。
URLを直接叩いて削除しちゃうと良くないことが多いので、そうしないようにコードに記述してる。
つまり、コントローラが悪いのじゃなくてリクエストの仕方が悪いだけ。
> ほかのとこにアクセスさせないため
「ほかのとこにアクセス」が意味不明だが、リダイレクトの事を言ってるのならば、
別にそういうふうに作りたければそうすればよいだけで、このエラーの内容とは直接関係がない。
0013nobodyさん
2013/09/11(水) 01:35:43.16ID:???で判定してる $this->request というのは自動的にセットされる CakeRequest のオブジェクトで、
リクエストに纏わる諸々のデータ・構造が内包されてる。
こいつの CakeRequest::is() メソッドでリクエストタイプを判定して、POST か PUT なら
モデルに対して削除を命令して、「描画せずに」array('action' => 'index') へリダイレクトする。
ここでこのリクエストに対する処理は終わり。(厳密には多少の後処理はある)
ちなみに分かってるかも知れないけど、この array('action' => 'index') っていうのは URL そのもので、
足らないパラメータ('plugin' や 'controller') はRouter で自動補完されて完全なフルパスにパースされる。
で、先程のは POST か PUT の場合だけど、それ以外(まぁGETだが)は評価ブロックを抜けて
通常のレンダリングに移行する。
仮に Diaries/delete.ctp を配置しておけば上記のエラーは出ないというだけ。
こんな説明で分かりましたか?
0014nobodyさん
2013/09/11(水) 01:40:10.71ID:???diaysController って DiariesController の書き間違いだよね?
00158
2013/09/11(水) 02:09:49.14ID:???書き間違えはすいません 日記のようなものを作っています。少し改変しました
ちょっと補足します
> URLから削除をさせないため、
というのはその通りです。
> ほかのとこにアクセスさせないため
なんでもないです。すいません
>仮に Diaries/delete.ctp を配置しておけば上記のエラーは出ないというだけ。
エラーは別にあってもなくてもいいのですが
<form action="自分のURL/delete/ID" method="post">
<input type="hidden" name="_method" value="POST"/>
<input type="submit" value="DELETE">
</form>
この部分の回答がほしくて理解不足でもう出ていたらすいません
日記はその書いた人した消せない仕様なのですが
メモちょうなので↑のコードを書いてそこにあるボタンを押すことでどのIDの日記でも削除できてしまう
のをどうしたらいいかの回答がほしいです
ちょっと自分のやっていることが特殊なのか言葉不足なのかもしれません。
00168
2013/09/11(水) 02:11:10.50ID:???今回はエラーは別にあってもなくてもいいのです。本当は書いたほうがいいんでしょうけど・・・
0017nobodyさん
2013/09/11(水) 02:28:30.27ID:???消したいのに消せないので困ってるのかと勘違いしてた。
それなら CakePHP 以前に、PHPでリクエストを送ったユーザーを
どう識別するのかってことが分かってないと。
実現する便利な機能(端的に言うと AuthComponent ですね)
は備わってるけど、"PHP ログイン 認証" とかでググって
まずは素のコードが書けるようになってから Cake に
再チャレンジした方がいい。
今のままだとサンプル見てもどの部分がCakeの機能で、
どの部分がPHPなのかさっぱりわからない状態じゃないかな?
もしそうならいったん基礎に戻ったほうが結局は早く理解できて効率がいい。
00188
2013/09/11(水) 02:35:31.22ID:???きっちり基礎ができているとは言いがたいですけどがんばって見ます
0019nobodyさん
2013/09/11(水) 02:46:57.82ID:???Users プラグインを使って認証を一通り実装してみるといいです。
とても勉強になりますよ。
0020nobodyさん
2013/09/11(水) 06:06:04.88ID:???別の質問もしてみたけどやはりレスが付かない
そもそも8 viewsしかされてないし、Cakeってだけでスルーされちゃうのだろうか
0022nobodyさん
2013/09/11(水) 08:46:56.10ID:AXWD8Gpa自分がやりたいのは複数のビューとコントロールに対して、複数のテーブルからデータを集めてきて処理をしたいんです。
その場合、モデルで記述するクラスはテーブルを使わない独自クラス、呼び出すテーブルはアソシエーションで定義するという理解でいいですか?
モデルに使用するテーブルをクラスとして別々に記述できるといいんですけど、違うみたいだし。
0023nobodyさん
2013/09/11(水) 10:36:21.33ID:???1モデル=1テーブル という図式があたかも
規則であるかのように受け取られてしまうのが
チュートリアルの欠点のように思う。
それは全く気にする必要なし。
やりたいようにやればいい。
あと、標準のプロパティで張れるアソシエーションは限界があるので
それを越えようと思えば 'joins' キーでパラメータを指定したり、
直書きする。
一例を上げると、主テーブルに対して2つのテーブルをLEFT JOINするときに、
サブテーブルのキー同士を結びつける条件はプロパティの設定では不可能。
こういうときはメソッド内で joins で指定するしか無い。
Cake3 はもう少しマシになってるらしいが。
0024nobodyさん
2013/09/11(水) 10:41:19.91ID:???0025nobodyさん
2013/09/11(水) 11:21:24.92ID:???0026nobodyさん
2013/09/11(水) 12:01:01.77ID:???0027nobodyさん
2013/09/11(水) 12:07:33.07ID:???お前、チュートリアル(認証系の方)にちゃんと書いてあるぞ
翻訳も完了してるんだから最低限チュートリアルやってから質問しに来い
0028nobodyさん
2013/09/11(水) 12:15:38.97ID:???そういうなよ。
CakePHPのドキュメントは正直分かりにくいし、
初心者というのはいろんな情報を手探りで集めるんだし
0029nobodyさん
2013/09/11(水) 12:47:53.86ID:???よくできてないだろ、あれ
絶妙に必要な情報が欠落していて、中級者でも戸惑う
0030nobodyさん
2013/09/11(水) 13:02:57.78ID:???CakePHPのドキュメントは分かりにくいよね。
ぐだぐだと長い文章書いてある割りに、
開発中にあれ?どうなってるだっけ?と思った疑問には全然答えてくれない。
0031nobodyさん
2013/09/11(水) 13:43:15.36ID:???開発してたら調べたくなるようなことが、悉く載っていない
結局ぐぐってどこかの馬の骨のブログにたどり着き、
古い情報やサンプルコードを、必死で直しながら使うことになる
0032nobodyさん
2013/09/11(水) 18:44:25.49ID:???0033nobodyさん
2013/09/11(水) 20:21:07.93ID:???0034nobodyさん
2013/09/12(木) 01:00:10.04ID:???0035nobodyさん
2013/09/12(木) 01:45:24.46ID:???ドキュメント、面白くさせようとしてるんだろうけど無駄な文章や修飾が多い。
用語のゆらぎも多い気がする。
0036nobodyさん
2013/09/12(木) 23:09:03.21ID:???下記のリレーションを持つモデルがあります。
User hasmany Thread(Thread belongsto User)
Thread hasmany Response(Response belongsto Thread)
User hasmany Response(Response belongsto User)
Threadの詳細表示画面(viewアクション)で
一覧表示されるResponseのuser_idの代わりに、
Userテーブルのフィールドの一つであるusernameを
表示させたいんですが、スマートなやり方はありますか?
力技で何とかしようと結構時間を掛けて試行錯誤したんですが
上手く行かなくて質問させて頂きました。
0037nobodyさん
2013/09/12(木) 23:12:30.82ID:???0038nobodyさん
2013/09/12(木) 23:22:00.75ID:???$this->Thread->recursive = 2;
$thread = $this->Thread->read();
はどう?
試してないから間違ってたらすまん
0039nobodyさん
2013/09/13(金) 00:07:10.21ID:???$this->Thread->Response->User->displayField = 'username';
を試してみましたが、
Indirect modification of overloaded property AppModel::$User has no effect
とエラーが出ました。
また、
$this->set('thread', $this->Thread->find('first', $options));
を
$this->set('thread', $this->Thread->read();
や
$thread = $this->Thread->read();
にも書き換えてみましたが、Threadの中身が表示されなくなりました。
$this->Thread->recursive = 2;
はヒントになりそうな気がします。
今日はもう眠いのでまた明日試してみようと思いますので、
お世話になれれば幸いです。
0040nobodyさん
2013/09/13(金) 01:32:12.20ID:???それなら displayField 云々は要らないな。
これは単純に User.username のデータを拾えるようにしてそれを表示すれば良いので、
一番雑なやり方だけど簡単なのは上で書いたように recursive を 2 にすればデータを取得できる。
どんな形式で返されてるかは debug() とか使って確認してちょうだい。
データアクセスはなれるまで少し面倒くさいけど仕方ないね。
ただ、このやり方で発行されるクエリはかなり大雑把。
Containable というビヘイビアの使い方をもし知らなければまずそれを覚えて損はない。
しかしこれもパフォーマンスを追求するなら酷いSELECT文になることが多い。
パフォーマンス上げたいなら最終的には細かくチューニングしなくちゃならないです。
0041nobodyさん
2013/09/13(金) 01:43:58.32ID:???> $this->Thread->Response->User->displayField = 'username';
> を試してみましたが、
> Indirect modification of overloaded property AppModel::$User has no effect
> とエラーが出ました。
これは出ないはずなんだけどなぁ。
本当に Response::$hasMany に User をセットしてる?
それさえしていれば、Response::$User プロパティがコールされたタイミングで
(なければ)自動的にセットするんで上記のエラーは出ないはずなんだが。。。
> Threadの中身が表示されなくなりました。
というのは何でかよく分からんけど、どんなクエリ発行されてるのか確認すると良いと思う。
0042nobodyさん
2013/09/13(金) 11:04:36.05ID:lL7QR+Re/libs/view/helpers/paginator.php の関数を一部書き換えたいのですが
/app/views/helpers/ に自作クラスファイルを置く場合、どうやって書けばいいのでしょうか?
0043nobodyさん
2013/09/13(金) 11:34:39.66ID:???/app/View/Helper/MyPaginator.php
App::uses('Paginator', 'View/Helper');
class MyPaginator extends Paginator {
}
class PostsController extends AppController {
public $components = array('Paginator' => array('className' => 'MyPaginator'));
}
パターン2: Paginator を app にコピー
/app/View/Helper/Paginator.php
(元の Paginator をそのまま貼り付けて適宜改造)
パターン1 のほうがいい。
0044nobodyさん
2013/09/13(金) 11:52:08.68ID:lL7QR+Re1の方法を試したのですがPHPの書式エラーが出てうまくいかなかったので、
とりあえず2の方法で実装できました
0045nobodyさん
2013/09/13(金) 13:19:06.74ID:???ひょっとして1.3使ってる?
0046nobodyさん
2013/09/13(金) 13:50:01.95ID:lL7QR+ReAppなんて知らないよ、みたいなエラーでした
私自身cakePHPを使ったことないのですが、現行システムを引き継いで、
新システム+機能追加を行えという依頼が来ているので、四苦八苦しているのです
0047nobodyさん
2013/09/13(金) 13:54:32.98ID:???エラーは多分App知らないじゃなくて、そんなメソッドないよってエラーではないかと。
1.3 のときは App::uses() じゃなくて App::import() 使ってた。
このへんはだいぶ変わってるからなぁ。
とりあえずパターン1でもApp::uses の行を削除すれば多分動く。
あと、クラス名とか大幅に間違えてたすまん。
Paginator じゃなくて PaginatorComponent だよな。
0048nobodyさん
2013/09/13(金) 13:57:05.57ID:???なんかgdgdになってきたわw
0049nobodyさん
2013/09/13(金) 14:02:15.60ID:lL7QR+Re今他の人が動作確認等をしているところなので、エラー画面を出すわけにもなので、また後で試してみます
他社が作ったシステムなのですが、不具合だらけで、よくこんなので数年運用していたな…と思えるもので
お客さんもこの制作会社に愛想をつかしたのかなと
0050nobodyさん
2013/09/13(金) 17:19:36.52ID:???ひょっとして裏でメンテナンスしてる?と思ったけどどうやらそのままっぽい。
あれを今こっちによこされても触る気しねぇなw
0051nobodyさん
2013/09/13(金) 22:37:32.90ID:???>>41すみません。ご指摘頂いている通り
リレーション(実際にはbelongsTo)の設定に漏れがありました。
お騒がせしました。
おかげさまで力技で何とかusernameを表示させることができました。
本当はContainableとか使ってスマートにやれれば良いのでしょうが
今のところパフォーマンスはそこまで気にしなくて良さそうなので
とにかくありがとうございました。
0052nobodyさん
2013/09/14(土) 22:05:34.75ID:???モデル内の「1ヶ月以上放置ユーザーのデータを書き換える」という関数のテストを書きたいのですが
関数内でdate()を使っているのでテストを動かす日付によってテスト結果が変わってしまうことになります
テスト中はdate()をモック化して常に同じ日付を返すような事はできないでしょうか?
0053nobodyさん
2013/09/14(土) 22:38:16.25ID:???https://github.com/hnw/php-timecop
0054nobodyさん
2013/09/14(土) 22:50:16.35ID:???あざっす
0055nobodyさん
2013/09/16(月) 00:08:58.74ID:???0056nobodyさん
2013/09/16(月) 01:32:09.97ID:???0057nobodyさん
2013/09/16(月) 01:36:20.86ID:???0058nobodyさん
2013/09/16(月) 01:37:11.54ID:KEkZXyyj本当にいいの?
0059nobodyさん
2013/09/16(月) 01:46:36.58ID:???<?php echo 'SELECT * FROM posts;'; ?>
0061nobodyさん
2013/09/16(月) 12:45:44.30ID:???viewにユーザーにSQL入力してもらうフォーム置いとけば、アプリの開発要らないんじゃね?
0063nobodyさん
2013/09/16(月) 14:58:11.99ID:???まさか真に受けるとは思わなかった。。。
常識的にViewではSQLは書かないという前提があって、
だけど文字列で表示するというだけならば問題ないよね
っていう流れで書いたつもりなんだけど
悪気はなかった。すまん
0065nobodyさん
2013/09/16(月) 16:59:49.24ID:???0066nobodyさん
2013/09/16(月) 17:03:04.01ID:???親をループさせながら子のデータを取得したいんだけど
コントローラーでやると複雑になって、面倒くさいからVIEWでSQL書いちゃえば早くね?と思ったんだけどダメか?
0068nobodyさん
2013/09/16(月) 20:49:35.86ID:???[MissingControllerException] Controller class Robots.txtController could not be found.
特に害はないのですがどうすればエラーをなくせますか?
0069nobodyさん
2013/09/16(月) 21:47:16.36ID:???少なくとも生活保護や自己破産は選挙権と引き替えにすべき
0073nobodyさん
2013/09/16(月) 22:26:35.95ID:???しかちいつまでたっても2ちゃんのシステムは垢抜けないな
0074nobodyさん
2013/09/17(火) 12:59:52.45ID:???子テーブルのビューを作って親のループ中にrequireすればいい!
モデル理解するの無理そうだからそうしよう!
0075nobodyさん
2013/09/17(火) 13:45:38.86ID:???viewもわりと理解した
modelがよくわからない
他人が書いたソースを眺めるだけじゃなく、ちゃんと書籍なりで勉強すべきかな
0076nobodyさん
2013/09/17(火) 13:54:53.58ID:???普通なら/xxxx に飛ぶのに/xxxx/ に行ってしまって、その後のボタン処理が滅茶苦茶。
結局判らずリンク先をダイレクトに指定して回避したけど気持ち悪い。
Twitter Bootstrapを最近入れたけどCakePHPのフォーム処理と使い勝手が悪い感じがする。
0077nobodyさん
2013/09/17(火) 13:59:43.68ID:???実際に開発始めると、例みたいに簡単な1コントローラ、1モデル、1ビューの構成に片付かない
1コントローラ複数モデルになると一気にコントローラが太るのを何とかしたい
0078nobodyさん
2013/09/17(火) 14:21:37.80ID:???なんか苦戦してるみたいだけど、
具体的に詳しく書けば何らかの助言は貰えると思うよ。
よくは分からないけど、あなたは今良くない方向へ向かっている気がする。
同じ努力をするなら少し方向を考え直した方がいいのでは?
0079nobodyさん
2013/09/17(火) 16:36:07.83ID:???0080nobodyさん
2013/09/17(火) 16:37:37.77ID:???フレームワークが暗黙的にいろんなデータを補完しているから、
初心者だとよくはまる失敗の典型ではないかと思います。
詳しく見れば必ず解決できるはずなんだけど、最初は調べ方すらわからないのが普通。
問題になってる FormHelper::create() のパラメータを書いて見れば?
0081nobodyさん
2013/09/17(火) 16:40:07.14ID:???アングロサクソンに合わせるしか無いのであきらめろ。
世界の文化を上書きできるならもう一度戦争してみればいい。
0082nobodyさん
2013/09/17(火) 16:52:47.46ID:???0083nobodyさん
2013/09/17(火) 17:35:09.83ID:???0084nobodyさん
2013/09/17(火) 17:37:54.93ID:???0086nobodyさん
2013/09/17(火) 18:00:02.50ID:???0087nobodyさん
2013/09/18(水) 15:18:46.52ID:???FoodsテーブルにcolumnとしてDish_id, Calorie, (質問には関係ないけどFoodnameも)が有って、
Dishesテーブルの内容を、それぞれのrowに属するFoodのCalorieの合計の大きい小さい順に
paginatorの機能を使って並び変えられるようにしたい時、どうするのが一番良いですかね?
DishesテーブルにCalorieの合計値を属性として持たせる、と言うのは思いついたんですがどうでしょうか?
CakePHPは2.2を使ってます。
0089nobodyさん
2013/09/18(水) 16:05:46.78ID:???そうですか、ありがとうございます。
ただそうなると、もしFoodsテーブルのcalorie情報とDishesテーブルのcalorie合計値情報が
絶対矛盾しない様にしたいと思ったらトランザクションとか使わないといけないですよね?
もしくはcronとかを回してFoodsテーブルとDishesテーブルで矛盾が出たら検知するプログラムを走らせるとか?
0090nobodyさん
2013/09/18(水) 21:07:53.48ID:???0092nobodyさん
2013/09/19(木) 01:47:34.39ID:???0093nobodyさん
2013/09/19(木) 05:11:21.97ID:???0095nobodyさん
2013/09/19(木) 12:02:37.73ID:???0096nobodyさん
2013/09/19(木) 22:23:16.57ID:???0097nobodyさん
2013/09/19(木) 23:00:16.87ID:???他FWに比べて、いいから使ってるわきゃない
0098nobodyさん
2013/09/20(金) 00:26:53.84ID:???それが一番じゃないかな?
0099nobodyさん
2013/09/20(金) 00:31:48.40ID:???今は後悔している
0100nobodyさん
2013/09/20(金) 04:37:03.54ID:???96だが、日本語の資料が多いだけか。
他FWに比べて他のメリットってなにもないよね。
参考になったよありがとう。
0101nobodyさん
2013/09/20(金) 05:51:49.74ID:???0103nobodyさん
2013/09/20(金) 09:51:34.51ID:???ファイルの存在しないパスのアセットを取得しようとしてるかも。
一度CSSとかfaviconとかの記述をチェックして下さい。
0104nobodyさん
2013/09/20(金) 16:20:28.57ID:???してないならセッション切れの原因になると思う
俺も一部のコントローラーだけ指定してたらそうなった
0105nobodyさん
2013/09/20(金) 17:24:32.38ID:???cakeはcontrollerの部分はすごく便利
だが、modelはダメダメ
viewもわりと使いやすい
0106nobodyさん
2013/09/20(金) 17:31:35.17ID:???仕方なく始めたのがCakePHP1.3だった。
で、特に不満もなく今に至るという感じで、
なんとか2系にはシフトできたけど
ほかのフレームワークを試せるほど余裕が無い。
Cakeをある程度使えるようになるまで時間がかかったから、
それと同じぐらいの手間をかけてまで
他にまで手を広げようという意欲がわかないだけで、
簡単に他のを試せるならCakeを使っていないかもしれない。
そういう人は多いのじゃないかと思うがどうだろう。
0107nobodyさん
2013/09/20(金) 17:58:36.98ID:???その頃はまだFuelPHP等も流行ってなく、PHPのMVCフレームワークといえばどの本も大体Cakeを筆頭に挙げてた
で俺も勝ち馬に乗るつもりで手を出してみたんだけど、使ってみたらイマイチで他に新しいのがどんどん出てきた
けどキッツキツの仕事のスケジュールの中ではコードの再利用や学習コストを考えると他に以降できない
気に入らない点のいくつかは2で改善したし一応使い物になってるのでそのままって感じ
0108nobodyさん
2013/09/20(金) 18:10:37.86ID:???情報量が少ないとわざわざ覚えようと思わないよね
0109nobodyさん
2013/09/20(金) 18:48:44.64ID:???英語でもいいから公式ドキュメントをもっと充実して欲しいね、使い込む人用に。
ネットの記事や本も2より1の時の方が多かったよね、3になったら更に減ったりするのかな。
0110nobodyさん
2013/09/20(金) 18:51:58.92ID:???0111nobodyさん
2013/09/20(金) 20:07:24.91ID:???体系的・科学的じゃない。
0112nobodyさん
2013/09/20(金) 20:09:43.10ID:???Struts(java)⇒Symfony1系⇒ZendFW1系⇒Symfony2系⇒Cake2系と変遷してきた。
ドキュメントは公式のページで充分だしわからないとこはソースみりゃいいよね。
どんなFWでも同じ。
初めて触ってみたけどcakeの良いとこが多少学習コストが低いかもくらいしか見つからなかったんだ。
それで聞いてみた。
0113nobodyさん
2013/09/20(金) 20:27:59.86ID:???初心者騙しにしかなってない。
わからなかったらソース読めとかアホかそんな効率悪い事できるのは暇人だけ。皆働いてんだよ。
0114nobodyさん
2013/09/21(土) 00:07:12.40ID:???0115nobodyさん
2013/09/21(土) 00:39:39.41ID:???単数形にすることも出来るけど、フォーム処理で躓く時あるし
0116nobodyさん
2013/09/21(土) 00:53:11.30ID:???数人でプロジェクト組むと、うっかり守らない奴が出るんだよなあ
0118nobodyさん
2013/09/21(土) 01:21:56.95ID:???その場合は単数形が have で、複数形が haves だよ。
0119nobodyさん
2013/09/21(土) 01:27:56.10ID:???0120あ
2013/09/21(土) 01:41:26.10ID:???会員制のアプリで、アプリからブログの更新ができるようにしたいです。
ログイン後のトークン発行など、、ここらへんがよくわかりません。。
どんな流れになるのでしょうか?
よろしくお願いします。
0121nobodyさん
2013/09/21(土) 03:32:29.71ID:???http://book.cakephp.org/2.0/ja/tutorials-and-examples/blog-auth-example/auth.html
0122nobodyさん
2013/09/21(土) 09:22:19.71ID:IxVA/8jO書き直す場合にどのようにすればよいでしょうか
select
カラムA,(select カラムB from テーブル where カラムA=t1.カラムA order by rand() limit 1)
from
(select カラムA from テーブル group by カラムA) t1;
0123nobodyさん
2013/09/21(土) 12:05:47.80ID:h7jpowpU直書き 一択
0124nobodyさん
2013/09/21(土) 12:12:42.26ID:???調べることが暇人ってなんだ?
やりたいことが載ってないって応用力ないんだなww
答えそのものが載ってないとできない奴っているよねw
cakeが初心者用のフレームワークって納得したよ。
0125nobodyさん
2013/09/21(土) 12:29:05.54ID:???ソース検索して開いて見るより、ドキュメントがあったほうが見やすいだろ?
0126nobodyさん
2013/09/21(土) 12:38:54.14ID:???存在するか調べる機能ってないですかね?
小一時間ググったのですが、見つけられませんでした・・・
0127nobodyさん
2013/09/21(土) 12:48:08.89ID:h7jpowpU特別な方法はないと思う
Shellプラグインの作成で結構地味に調べたのを記憶してる
0128nobodyさん
2013/09/21(土) 12:54:35.00ID:???0129nobodyさん
2013/09/21(土) 12:55:01.64ID:???公式
http://book.cakephp.org/2.0/en/models/data-validation.html
ソース
lib/Cake/Utility/Validation.php
公式に全部載ってるかどうか知らんが、1つでも載ってたらソース見ないの?
どんなチェックしてるか知らないのに実装するの?
> 126
http://phpspot.net/php/pg%E3%82%AF%E3%83%A9%E3%82%B9%E3%81%8C%E5%AD%98%E5%9C%A8%E3%81%99%E3%82%8B%E3%81%8B%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF.html
0130nobodyさん
2013/09/21(土) 14:04:59.28ID:???cakeの機能としてはないんですね。
ビューの一部をDBに保存してるのであればと思いましたが、
ないということなので定数からパスを作成して調べます
0131nobodyさん
2013/09/21(土) 16:43:48.92ID:McaoFmaC具体的にはコンボボックスやラジオボタンで選択されたデータをコントローラーで知りたいのですが、
$this->data[テーブル名][カラム名] データベースのデータじゃなくてコントローラーで設定した値なので使えない。
$this->param['form][???] paramにPOSTデータが全部入るようなのですが、二番目の引数に何を指定すれば求めるものが取得できるのかわかりません。
何を入れてもnullが返ってきます。根本的に考え違いしていますか?
0132nobodyさん
2013/09/21(土) 16:56:23.08ID:IxVA/8jO間違ってたらごめん。
どんなデータがpostされてるかはchromeなら要素検証から見れるから
それを参考に書いてみるといいと思う。
cakephp2しか触ったことないけど、その場合は下の感じで受け取るね
$this->request->data['model']['id']みたいな感じ
0133nobodyさん
2013/09/21(土) 17:01:45.99ID:???で確認してみるとよさそう
0134nobodyさん
2013/09/22(日) 03:28:58.52ID:???0135nobodyさん
2013/09/22(日) 03:45:13.84ID:???指定していると、ログイン時になにも入力しなくても
ログインできてしまう問題に遭遇した。
バーチャルフィールドの指定を外すとエラーチェックしてくれるから
バーチャルフィールドが問題だと思うけど、
これを突き止めるのに4時間かかったぜ・・・
似た問題に遭遇してる人は参考にしてください。
0136nobodyさん
2013/09/22(日) 03:48:28.58ID:???あざっす、そこに載っていたのか
そのページ前からあった?以前英語のページ含め結構探したんだが…
ソースは基本読まないで使うなあ、バグ解析などで必要にならないと読まない
他人のコード読みながら作る時間があったら自分で作るからなあ
0137nobodyさん
2013/09/22(日) 03:49:53.63ID:???再現してみたいので出来ればもうちょい詳しくお願いします。
バーチャルフィールドの指定ってのは
User::$virsutalFields = array(...);
ってことでいいのかな?
0138nobodyさん
2013/09/22(日) 04:17:47.94ID:ILax0A3i>他人のコード読みながら作る時間があったら自分で作るからなあ
フレームワーク使う意味ないんじゃ…
0139nobodyさん
2013/09/22(日) 04:30:37.36ID:???0140nobodyさん
2013/09/22(日) 12:58:56.82ID:???むしろそういう奴は使わない方がいいと思う
0141nobodyさん
2013/09/22(日) 13:56:20.61ID:???他に何のメリットがあるんだよ
0143nobodyさん
2013/09/22(日) 15:00:26.29ID:???自分が好きなように作れるんだし
0144nobodyさん
2013/09/22(日) 16:08:37.23ID:???どんな低機能のフレームワークだよ…
0145nobodyさん
2013/09/22(日) 19:24:19.17ID:???wwwwくそわろた
0146nobodyさん
2013/09/22(日) 21:32:19.12ID:???原因不明過ぎて怖い
0147nobodyさん
2013/09/22(日) 23:04:15.03ID:???0148nobodyさん
2013/09/22(日) 23:12:27.52ID:1/Rn/nVo0149nobodyさん
2013/09/22(日) 23:59:51.35ID:???有名な会員サイトで使えてるんだから、何とかなるでしょ
0150nobodyさん
2013/09/23(月) 00:16:18.34ID:???0151nobodyさん
2013/09/23(月) 05:48:35.98ID:???> セッション切れ問題がデータベースを空にしたら治った
> 原因不明過ぎて怖い
あ、それ簡単だよ。セッションが壊れてるの
MySQLはデフォルトの設定で文字数が定義より多くて
溢れても、途中で切れるだけで処理が正常終了しちゃうんだよね。
その時、壊れたセッションが出来上がる。
0153nobodyさん
2013/09/23(月) 10:43:47.86ID:???俺もそう思っていた
0154nobodyさん
2013/09/23(月) 13:37:52.78ID:???何を指してるの?
0155nobodyさん
2013/09/23(月) 13:43:42.09ID:???0156nobodyさん
2013/09/23(月) 13:49:32.13ID:???仕方なくmediumで使うと安定している
0159nobodyさん
2013/09/23(月) 17:10:55.17ID:???0160nobodyさん
2013/09/24(火) 10:22:15.50ID:PewVrVzx0161nobodyさん
2013/09/24(火) 10:48:16.58ID:???0162nobodyさん
2013/09/24(火) 11:01:06.76ID:???リフレクションを用いた初期設定値の自動マージ、
そのあたりの隠蔽された処理の把握に苦戦する。
とは言え、これはCakeに限ったことじゃないが。
0163nobodyさん
2013/09/24(火) 12:09:00.22ID:???オレもいまCake使ってて
モデルが単数形でコントローラーが複数形だけど
それって他のフレームワークも同じ?
フォームヘルパーとか$this->request->data=$this->Post->read()の値をフォームで使えるようにするらしいけど
$this->set('xxx',$this->request->data);じゃなくて
そのまま使えるけどそれも隠蔽されてるっていうの?
0164nobodyさん
2013/09/24(火) 13:18:17.37ID:???一人のキチガイが根拠も示さず必死に否定してるけど
開発速度向上はフレームワークのメリットのひとつだよ
0165nobodyさん
2013/09/24(火) 13:56:07.30ID:???未作成のモデルをCakePHPみたいに暗黙的に呼び出すというのは俺は知らない。
SynfonyにしろCodeIgniterにしろテーブルと関連付けた
アクティブレコードを明示する必要があって、
そこで単数形にするかどうかは好きにすればって感じだったと思う。
> フォームヘルパーとか$this->request->data=$this->Post->read()の値をフォームで使えるようにする
え、そうなん?初耳だわ。
0166nobodyさん
2013/09/24(火) 14:28:03.92ID:???>ほとんどの場合、このような形式を意識することはありません。
>CakePHPの FormHelper やモデルのfindメソッドは全てこの形式に従っています。
>FormHelperを使っていれば、 $this->request->data で簡単にこの形式のデータにアクセスできるようになっています。
$this->setに代入じゃなくて
$this->request->dataに代入で使える
変なの
0167nobodyさん
2013/09/24(火) 14:53:11.90ID:2aQmFqKG0168nobodyさん
2013/09/24(火) 16:31:42.77ID:???教えてください
0170nobodyさん
2013/09/24(火) 17:46:21.20ID:???0171nobodyさん
2013/09/24(火) 18:01:42.34ID:???他に何のメリットがあるの?
開発速度以外はデメリットだらけだろ
オープンソースのFWはオレオレ作る時間がない時に仕方なく使うもの
0172nobodyさん
2013/09/24(火) 18:10:35.82ID:???品質の向上とかあるだろggrks。
cakeが最良とは言わんが、今の時勢でフレームワークを使うことを考慮しないのはありえん。
0174nobodyさん
2013/09/24(火) 18:24:26.00ID:???・利用者が多いので、プラグイン作成の手間が省ける
・大規模サイトでも利用されてる安心感
・命名規則が統一してるから、名前付けで悩まなくてもいい
・不特定多数で開発する時、意思の疎通が図りやすい
・コピペで作っても不具合が起きづらい
・公式が現在も開発を続けている安心感
まだ続けてるか?
0177nobodyさん
2013/09/24(火) 18:34:34.37ID:???やはり不毛なフレームワーク論争かw
0178nobodyさん
2013/09/24(火) 18:38:55.69ID:???0180nobodyさん
2013/09/24(火) 21:21:03.36ID:???cakeで凝ったつくりのサイトとかあったら教えてもらえませんか?
0182nobodyさん
2013/09/24(火) 23:14:27.72ID:???そもそもあんたが言っている「凝った作りのサイト」が
どういったものなのかわからないので答えようがない。
cake以外で作っていてもいいから、
まず「凝った作りのサイト」の例をいくつか上げてくれ。
サイトいうだけじゃなく凝ってる部分はどこかも言うように。
0183nobodyさん
2013/09/25(水) 00:17:25.95ID:???0184nobodyさん
2013/09/25(水) 00:26:04.71ID:???0185nobodyさん
2013/09/25(水) 01:34:52.18ID:QAhhx/Ja0187nobodyさん
2013/09/25(水) 13:03:59.31ID:???Fatal error: Class 'PagesController' not found
と出るんだけど、なにこれテスト通らないのにリリースされてんの?
0189nobodyさん
2013/09/25(水) 21:12:17.21ID:???PHPだから遅いのは確かだが、その中でも早いフレームワークは出てきてる。
>>180
「凝った作りのサイト」ってよくわからんが技術が無いだけじゃないの?
>>184
SEO対策だね。初歩しか知らんからそれ以上はなにも言えないw
0190nobodyさん
2013/09/25(水) 23:37:22.39ID:???0191nobodyさん
2013/09/26(木) 00:26:56.50ID:???SEO対策は集客のためにするんじゃないぞ。
SEOは単に検索エンジンにとって適切な作りにするだけだ。
それによって、検索した時の順位が上がることがあるが、
集客できるかどうかはコンテンツ次第。
0192nobodyさん
2013/09/26(木) 21:43:37.36ID:???やり方がございましたらご教示お願いします
0193nobodyさん
2013/09/26(木) 22:53:10.81ID:???HtmlHelper::link() メソッドでラップするなり何なりして下さいませ。
0194nobodyさん
2013/09/26(木) 23:27:13.45ID:???プログラムに処理させるのは簡単なループと条件判定とURLぐらいにして
普通にタグを書くべきだという結論にいたったけどね。
0195nobodyさん
2013/09/27(金) 02:25:34.52ID:???0196nobodyさん
2013/09/27(金) 11:37:18.57ID:???やっぱりそうなりますか
ありがとうございます
>>194
現在ページのけつにスラッシュありかなしかで相対パスが変わってしまうのを無視できるのでヘルパー使ってます
絶対パスだったら生でいいと思います
0197nobodyさん
2013/09/27(金) 13:21:36.12ID:???PHPでバリデーションする場合ってどうやってますか?
cakephpみたいにvalidateのmessage=>'エラー'とかみたいなのがあればいいのですが
ライブラリをぐぐっても多すぎて困ってます
PHP長年やってる人はどのようにしてるのでしょうか?
いちいちif分で2ページにわたり書いてました
フレームワークを使わないでPHPでやる方法の上級者の意見を参考にしたいです教えてください
使ってるライブラリ名とかでもいいです
0198nobodyさん
2013/09/27(金) 16:33:01.11ID:???0199nobodyさん
2013/09/27(金) 17:16:00.06ID:???いちいち二ページ書くのがいやだからフレームワークを使う
フレームワークを使うのが嫌なら二ページ書くしかないだろ
0200nobodyさん
2013/09/27(金) 17:54:19.34ID:???ひょっとしてノートにでも書いてるの?
0201nobodyさん
2013/09/27(金) 18:11:54.74ID:???cakephpにはvalidateのmessage=>'エラー'とかみたいなのがあるのでそれを使います。
0202nobodyさん
2013/09/27(金) 20:46:51.61ID:???特定のユーザーだけ、特定のページのみ閲覧可能にする方法はございますでしょうか
ご教示お願いいたします
0203nobodyさん
2013/09/27(金) 23:51:29.97ID:???そうでなければエラーページ表示しろ
0204nobodyさん
2013/09/28(土) 00:10:22.06ID:???ACO, ARO を使ったアクセス制御を勉強して下さい。
CakePHPの組み込みで3種類の設定が用意されています。
データベースを用いた方法が最も柔軟で高機能ですが、
管理が複雑になるので始めはiniファイルかphpファイルを用いたやり方がオススメです。
設定ファイルは
app/Config/acl.ini.php
app/Config/acl.php
のいずれかをカスタマイズして用います。
チュートリアルには残念ながらデータベースを用いる方法しか載っていませんが、
ググればある程度日本語の資料も出てくると思います。
0205nobodyさん
2013/09/28(土) 01:32:35.29ID:???cakebookが本当にひどいな。見ない方がいい。普段はcakebookの出来には寛大だが、こればかりは無理!
0207nobodyさん
2013/09/28(土) 02:24:59.99ID:???フレームワークってあくまでも標準を提供するだけであって、
規約でさえも単なるバリエーションの一形態として捉えたんで良いのではないかと。
規約に縛られ過ぎも良くないし、規約を無視し過ぎも良くない。
中庸が良いと思う。
0208nobodyさん
2013/09/28(土) 07:50:01.51ID:???どうもです
たしかにそれがシンプルですね
>>204
ACO,AROですね
勉強してみます
おすすめの方法の方向でやってみたいと思います
ありがとうございました
0209nobodyさん
2013/09/28(土) 10:59:00.81ID:???aco,aroっていまいち使いどころがわからない。
例えばあるページの一部のリンクの表示をユーザーによってオンオフする場合、
aco,aroを使い、かつ、ボタンの表示制御のコードも書くよね。
なんか楽になってない気がするんだよね。
0210nobodyさん
2013/09/28(土) 12:27:13.28ID:???ACO, AROしらんけど、ユーザーによってオンオフするという機能の
作り方にある種の壁がある。
・壁を乗り越えられない人
if ($user == 'admin') { 管理画面表示 }
こんなコードを書く
・壁を乗り越えた人
if ( 権限があるか?('管理画面', $user) ) { 管理画面表示 }
こんなコードを書く
前者はユーザーが増えた時どうするの?
新たにグループ作りたくなったらどうするの?
adminだけど特定の場合(無料ユーザー等)には
管理画面の一部を消したくなったらどうするの?
などなど拡張性が低い。(全体的にメンテナンスが必要になるしコードも見づらくなる)
後者の書き方をしておけば、引数のユーザーから
いろんな条件を元に表示する権限を決めるだけだから拡張性が高い。
ACO, AROは、後者の壁を乗り越えた人だけが理解できる機能だと思う。
0211nobodyさん
2013/09/28(土) 13:52:09.15ID:???adminだけど特定のユーザーに管理画面解放する使い方って?
俺の認識では、管理画面とユーザー用管理画面は
分けるべきだと思うが。共通化するなんて怖い
0212nobodyさん
2013/09/28(土) 14:23:58.43ID:???ACO,AROの最大のメリット。
だと思う。
0213nobodyさん
2013/09/28(土) 14:56:21.69ID:mm0OqWTD0214nobodyさん
2013/09/28(土) 15:13:51.00ID:???ビューは非プログラマに書かせるから、ctp自体使わずHTMLに近いテンプレートシステム使ってます
0215nobodyさん
2013/09/28(土) 18:23:01.86ID:???説明の仕方が悪かったね。
adminでもGoogle Appのように
無料契約やビジネス契約によって機能が制限されることはある。
そういう話だったが、普通に田中さん(マネージャー)とか
そういう例えにしておけばよかったね。
0216nobodyさん
2013/09/28(土) 19:02:36.41ID:???0217nobodyさん
2013/09/28(土) 20:16:14.74ID:???ARO - アクセスリクエストオブジェクト(Access Request Object) - ある物を取り扱う「主体」
0219nobodyさん
2013/09/28(土) 22:27:35.62ID:???他人のdiaryが見られないように制御をするとしたら、ACO&AROの仕組みでは対応できなくない?
リクエストを受けたときに、そのユーザーが対象のactionを実行できるかできないかの制御しかできないんでしょ?
0220nobodyさん
2013/09/28(土) 23:57:31.97ID:???検索時邪魔でしょうがない、確実に今開発してる人の生産性を少しずつ下げてる
0221nobodyさん
2013/09/29(日) 01:03:09.68ID:???デフォルトというか、Cakeの組み込みはそうです。
でも拡張すれば出来なくはない。
昔やったことがある。
ただ、管理が分けわからなくなって嫌になったんで、そのやり方は封印して
結局PHPの設定ファイルに書き込む方法に落ち着いた。
まぁ、俺が下手なのは認めるとして、逆に言うと、下手な人間にも使えるような
うまい仕組みとはいえないと思う。
0222nobodyさん
2013/09/29(日) 01:12:36.30ID:???だから技術職というものがあり、
技術があることで金を稼いでいるんだ。
0224nobodyさん
2013/09/29(日) 01:58:37.63ID:???0225nobodyさん
2013/09/29(日) 02:04:25.72ID:???2で仕様変え過ぎ
0226nobodyさん
2013/09/29(日) 13:11:03.72ID:???0227nobodyさん
2013/09/29(日) 13:37:17.57ID:???0228nobodyさん
2013/09/29(日) 13:43:46.71ID:???0229nobodyさん
2013/09/29(日) 13:48:05.32ID:???0230nobodyさん
2013/09/29(日) 13:52:02.75ID:???&tbs=qdr:yみたいに
0232nobodyさん
2013/09/30(月) 14:07:01.24ID:???0233nobodyさん
2013/09/30(月) 14:08:21.98ID:???0234nobodyさん
2013/09/30(月) 17:13:49.37ID:???サードパーティー製ならVendors
http://book.cakephp.org/2.0/en/getting-started/cakephp-folder-structure.html
0235nobodyさん
2013/09/30(月) 21:53:03.23ID:YNM1OLM4送信処理はできてもヘッダーにtoがないのですが原因などわかりますでしょうか・・・
0236nobodyさん
2013/09/30(月) 22:56:45.74ID:YNM1OLM40237nobodyさん
2013/09/30(月) 23:32:26.73ID:???っていう本がでたらしいのですが
どうですかね?
最近CakePHPはじめたばっかりなので
本かおうとおもってますが
0238nobodyさん
2013/09/30(月) 23:52:23.59ID:II3eS9V+Cakeのwebroot下にWordpressをインストールしました。
一応稼働できてはいるのですが、
URLがルートの場合はwebroot内にあるWordpressディレクトリを表示したいのですが
htaccessで可能でしょうか?
0239nobodyさん
2013/10/01(火) 04:54:23.88ID:???0240nobodyさん
2013/10/01(火) 09:02:42.29ID:???どうしてもテストか実際の実行かで分岐しないといけない個所があるんだけど
Cakeで「今テスト中か?」の確実な判定はどうすればいいのでしょう
開発してたら知りたくなるこういうことが公式には載ってないんだよなーという一例
0241nobodyさん
2013/10/01(火) 11:07:03.38ID:???Cakeだからむずかしいってことではないと思う。
Cake本体のテストケース見てみ。
すっげー大変なことしてるから。
テスト中の判定はいくつかやりかたはあると思うけど、
それってテストの書き方に問題があるのでは?
0242nobodyさん
2013/10/01(火) 11:10:07.46ID:???要するにCake本体のテストもかなりえげつないことしてるけど、
それはCakeだからそうなったってことではないだろうということ。
あとどうしても判定したいなら CakeTestSuiteDispatcher.php で定数定義してるんで、
それを使ってみるとか。
あとは $_SERVER の SCRIPT_NAME を見るとか。
0243nobodyさん
2013/10/01(火) 13:16:24.04ID:???モデルにどのDBから読み込むか(マスターとスレーブ)動的に変更している所があって
テスト時にそこが本来のDB読みに行こうとしてハマってた等、回避不可能なことがいくつもあってな
いやーテストって本当難しいわ、製品作るより難しい
テストに関する情報が少ないのも難易度を上げてるな、本とかにも大抵ちょろっとしか載ってないもんな
0244nobodyさん
2013/10/01(火) 14:25:16.95ID:???ってレベルじゃねーな
テストを書く時間9割で
残り実コード書く時間とテスト走らせる時間が5分5分
0245nobodyさん
2013/10/01(火) 14:29:15.29ID:???と言いつつ設計と実装を同時に進めるチャランポランな俺はTDDが出来ない
0246nobodyさん
2013/10/01(火) 15:03:39.29ID:???運用も任されたり長年使い続けるシステムならテスト書く、そうしないと1年後は毎日バグフィクスで潰れる
0247nobodyさん
2013/10/01(火) 15:57:47.39ID:???外部PHPプログラムからCakeの結果(findで生成される配列など)を
受け取りたいのですが、可能でしょうか?
1.3系はググって見つかったのですが、2系は見つかりません。
もし可能なら方法を教えてください
0249247
2013/10/01(火) 17:43:00.64ID:???以下で紹介されている方法を参考にしました。
ttp://web.mt-systems.jp/archives/783
1.3系はこの方法で動きますが、2系ですと一部の関数や命名規則が変わっているので、
この通りにやっても動きません。
Dispatcherの書き方の問題だと思うのですが、
ソースを見てもどうやって実行値を取得すれば良いか、わかりませんでした・・。
0250nobodyさん
2013/10/01(火) 18:10:43.96ID:???0251nobodyさん
2013/10/01(火) 18:29:49.41ID:???そこまでしてでも組み込みたいのか。。。
素直にバッチ化して呼び出すとか、WebAPI経由で呼べばいいものを。。。
0252nobodyさん
2013/10/05(土) 01:07:51.95ID:???コントローラの途中で特定の条件を満たすとヘッダが404を出して終わり
(ブラウザには404 Not foundが表示される)としたいのだが、
CakeResponseというのを使うらしいのだがドキュメント見て
$this->response->httpCodes(404); return; とか
$this->response->statusCode(404); return; とかやっても、ページが表示されてしまう
後者は404が返るようにはなるのだが、ビューの内容も返してしまってるようだ
要は
header('404 Not Found', true, 404);
$this->_stop();
と同じ結果にしたいのだが、CakeResponseを使って書くにはどうすればいいのだろう?
0253nobodyさん
2013/10/05(土) 02:07:14.57ID:???0254nobodyさん
2013/10/05(土) 02:14:19.09ID:???Cake2 からしか知らないけど、ヘッダの送出、ビューの指定の二つだけ行って
リターンしたらいいんじゃないの?
if ($error) {
$this->response->statusCode(404);
$this->view = 'error';
return;
}
みたいな感じで。
あと、例外を投げても一部のクラスは 404 になるんだけど、それは知ってる?
0255nobodyさん
2013/10/05(土) 02:15:37.07ID:???0256nobodyさん
2013/10/05(土) 04:04:25.49ID:???>$_GET['url']に文字列「favicon.ico」をセットすると、require_once で読み込んだ index.php の実行が dispatcher を動作せずに終了するようになっている。
バッドノウハウ過ぎて、製品にはこわくて使えねーよw
https://github.com/cakephp/cakephp/blob/1.3/app/webroot/index.php#L82
https://github.com/cakephp/cakephp/blob/2.2.9/app/webroot/index.php#L91-92
まぁ一応ソースで確認してみた。
faviconは見ての通りなくなってるので諦めろ。
と、ここまで書いてから思ったが、要するにgithubでハイライトされてる最後の2行を消したファイルを作って、
require_onceすればできんじゃねーの?
0257nobodyさん
2013/10/05(土) 04:18:28.90ID:???$this->response->httpCodes()はgetterだから意味ないぞ。
$this->response->statusCode(404);
$this->autoRender = false;
return;
これで、$this->render('index');と明示的に書かない限り、レンダリングされないので、
body部が空になると思われ。
動確はしてない。
0258nobodyさん
2013/10/05(土) 13:04:41.41ID:???0259nobodyさん
2013/10/05(土) 18:22:31.88ID:???0260nobodyさん
2013/10/05(土) 18:26:41.61ID:???0262nobodyさん
2013/10/05(土) 19:35:08.52ID:cB/QUfLzドットインストールと詳解でなんとかなった
実践入門とかも読んだなぁ
0263nobodyさん
2013/10/05(土) 20:36:15.64ID:???0264nobodyさん
2013/10/05(土) 20:37:41.87ID:???"CakePHP findしたときに一時的にアソシエーションをなくす"
でぐぐったら出てくるんですが・・・
0265nobodyさん
2013/10/06(日) 10:47:59.39ID:???0266nobodyさん
2013/10/06(日) 11:57:58.32ID:???Your database configuration was not found
って出てくるどうすりゃいいの?
index.php と test.phpのコメント行は外しました
0267nobodyさん
2013/10/06(日) 12:03:15.88ID:???アプリケーションルートディレクトリで実行してないだけでした
0268nobodyさん
2013/10/07(月) 13:48:06.58ID:???0269nobodyさん
2013/10/07(月) 17:46:40.29ID:???View::evaluate() を見てみると良いかも
0270nobodyさん
2013/10/08(火) 00:59:47.40ID:???0271247
2013/10/08(火) 09:11:47.61ID:???遅レスですみません。
その2行を消して実行ファイルでDispatcherを宣言しても
CakeRequest側の受取が上手く行かずに、データ取得できませんでした。
そもそも、どうやって外部ファイルからrequestを受け取るのか・・・
全てCakeのフォルダ内で管理したいというよりも、
一部だけCakeを使いたいor既に使っている物をCakeに変更したい
などの需要があると思ったのですが、意外と無いですね。
findはSQL文でSELECTを書けばいいし、PDOを使えば簡単に取得出来るので、
外部ファイルからCakeを通す必要性がないのかもしれません。
0272nobodyさん
2013/10/08(火) 13:46:34.36ID:???要するに結果を通常のビューじゃなくて
JSONで出力するとかって話じゃないのか?
0273nobodyさん
2013/10/08(火) 14:04:35.31ID:???http://www.php.net/manual/ja/function.file-get-contents.php すればいいじゃん!
<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>
PHPなら2行で通信するプログラムも書けるよ!!
俺はセキュリティ的にこわくてできないけどな
0274247
2013/10/08(火) 16:34:38.21ID:???いえ、Cake形式の配列でfindの結果を受け取りたいんです。
で、>>249の方法なら出来るのです。
でも、2系だと無理です。なので質問しました。
0275nobodyさん
2013/10/08(火) 16:58:21.71ID:???0276nobodyさん
2013/10/08(火) 17:00:13.50ID:???分かった。
0277nobodyさん
2013/10/09(水) 02:02:54.44ID:???> これで posts コントローラの index アクションを実行し、レンダリングされた結果が表示できる。
dispatch()したら、findの結果じゃなくビューをレンダリングした結果だぞ。
その1.3でできてるってのも、上記の通りだし。
0278247
2013/10/09(水) 09:57:04.46ID:???1.3の場合、>>249の説明にもありますが、
以下の様なソースで、対象コントローラのfind結果を取得できます。
requestActionみたいな感じです。良かったら試してみてください。
$_GET['url'] = 'favicon.ico';
require_once 'index.php';
$Dispatcher = new Dispatcher;
$list = $Dispatcher->dispatch('/news/index', array('return' => 1));
foreach ($list as $data) {
echo $data['News']['created'] . ':' . $data['News']['title'] . "<br>";
}
0279nobodyさん
2013/10/09(水) 11:28:30.56ID:???class MyOutput extends ConsoleOutput {
public function write($messege, $newlines = 1) { // $message でデータを受け取ってあれこれする.... }
}
class MyInput extends ConsoleInput {
// 面倒なので適当に考えてくれ
}
class MyDispatcher extends ShellDispatcher {
protected function _getShell($shell) {
//... なんやかんや
$shell = new Shell($myOutput, $myErrorOutput, $myInput);
//... なんやかんや
return $shell;
}
}
----
<?php
$args = array(.....);
new MyDispatcher($args)->run();
みたいな感じで。
取得したいデータは $myOutput をパイプみたいにしてゲット。
どう?
0280nobodyさん
2013/10/09(水) 14:26:40.63ID:???0281nobodyさん
2013/10/10(木) 04:29:12.84ID:???0282nobodyさん
2013/10/12(土) 20:34:20.88ID:???ユーザーが自分で更新出来るCMSを作成してます
そこでユーザーが更新するたびにgoogle等にインデックスされるようにしたいです
こういった場合みなさんはどうやってインデックスさせてますか?
cakeと関係ない質問かもしれませんが便利なやり方があるかもと思い質問しました
よろしくお願いします
0283nobodyさん
2013/10/12(土) 21:40:23.39ID:???0284nobodyさん
2013/10/12(土) 23:39:11.12ID:???あとsitemap更新とか。
どっちにしてもGoogle次第
0285nobodyさん
2013/10/13(日) 01:02:29.28ID:???ユーザーが作成したページが検索に乗るようにするって結構難しいのかな
登録・更新のたびにsitemap作成するスクリプトとか流してたら相当重くなりそうですよね
親切にありがとうございます
0286nobodyさん
2013/10/13(日) 02:27:44.36ID:???0287nobodyさん
2013/10/13(日) 15:45:55.81ID:fH7wT7anありがとうございます
深夜辺りにcronで動くように設定したいと思います
完全にスレチでした。すみませんでした
0288nobodyさん
2013/10/15(火) 17:36:39.11ID:tnpde/Hs今は、自作 or Googleアナリティクスを考えています。
0289nobodyさん
2013/10/15(火) 20:16:47.76ID:???0290nobodyさん
2013/10/19(土) 09:01:10.85ID:???大阪から東京は北チョン。
0291nobodyさん
2013/10/23(水) 01:11:43.94ID:???getuser( $user_id, $age)
{
}
と引数を2つで指定しているとします。
http://hogehoge.com/getuser/333/25
→ OK
http://hogehoge.com/getuser/333
でアクセスされた場合に
Missing argument 2 for UserController::getuser()
というエラーが出てしまうのですが、事前にアクセスの想定されるURL以外でアクセスが来た場合に
それを上記の様なエラーが出る事無く弾くにはどうすれば良いでしょうか?
コントローラの中のファンクションで
.Net の optional 的な引数指定の方法はありませんか?
0292nobodyさん
2013/10/23(水) 02:18:32.08ID:???$args = func_get_args();
if (count($args) < 2) { ... error ... }
}
0294nobodyさん
2013/10/23(水) 04:27:05.04ID:???デフォルト引数値使えよ
public function getuser( $user_id, $age = nulll ){
if(empty($age)){
// http://hogehoge.com/getuser/333 の場合
} else {
// http://hogehoge.com/getuser/333/25 の場合
}
}
0295nobodyさん
2013/10/23(水) 05:35:12.35ID:???0296nobodyさん
2013/10/23(水) 11:58:33.55ID:???だから、empty($age)から書いたが、このままじゃ分かりにくいと思ってelseを後付けしたんだ。
あと、例外的なほうから書くほうが好みというのもあるけど。
0299nobodyさん
2013/10/23(水) 22:22:55.02ID:TvTq8mzBなぜ?
あと、関係ないけど
ERROR:referer情報が変です。(ref1)http://www.engawa.2ch.net/test/read.cgi/budou/ほげほげ/l50
武道板になぜか書き込みができないんだけどなぜ?
0300nobodyさん
2013/10/24(木) 00:57:55.24ID:ZRTs6kHv試しているのですがなぜかデータの絞り込みが出来ません。
また、何もエラーも出ません。
$data_company = $this->find('all', array(
'conditions' => array( 〜 略 〜 ),
'fields' => array('company_id','company_name'),
'order' => array('sequence_number' => 'asc'),
array('offset' => '0','limit' => '5'),
));
ここでは、取得対象データが300件返って来るけれども
5行のみ取得する、という事を想定して記述しています。
どこに問題があるのでしょうか?
0302nobodyさん
2013/10/24(木) 01:32:31.18ID:???$data_company = $this->find('all', array(
'conditions' => array( 〜 略 〜 ),
'fields' => array('company_id','company_name'),
'order' => 'sequence_number asc','limit' => '5',
));
0303nobodyさん
2013/10/24(木) 02:29:39.52ID:???ありがとうございます。
やりたかった事が出来そうです!!
※cakePHPに標準で備わっているページング処理よりも
自前でコーディングした方が後々細かい制御が出来てよいと思ってましたので
limit使ってガリガリやろうと思います。
0305nobodyさん
2013/10/24(木) 03:28:39.25ID:???細かい制御ができないというのなら直ちに調べたほうが良い。
0306nobodyさん
2013/10/25(金) 23:49:39.14ID:AB+nrtPz前へ 次へ ... >> <<
色々とやってましたが素直にページング使った方が楽そうなのでページングを使い始めました^^b
0307nobodyさん
2013/10/26(土) 21:52:14.71ID:Zi7Pbhr3この状態で以下のコードを実行すると想定外の出力結果が
返って来ます。何が間違っているのでしょうか?
var_dump($work_check_number);
echo "<br>";
if ( $work_check_number <= (float)0.4 )
{
echo "debug-1<br>";
}
else
{
echo "debug-2<br>";
}
【想定出力結果】
float(0.4)
debug-1
【実際に出力される結果】
float(0.4)
debug-2
0308nobodyさん
2013/10/26(土) 22:11:25.69ID:5t9gsaZZ0310nobodyさん
2013/10/27(日) 17:26:30.48ID:dxTjMq1b0311nobodyさん
2013/10/27(日) 17:47:06.22ID:???大小比較とこの問題は関係ないよ
IEEE754を採用してる言語なら事情はどこも似たようなもの
$a = 0.4;
$b = 0.4 + 2.2204460492503131e-016;
var_dump($a); # float(0.4)
var_dump($b); # float(0.4)
var_dump($a == $b); # bool(false)
var_dump($a < $b); # bool(true)
0313nobodyさん
2013/10/28(月) 10:28:14.68ID:???俺の使い方が悪いだけかもしれないが
0314nobodyさん
2013/10/31(木) 15:20:24.96ID:S0k5dQpe0316nobodyさん
2013/10/31(木) 16:24:28.47ID:???だからってinformationテーブルにInformationControllerが正しいと、
それなりに開発が進んでから気がついたときの怒りは、
どこにぶつければいい?
0317nobodyさん
2013/10/31(木) 18:32:50.75ID:S0k5dQpeありがとうございます。
無事出来ました!!
0318nobodyさん
2013/10/31(木) 18:53:54.33ID:S0k5dQpeuser_id, user_age,user_nme
from users where
( user_id = 1 and user_age = 30 )
and ( user_id = 2 and user_age = 25 )
and ( user_id = 3 and user_age = 28 )
cakePHPのconditionsで上記の様なSQLを実行させる書き方はありますか?
'conditions' => array(
'users.user_id =' => 1,
'users.user_age =' => 30,
),
現在ループしながら複数クエリを発行しているのですが
纏めて1回のクエリで必要データを取得したいと考えています。
0319nobodyさん
2013/10/31(木) 20:03:43.30ID:???英語の勉強を疎かにしてきた自分を呪えば良いと思うよ
まぁ、冗談は抜きにして、英語の基礎ができてないと色々とキツイよな。
0320nobodyさん
2013/10/31(木) 20:07:38.67ID:???あの・・・ and はカッコ外しても論理構造同じですが。
もし 'or' を入れたいのなら、キーに 'and' とか 'or' とかを用いて
幾重にも入れ子に出来たはず。
キーが数値の場合は 'and' として解釈するんだったっけ。
0321nobodyさん
2013/10/31(木) 20:08:43.64ID:???0322nobodyさん
2013/10/31(木) 20:10:49.38ID:???(正しい) and だけの場合はカッコ外しても論理構造同じ
ミスった
0323nobodyさん
2013/10/31(木) 20:11:08.33ID:pvMz+FsK間違えました。
ただしくは、
select
user_id, user_age,user_nme
from users where
( user_id = 1 and user_age = 30 )
or ( user_id = 2 and user_age = 25 )
or ( user_id = 3 and user_age = 28 )
です。 キーに or を入れて試してみたいと思います。
0324nobodyさん
2013/10/31(木) 20:15:46.01ID:???$cond2 = array('user_id' => 2, 'user_age' => 25);
$cond3 = array('user_id' => 3, 'user_age' => 28);
$conditions = array('or' => array($cond1, $cond2, $cond3);
0325nobodyさん
2013/10/31(木) 20:23:43.34ID:pvMz+FsKあざーすっ!
コードがすっきりしました!!
0326nobodyさん
2013/10/31(木) 20:38:39.33ID:???0327nobodyさん
2013/10/31(木) 23:42:41.93ID:???0328nobodyさん
2013/11/01(金) 00:32:03.09ID:???0330nobodyさん
2013/11/01(金) 17:45:57.99ID:???0331nobodyさん
2013/11/01(金) 22:05:00.04ID:???外人がfishesという単語を見て魚の缶詰を思い浮かべるのと同じ
0332nobodyさん
2013/11/02(土) 01:30:30.01ID:???0333nobodyさん
2013/11/02(土) 09:23:48.01ID:???0334nobodyさん
2013/11/02(土) 14:49:14.45ID:YSV0Zcpfそもそも何に使うの?
良い解説サイトがあったら教えてください。
0335nobodyさん
2013/11/02(土) 18:00:44.69ID:???bakeってのはCakePHPが参考した
Railsで使われていた仕組みで、
たんに、こんなに早く作れるんだよと
なんども練習して撮影したデモを
一秒でも短くするために生まれた道具にすぎない。
そう。3分クッキングのように、
あらかじめ用意しておきましたって
コードを生成するもの。
0336nobodyさん
2013/11/02(土) 18:25:11.54ID:???不便だわ
0337nobodyさん
2013/11/02(土) 20:32:04.62ID:???それをごそっとプラグインに隔離して
適宜削ったり追加したり開発するのはとても便利で早い。
0338nobodyさん
2013/11/02(土) 20:42:12.21ID:oRF20owzとおもってたら グラディウスまで作ってる強者がいた。
ここまで出来るのか。。。
0339nobodyさん
2013/11/02(土) 20:43:40.35ID:oRF20owzhtml5 でここまでできるのか。
0340nobodyさん
2013/11/02(土) 22:07:26.87ID:???誰が作ってもほぼ同じものができるのは良いよ。
テンプレートをカスタマイズしてるから
元の姿とは全くと言っていいほど違ってはいるけど。
0341nobodyさん
2013/11/02(土) 22:18:01.50ID:???0343nobodyさん
2013/11/03(日) 00:08:16.61ID:???0345nobodyさん
2013/11/03(日) 20:14:17.87ID:???モデルも開発中盤になってくると、bakeしただけで手の入ってないモデルがいくつか出てくるから、
コピーして必要なとこだけ変えたほうが早かったりするんだよな。
0346nobodyさん
2013/11/03(日) 23:30:20.68ID:???完全に全自動化出来るわけじゃなく、
色々質問されるしな。
前回なんて答えたかなんて覚えていないし、
bakeをする回数は少ないのですぐに使い方を忘れる。
0347nobodyさん
2013/11/04(月) 01:31:23.58ID:???うちはとにかく bake all だわ。
アソシエーションの制約なんか厳しくて、
かなり CakePHP のルールを守らないと通らないので、
それがかえって誰が作っても同じ出来になるという安心感がある。
それに、コマンドで個別に設定するぐらいならファイル直接触ったほうが楽。
0348nobodyさん
2013/11/05(火) 22:46:56.28ID:HKwreGpoあとは使っているサーバのスペックが足りなくて
別サーバに引っ越しをする時とか結構手間に感じるのですが皆さんは如何ですか?
0349nobodyさん
2013/11/06(水) 00:41:09.71ID:???0350nobodyさん
2013/11/06(水) 01:43:53.69ID:???あと、FTPでアップした時のtmpのパーミッション設定は地味に面倒w
0351nobodyさん
2013/11/06(水) 07:11:23.30ID:jY+jk4/6確かにtmp面倒くさいよな
0353nobodyさん
2013/11/06(水) 19:21:57.33ID:CGtOvjTe例えばcakePHP2 で作っていたシステムを
新サーバ+cakePHP3 に移行する時とか大変じゃない?
cakePHP3をサーバに設定した後に、
cakePHP2のソースを手動でしかるべき箇所に移動させて
しっかり新バージョンでも動くかどうか検証とかしなくちゃならないでしょ?
一発で移動とか出来ると楽なんだけどね。
0354nobodyさん
2013/11/06(水) 19:28:12.00ID:???既存プロジェクトで使ってるフレームワークのメジャーバージョンを上げたら、
そりゃぁ大変だろうよ。
CakePHPに限らずな。
0355nobodyさん
2013/11/06(水) 21:06:22.08ID:???0356nobodyさん
2013/11/06(水) 22:24:56.97ID:???ログインしていない場合には閲覧させない様な
クローズドコンテンツを作成しよとしています。
そこで、ログインしていない場合には閲覧させない為に
コントローラのファンクションの中で以下のコードを書いているのですが、
コントローラのファンクションの中では毎度以下の if(ログイン判定) の
コードを記述する必要があるのでしょうか?
HogeController.php
public function top()
{
if(!$this->Auth->login())
{
//ログインしていないので特定ページ(TOP)へ飛ばす。
return $this->redirect($this->Auth->redirect());
}
}
0358nobodyさん
2013/11/06(水) 22:32:14.86ID:???'loginAction' => Array('controller' => 'tops', 'action' => 'index'),
色々と試したみたのですが、これでOKですか?
0359nobodyさん
2013/11/06(水) 22:39:31.12ID:???http://book.cakephp.org/2.0/ja/tutorials-and-examples/blog-auth-example/auth.html
0360nobodyさん
2013/11/07(木) 00:07:19.08ID:???コピーするプログラムを作っています。
$('#id_hoge' ).click( function()
{
var str_text = "あいうえお";
var copyArea = $("<textarea/>");
copyArea.text(str_text);
$("body").append(copyArea);
copyArea.select();
document.execCommand("copy");
copyArea.remove();
});
"あいうえお" がクリップボードにコピーされると思ってたのですが
なぜかされません。cromeでは使えないのでしょうか?
0361nobodyさん
2013/11/07(木) 03:12:22.57ID:???これじゃなかなか広まらないな
0362nobodyさん
2013/11/07(木) 14:17:00.21ID:???自分で調べて情報公開したりするような開発者は、
もうCakePHPなんて飽きてるだろうし。
今は、普通に使えるようになってる人が、普通に仕事をこなすのに使ってる感じじゃね。
書籍も一時期は沢山出てたけどいまはそうでもないしな。
0363nobodyさん
2013/11/07(木) 14:34:27.14ID:???今はいいフレームワークがいっぱいあるし
あえてcakephpを選ぶ理由がないからね
0364nobodyさん
2013/11/07(木) 14:44:14.56ID:cHcjC9vh0365nobodyさん
2013/11/07(木) 14:52:19.69ID:???codeigniter, fuelphp, laravel, yiiのどれかで
0366nobodyさん
2013/11/07(木) 14:52:21.96ID:???今もオフショア先では大人気
0367nobodyさん
2013/11/07(木) 14:55:55.60ID:???fuelphpはpsr-0に対応しなかったこととかいろいろあって人気つかないな
codeigniter、laravel、yiiは世界では人気だけど日本だと微妙
0368nobodyさん
2013/11/07(木) 15:04:27.70ID:???cakeぼろぼろだ
昔のライバルsymfonyには辛うじて勝利
0369nobodyさん
2013/11/07(木) 16:27:36.49ID:urHtWp+pレスポンスとかさぁ。
0370nobodyさん
2013/11/07(木) 18:19:09.69ID:???その4つの中ならlaravelがいいな
0371nobodyさん
2013/11/07(木) 18:25:45.15ID:???PHPとは相性が悪い
リクエストの度にパスの数だけClosureオブジェクトを作ってると考えたらぞっとする
0372nobodyさん
2013/11/07(木) 20:37:01.47ID:???0373nobodyさん
2013/11/07(木) 20:55:50.09ID:TVGLaC0NYiiを使える、進めるヤツはせめてToeic 800点位とってから使おうな。
英語も出来ないのに間隔で変な名前をあちこちに量産されたら迷惑
0375nobodyさん
2013/11/07(木) 23:33:39.73ID:???0376nobodyさん
2013/11/07(木) 23:35:41.14ID:???0377nobodyさん
2013/11/08(金) 02:55:52.80ID:???0378nobodyさん
2013/11/08(金) 19:07:09.93ID:???cake bake all モデル名 とやったんだけど、
Error: Table ないテーブル名 for model ないモデル名 was not found in datasource default.
とエラー。生成されたモデルを見てみると、勝手に存在しないモデルの$belongsToが書かれてた。
これは何?なんでそうなるのでしょう。
0380nobodyさん
2013/11/08(金) 22:22:57.25ID:???DATABASE_CONFIG::$default['prefix'] の値も忘れずに
0381nobodyさん
2013/11/09(土) 01:13:36.00ID:???どうすりゃいいんですか?
0382nobodyさん
2013/11/09(土) 02:28:19.11ID:???0384nobodyさん
2013/11/09(土) 22:59:18.49ID:???0385nobodyさん
2013/11/10(日) 08:55:33.38ID:0LvUSNX1CakePHP2.3でフォームで確認画面を制作しているのですがバリデーションが効きません
自分で調べていったんモデルにはセットするとの事で
$this->Model->set($this->request->data);
if($this->Model->validates()){成功の時の処理}
上記の様にしているのですがエラー等も全く出ずただバリデーションが効いていない形です
よろしければどなたか教えて頂けませんか
0386nobodyさん
2013/11/10(日) 11:47:08.36ID:???0387nobodyさん
2013/11/10(日) 19:22:06.34ID:???Railsスレで質問すれば俺が答えてあげよう
その代わり最大限の敬意を示し、パソコンの前で土下座したまえ
そお誠意が俺まで伝わってきたら答えてあげる
多くの有力企業が採用するRoRにようこそ
0388nobodyさん
2013/11/10(日) 20:12:12.51ID:???http://blog.sumyapp.com/2013/07/no-recommend-rails/
0390nobodyさん
2013/11/10(日) 21:34:39.51ID:???できれば一から作りたいと思ってしまう。
0392nobodyさん
2013/11/10(日) 23:43:46.77ID:???0393nobodyさん
2013/11/11(月) 01:04:57.32ID:???0394nobodyさん
2013/11/11(月) 02:24:03.68ID:???0395nobodyさん
2013/11/11(月) 06:16:43.22ID:???0396nobodyさん
2013/11/11(月) 11:04:10.26ID:???0398nobodyさん
2013/11/12(火) 00:26:13.49ID:O3AZzxQUその為に次のコードを記述し
echo $this->Form->input( 'totaling' , array(
'type' => 'checkbox',
'label' => false,
)); ・・・�@
実行すると
<div class="input checkbox">
<input type="hidden" name="data[User][totaling]" id="UserTotaling_" value="0">
<input type="checkbox" name="data[User][totaling]" value="1" id="UserTotaling">
</div>
こんなコードが生成されてしまいます。
本当は次の様なタグが生成される事を想定しています。
�@のコードの何処に問題があるのでしょうか?
<input type="checkbox" name="data[User][totaling]" checked="checked" id="UserTotaling">
0399nobodyさん
2013/11/12(火) 00:56:26.23ID:???調べてみたけど、Railsもそうなんだろ?
HTMLはウェブデザイナーのもの
だからプログラミング要素を極限まで減らすべき。
そういった考えで作られた
フレームワーク(テンプレートエンジン)って
無いものかねぇ。
でも低機能なフレームワークを求めてるんじゃないんだ。
こういうinputみたいなものはそのままHTMLでかけて
面倒な部分を改善できるそんなフレームワーク
0400nobodyさん
2013/11/12(火) 01:00:45.10ID:???>>398
その質問の答はCakePHP使ってないんで知らないけど、
なんでそんなコードが出力されるか知ってる?
それはチェックボックスは、
チェックしたらdata[User][totaling]=1が送られてくるけど、
チェックしなかった時data[User][totaling]=0ではなく、
なにも送られてこないんだよ。最終行のコードではね。
それの対策が 、「こんなコード」なわけ。
ここまで言えば、どうすればいいかわかるんじゃない?
そう、チェックしない場合に値を送る機能を
OFFにする設定があるはずだ。
0402nobodyさん
2013/11/12(火) 02:22:03.84ID:???でも、使わないとハマったり困ることあるから、しぶしぶ使ってる。
0404nobodyさん
2013/11/12(火) 09:05:04.81ID:???まあデフォルトのでもOKっちゃOKなんだけど
0405nobodyさん
2013/11/12(火) 10:32:08.86ID:ZxfwGxWGサンクス。
checkboxをcakePHPのヘルパー使って書くとなぜ hidden が生成されるかの理由が分かりました。
0408nobodyさん
2013/11/12(火) 13:01:19.39ID:???クラス名とか触れないところ多いし。
妥協すればとても便利なツールではあるんだが。
0409nobodyさん
2013/11/12(火) 13:42:41.13ID:???ヘルパー使ったこと無いわ
0410nobodyさん
2013/11/12(火) 16:29:44.75ID:???まさかMayaaのことじゃないだろうな?
>>404
探せばBootstrapベースのがあるんじゃね。
0411nobodyさん
2013/11/12(火) 17:01:24.88ID:???同意。CSSですら、Sass使ってプログラム的な管理するからな。
デザイナーはデザインだけやって、
コーディングはコーダーではなく、プログラマがやる時代になるよ
0412nobodyさん
2013/11/12(火) 17:02:26.87ID:GncxjoFv0414nobodyさん
2013/11/12(火) 17:33:48.33ID:???0415nobodyさん
2013/11/12(火) 20:55:59.85ID:jQBt36atどうもWEBデザインがうまくないと自分でも思う。
どうやったら見栄えの良いサイトが作れるのかな?
先ずは何から勉強すべきですか?
0418nobodyさん
2013/11/12(火) 21:22:11.96ID:jQBt36atうーん。いまいちそのサイトのテンプレートもカッコよくないですね。
何かWEBデザイナの作成する様なスタイリッシュなデザインのサイトを自分で作れる様になりたいんですよね。
よく無料テンプレートサイトとかあるでしょ?
あーいうサイト(デザイン)テンプレートを自分で作れる様になりたいのです。
0420nobodyさん
2013/11/12(火) 21:48:23.37ID:???スルー推奨
0421nobodyさん
2013/11/12(火) 22:04:10.58ID:???ttp://hijiriworld.com/web/cakephp-bake/
0422nobodyさん
2013/11/12(火) 22:16:50.91ID:???無駄にJS使うのやめて欲しいなあ、ただのブログのくせに
0423nobodyさん
2013/11/12(火) 22:23:23.76ID:jQBt36at>>421
ステマ臭いけど確かに見易い解説サイトですね。
自慢したいのかしら。
0424nobodyさん
2013/11/12(火) 22:35:23.88ID:???誰でも知ってることを丁寧に解説しても無価値だな
0425nobodyさん
2013/11/12(火) 22:36:21.38ID:???それがある程度できれば、崩してかっこいいデザインが出来るようになる。
0426nobodyさん
2013/11/12(火) 23:22:35.94ID:jQBt36atサーバ再度のバリデーションを作らずに
javascriptだけだと不味いですか?
0427nobodyさん
2013/11/12(火) 23:57:17.43ID:SAG0peet0428nobodyさん
2013/11/13(水) 00:11:16.12ID:???時間が無いので認証必須のページではJavaScriptだけ
実装していますが、セキュリティー的に問題は無いか若干心配しています。
そもそも認証されていないとサーバにどんな値がポストされようが
そもそもリクエストは遮断される筈なので安心
と考えているのですが・・・
0429nobodyさん
2013/11/13(水) 00:21:37.21ID:???0430nobodyさん
2013/11/13(水) 01:39:40.82ID:???え? 役割分担が変わったって
まさか君んところはプログラマが大変な方向に変わったの?
大変だねぇ。間違った方向に進んでしまったね。
>>411
> 同意。CSSですら、Sass使ってプログラム的な管理するからな。
Sass使ったからって、プログラム的な管理をしたらダメだよ。
Sassは、文法的にはSCSSを使う。これでCSSと互換。
計算やifやforなどのプログラム的要素は原則として使わない。
今まで使わないでできたんだから、大半は使わないで出来るはず。
SCSSで使っていいのはネストとextendとplaceholder等
計算できるようになった。ifやループが出来るようになった。わーい。
なんて考えなしに使うから、プログラマしか扱えないようになるんだよ。
自分の仕事を大変にするようなことはするなよ。
他人でも出来るようにしておけば、自分が楽になるぞ。
0431nobodyさん
2013/11/13(水) 03:01:46.38ID:???嫌だね〜
0432nobodyさん
2013/11/13(水) 08:46:45.51ID:???JavaScriptの問題だろ
受託とかのほとんどは役割分担かわってない
0433nobodyさん
2013/11/13(水) 09:09:21.54ID:???下手なプログラマが作ると、JavaScriptで
cssいじったりするよね。
そういう話だったら、プログラマが馬鹿なだけってことだけど。
普通はJavaScriptでいじるのはCSSクラス名だけで
原則としてCSSはいじらない。
0434nobodyさん
2013/11/13(水) 09:27:26.37ID:???Googleのコーディング規約とか、そう書いてるよ。
どこの原則なのか気になるなー
0435nobodyさん
2013/11/13(水) 09:35:30.68ID:???0436nobodyさん
2013/11/13(水) 09:39:16.24ID:???デザイナにCSSもHTMLも任せた方が安上がり。
0437nobodyさん
2013/11/13(水) 10:23:29.63ID:???一括で任せたほうが安上がり。
CMS程度ならそれほどデザイン力も求められないしな。
0438nobodyさん
2013/11/13(水) 12:38:34.67ID:???CSSのプロパティの有無や値をJavaScriptで直接いじるのはよろしくないって意味だろ?
見た目とロジックを両方JavaScriptに任せるのはあまり良い設計じゃない
アニメーションなんかはある程度仕方ないけど
0440nobodyさん
2013/11/13(水) 13:27:54.87ID:1DbvJ5ZTなかなかいない。どちらかよりだろ。
0441nobodyさん
2013/11/13(水) 13:33:26.00ID:???いると思うけどな。マッチングサイトとかその手の募集ばかりじゃん。
あんなもん、複数人数でやってたらどうやっても赤だよ
0442nobodyさん
2013/11/13(水) 13:39:20.44ID:???基本プログラムよりだよ。デザインはテンプレ系で済ませて
これ以上のデザインは後からやってくださいってのが多い
デザイナに今求められてるのって、主なテンプレ系で作られたサイトに
CSS被せてデザインする能力
0443nobodyさん
2013/11/13(水) 14:30:30.66ID:???こないだやった仕事が、まさにそれをやっててイラっとした。
cssファイルを見ても何処にも書いてないスタイルがあっておかしいなと思ったら
$('#hoge').css()で色々設定してあんの。
あとついでに、cssもcssで、
.mB7{
margin-bottom: 7px !important;
}
.mB10{
margin-bottom: 10px !important;
}
みたいなのが、left top right bottom全部に、数px毎の間隔で定義してあって、すごい困った。
0444nobodyさん
2013/11/13(水) 21:38:36.71ID:???> デザイナに今求められてるのって、主なテンプレ系で作られたサイトに
> CSS被せてデザインする能力
CSS+HTMLだな。
CSSだけで完結することってないし。
当たり前だけど、HTMLとCSSはウェブデザイナーの仕事
Sassももちろんウェブデザイナーの仕事だよ。
あれはCSSの拡張でしかないんだから。
(Sassの動作環境を作るのぐらいは手伝うけど)
そしてこれも当たり前だけど、JavaScriptはプログラマの仕事。
ただし、JavaScriptでデザインを変えてはいけない。
変えるのはクラス名ぐらい。
テンプレートはHTMLがメインなのでウェブデザイナの仕事
テンプレート変数なんかはプログラマが特殊なタグを
置かせてもらってる的な感覚でやるべき。
ウェブデザイナーもバカじゃないので、教えたルールは理解してくれる。
ウェブデザイナーーが手に負えなくなるぐらいコードが含まれるのであれば
それはプログラマのテンプレートの使い方が悪い。
うーん、上で言ったのと同じことを言ってるだけだなw
0445nobodyさん
2013/11/13(水) 21:51:20.71ID:???0446nobodyさん
2013/11/13(水) 21:52:31.94ID:???>$('#hoge').css()
こうやるとコメントアウトが楽なんです。
って言われて俺もイラっと来た記憶ある
0447nobodyさん
2013/11/13(水) 22:17:37.75ID:???0448nobodyさん
2013/11/14(木) 01:37:31.90ID:???0449nobodyさん
2013/11/14(木) 01:57:11.42ID:???ここだとboostcakeか
0450nobodyさん
2013/11/14(木) 02:00:23.48ID:???Bootstrap3ベースのスケルトンで良いのがあったら使おうかなって思ってるけど、
積極的には探してない。
0451nobodyさん
2013/11/14(木) 02:04:40.49ID:???0452nobodyさん
2013/11/14(木) 02:53:48.18ID:???使う気がしねぇ。
CSSの文化に逆行してる。
0453nobodyさん
2013/11/14(木) 04:30:33.71ID:???前のページのURLを取得したいんですけど
…
0454nobodyさん
2013/11/14(木) 05:08:41.87ID:???0456nobodyさん
2013/11/14(木) 11:45:51.79ID:???そういうのをこだわる人は
Bootstrapで使ってるLessを読み込んで
セマンティックに使うことができますよ
SASSとかでもできるな、変換されたのあるしね
0457nobodyさん
2013/11/14(木) 12:14:49.49ID:???0458nobodyさん
2013/11/14(木) 14:08:00.47ID:???bootstrap方式だと
<div class="red line box">
みたいな感じだけど、セマンティックなら
<div class="main-box">
みたいにするよな。
0459nobodyさん
2013/11/14(木) 15:30:11.14ID:???使い方の問題。
ああいう系のCSSそのまま使ったら
どういう作り方、使い方してもセマンティックにならない
0460nobodyさん
2013/11/14(木) 15:32:38.35ID:???どう思う?
0461nobodyさん
2013/11/14(木) 15:50:12.29ID:???<main class="ui three column grid">
こういうのがもう嫌気さすわ。CSSの意味があるのかと
0462nobodyさん
2013/11/14(木) 15:56:57.10ID:???echo '.main-box { .box; .line; .red; }' > less/my-components.less
echo '@import "my-components.less";' >> less/bootstrap.less
grunt
BootstrapもLESSも使ってないからよく分からんがこれでいいだろ
要らんクラスが出来てもいいならだが
0464nobodyさん
2013/11/14(木) 17:05:51.55ID:???セマンティックって騒いでる奴が同じ奴に思える
0465nobodyさん
2013/11/14(木) 17:18:19.93ID:UudgqYGtpublic function edit($id = null) {
$this->User->id = $id;
if (!$this->Auth->user('id') == '$id') {
throw new NotFoundException(__('ユーザー違います'));
}
}
URLを他のログインしていないユーザーに変えるとそのまま表示されてしまいます。
どうすればログインユーザー自身の情報のみを表示できるのでしょうか?
0466nobodyさん
2013/11/14(木) 17:37:41.41ID:???cookbookでAuthの説明読めよ
$this->Auth->deny('edit');
を書いて、認証が必要なページを指定すればいいだろ
0469nobodyさん
2013/11/15(金) 00:30:04.73ID:???いや、俺はそのスレなんか知らんよ。
俺はそのスレを見たことないが、
お前がそのスレにいたことは、お前の発言から確かだろう?
そしてその出来事を今も忘れなれない。
思い出してしまう。君、病気だよ。
0470nobodyさん
2013/11/15(金) 00:33:55.48ID:???0471nobodyさん
2013/11/15(金) 00:44:32.60ID:???SASSとBootstrapという
場違いの喧嘩を売ってた奴がいたって感じだったな
0472nobodyさん
2013/11/15(金) 01:33:42.42ID:???Bootstrapは使ってみると、騒がれてるほど洗練されてないなとは思った。
でも楽なんだよねぇ。
とりあえずclass="well"って書けば、無難な枠ができるし。
wellの中にちょっとした欄外のボックスが欲しくなって、
あと2個くらい枠の種類があればなとか思い始めてしまう。
0473nobodyさん
2013/11/15(金) 04:03:21.24ID:???メンテナンス性が下がるっってところだよな。
いざデザインを変えようと思うと、
CSS的には、CSSファイルを弄るだけのはずのことなのに、
Bootstrapを使うと全HTMLファイルにわたって
参照箇所を探して個別に修正しないといけない。
これもう普通のCSSの使い方じゃないよ。
0474nobodyさん
2013/11/15(金) 11:12:17.32ID:???0475nobodyさん
2013/11/15(金) 14:16:20.80ID:???俺もそう思う。やたらOOCSSなんて言われてるから
CSSもオブジェクト指向型に変えないといけないのかと悩んでいるが、
HTMLやCSS両方変更しなきゃいけないってのに違和感あるわ
0476nobodyさん
2013/11/15(金) 14:27:36.43ID:???Bootstrapをただ使うだけだとOOCSSとは言わんと思うよ。
OOCSSはSASSとかLESSとかあそこらへんで組まないと。
そうするとHTML変更する必要はなくなる。
0477nobodyさん
2013/11/15(金) 14:27:39.11ID:???extendが入るとOOCSSではなくてOOSSになることに気づかない
0478nobodyさん
2013/11/15(金) 14:36:44.68ID:???SASSとかLESSって結局は新たなCSSが作成されるわけだろ?
PHPで言えば、includeした後のファイル(HTML)になるというか。
だから、HTML側は
class="well"じゃなくて、class="weel-box"みたいに固有名になると思うんだが。
つまり、Bootstrapみたいな書き方にならないと思うんだが、間違ってる?
0479nobodyさん
2013/11/15(金) 14:42:57.08ID:???あってるよ。
Bootstrapは今はやってるようなただ使うってこともできるけど、
LESSのライブラリとして利用することもできる。
0480nobodyさん
2013/11/15(金) 15:25:51.04ID:???0481nobodyさん
2013/11/15(金) 19:56:55.32ID:???0482nobodyさん
2013/11/15(金) 22:19:35.59ID:???Sassを使わないでOOCSSをやろうとするとはメンテナンス性が
悪いものになってしまう。
そもそもSassはオブジェクト指向を取り入れて作ったCSS言語で
OOCSSで言ってることは、Sass利用者は普通にやっている。
で、Bootstrapの一般的なサンプルはSassを使わない
OOCSSになってるからメンテナンス性が悪い。
何がダメかというとclassに割り当てたいスタイルを羅列するやり方。
正しいCSSをメンテナンス性を保ちながら書くにはSassが必須。
まとめると、SassがCSSを超えた言語。これが基本。
OOCSSは考え方であって実態はない。
BootstrapはただのCSSデザイン集。
0485nobodyさん
2013/11/15(金) 22:30:06.73ID:???extendsの問題って?Sassには@extendがあるが、
そのほかのextendsの話とごっちゃにしてるでしょ?
それか古いSassでPlaceholderがなかった頃の話をしてるとかだろうね。
>>484
でたSassアンチ
たいていこいつらは、
理由を何も言わないんだ。
0486nobodyさん
2013/11/15(金) 22:33:30.11ID:???電話のお姉さんどこいった?w
0487nobodyさん
2013/11/15(金) 22:36:21.54ID:???魚の取り方を教えれば、その人は一生を通して食える。」
という言葉がある。
Bootstrapは誰かが作ったCSS。
Sassは自分でCSSを作るよりよい方法。
0488nobodyさん
2013/11/15(金) 22:58:23.33ID:???Sassアンチなわけじゃないぞ
SassだけがOOCSSの答えじゃないって意味だ
普段もJS縛りがなければ使ってるし
extendが使えるって主張する人多いけど
書いてるコード量一緒、メンテナンス性一緒
吐かれるCSSが違うだけ
デザイナと仕事するときはLessの方がまだ理解してくれる
0489nobodyさん
2013/11/15(金) 23:03:55.67ID:???0490nobodyさん
2013/11/16(土) 00:37:07.43ID:???lessもextend実装されそうな流れみたいだけど?
http://webtech-walker.com/archive/2012/10/less_extend_experimental.html
extendを使ったほうが自然な場合に
使えばいいだけじゃん。
無理して他のを使う必要はない。
extendが問題になってるって話じゃなかったの?
「extendじゃなくても同じことが出来る」という話は
exntedが問題になってる理由にはならないよ。
0492nobodyさん
2013/11/16(土) 03:00:40.54ID:???そういうのは勝手にやるから
仕切っても無駄だよ。
0494nobodyさん
2013/11/16(土) 22:07:19.93ID:Rk/pBkL7これだと知識のある人しかできないので、
cakePHPの認証機構で構築されたシステムにログインし
【***処理実行】といったリンクがクリックされるとコマンドラインから実行するのと
同じ事をバックグラウンドでやりたいと考えています。
何か良い方法はありませんか?
0495nobodyさん
2013/11/16(土) 22:23:02.69ID:???検索ボタンを押して検索が走る仕組みにしています。
<form name="name_search" action="/hoge/search" method="post">
<table>
<!-- 入力項目〜略〜 -->
</table>
</form>
<input type="button" value="検索する" name="" style="">
どうもPOSTが走ってる気がしないのですが、
コードに間違いは無いでしょうか?
0496nobodyさん
2013/11/16(土) 23:20:57.91ID:???いい方法かどうかは知らんが、手っ取り早く、exec()とかsystem()すればいいんじゃないの?
ただ、お勧めはしないけど。
シェルでどんなことをしようとしてるのか知らないけど、開発中に使うbakeとかそういうのなら、
知識を付けろって話し。
ってか、そもそも、管理画面からクリックで実行する機能なら、シェルじゃなくて普通に実装したらええやん。
管理画面から実行できる機能が、cronからも実行したいみたいな話なら、まぁありえるし分かるんだけど。
その場合、コントローラーからもシェルからも使える場所にロジックを書けばいい。
そんなに複雑じゃないならモデルにかけるだろうし、無理そうなら普通のクラスで作ってlibにおいて
App::import()すればいいんじゃね。
0498nobodyさん
2013/11/16(土) 23:29:51.46ID:???0499nobodyさん
2013/11/16(土) 23:42:15.65ID:???現在teraterm でシェルを実行していたのなら
バッチファイルをダブルクリックさせて、
内部でSSHを呼び出してリモートのコマンドを
実行すればいいだけじゃん?
0502494
2013/11/17(日) 10:01:58.45ID:???なぜシェルで作っているかというと cronで回しているからです。
しかし、基本的にはcronでシェルをキックしていますが
特定の条件の時にはユーザが手動でシェルを実行する必要があるのです。
かといって一般ユーザにシェルを実行させるとかも
危険なので、シェルを管理画面上からも実行させたいと思っています。
※結構複雑な処理です。
>>499
そーいう手もありますね。。。
ですが管理画面上から一度に出来ないものかと。。。
0503nobodyさん
2013/11/17(日) 15:42:23.43ID:???ん?だから
> その場合、コントローラーからもシェルからも使える場所にロジックを書けばいい。
> そんなに複雑じゃないならモデルにかけるだろうし、無理そうなら普通のクラスで作ってlibにおいて
> App::import()すればいいんじゃね。
0504nobodyさん
2013/11/18(月) 12:55:59.49ID:???サンクス
> その場合、コントローラーからもシェルからも使える場所にロジックを書けばいい。
試してみます。
0505nobodyさん
2013/11/18(月) 15:30:58.69ID:???検索条件が複数項目あり、複数の組み合わせで指定可能な場合において
ユーザが指定をした検索条件で、conditionに動的に検索条件をバインドする良い方法はありますか?
現在は、毎度ifで分岐してcondtionコードを書いており効率の悪さを痛感しています。
�@ユーザIDだけ指定した場合
'user_id' => '333'
�AユーザID、年齢を指定した場合
'user_id' => '333',
'age' => '44'
�BユーザID、性別を指定した場合
'user_id' => '333',
'sex' => '0'
0508nobodyさん
2013/11/18(月) 18:53:39.61ID:???cakePHPだけではそういった機能は無いのですね。
Searchプラグインとかちゃんと動作するかちょっと心配だったりします。
0509508
2013/11/18(月) 18:56:37.22ID:???させてやる事にします。
0512nobodyさん
2013/11/18(月) 19:14:07.40ID:???0514nobodyさん
2013/11/18(月) 19:16:28.18ID:???0515nobodyさん
2013/11/18(月) 19:20:29.41ID:???0516nobodyさん
2013/11/18(月) 19:23:26.86ID:???サーバ変えたらまた search プラグインの設定せねばならん
面倒だーって事でしょ。
それくらい小学生でも分かると思うけど。
0518nobodyさん
2013/11/18(月) 22:03:29.92ID:???0519nobodyさん
2013/11/18(月) 22:41:02.59ID:HBQEtXMZいや、やっぱりいいや。
0520nobodyさん
2013/11/19(火) 00:24:04.47ID:???0523nobodyさん
2013/11/19(火) 05:39:12.52ID:???プラグインに頼りたくない気持ちはわかる
0524nobodyさん
2013/11/19(火) 10:30:58.16ID:???サーチはもう定番だと思うけど、同じCakeDCでもユーザープラグインはクソだし。
0525nobodyさん
2013/11/19(火) 14:07:12.30ID:???今までIFでやっているならIFで独自コンポーネントでも作ればいいじゃん
0526nobodyさん
2013/11/20(水) 09:40:20.78ID:???PHPが配列処理に強いから特性を活かすとかそういう話か?
なにも考えないで使うとコントローラーやヘルパーの肥満化を促進しそう
0527nobodyさん
2013/11/20(水) 11:35:26.62ID:???そうです
>なにも考えないで使うとコントローラーやヘルパーの肥満化を促進しそう
Hash クラスを使いましょう
Hash のコード見ると、こんなことするぐらいなら
オブジェクトで返しておけよ! と思うがなw
0528nobodyさん
2013/11/20(水) 12:06:21.22ID:???0529nobodyさん
2013/11/20(水) 12:14:01.60ID:???0530nobodyさん
2013/11/20(水) 19:29:25.32ID:sxeXAx98そもそも、cakePHPの場合には、複数の主キーが設定されている場合には
saveメソッドを使ってupdateは出来ないのでしょうか?
id だけじゃなくて
id と sequence_number の2つが hoge テーブルの主キーの場合とか
って普通にSQL分を投げるしかないですか?
0532nobodyさん
2013/11/20(水) 21:19:13.23ID:???○複合主キー
0533nobodyさん
2013/11/22(金) 13:52:04.15ID:???0534nobodyさん
2013/11/22(金) 14:47:24.43ID:V2BhDK+1そうなのね。諦めました。
地道にupdate分を投げます。
0535nobodyさん
2013/11/22(金) 15:48:01.98ID:???複合主キーはサポートしないか、してても無理やり感のあるものだよね。
0536nobodyさん
2013/11/22(金) 15:57:57.23ID:W1kV2v2N0539nobodyさん
2013/11/22(金) 18:26:27.31ID:4CXM4jc6すべてのページを指定するのは賢くないと思いまして…
0540nobodyさん
2013/11/22(金) 18:40:09.88ID:UUBP/xq0じゃ、諦めるわ。
0541nobodyさん
2013/11/22(金) 20:34:04.53ID:???0542nobodyさん
2013/11/22(金) 21:35:11.99ID:???0544nobodyさん
2013/11/22(金) 23:24:16.29ID:???そしてソースコード一式のバッグアップ処理にTeraTermマクロでログインし
手動で以下の様なコードを実行しています。
tar czvf file_1_2.tar.gz file_1 file_2
しかし、毎度手動でこのコマンドを実行するのは不便なので(かといってcronは使いたくない)
TeraTermマクロから自動でログインと同時に、特定のコマンドを発行する方法とかってありませんか?
0545nobodyさん
2013/11/22(金) 23:27:18.44ID:???0546nobodyさん
2013/11/23(土) 01:58:50.84ID:???マクロなんか使う必要ない。
SSHの引数にコマンド書けばいいだけ。
ログインのパスワードはカギを使えばいいだけ。
0548nobodyさん
2013/11/23(土) 12:27:27.10ID:???0549nobodyさん
2013/11/26(火) 03:02:20.11ID:???作ったサイトを改造するのが苦手なんだよね。
やっぱりみんなもそんな感じ?
人の作ったコードを触るのが先って人もいるのかな。
0550nobodyさん
2013/11/26(火) 03:29:46.00ID:???0551nobodyさん
2013/11/26(火) 05:56:36.78ID:2m7znfvZたぶん全員がそうだろ
0552nobodyさん
2013/11/26(火) 08:59:27.15ID:???数カ月前の自分が書いたコードでもたまに分からないし
テストが書いてあったらそれはとっても嬉しいなって
0553nobodyさん
2013/11/26(火) 09:09:47.39ID:???MVCという大枠とそのFWの規約とドキュメントがあるだけマシ
0555nobodyさん
2013/11/26(火) 11:33:42.73ID:???ただし、そこからカスタマイズ依頼とかされたら困るが。
0556nobodyさん
2013/11/26(火) 12:09:28.97ID:???0557nobodyさん
2013/11/26(火) 17:50:46.60ID:???Cakephpvar2.3.10
でSmartyの3.1.15導入してみた。
tplファイルがない場合に選択されるctpファイルでの表示がおかしい。
HtmlHelper関連だと思うのだけどどなたか解決方法教えてください
0558nobodyさん
2013/11/26(火) 18:08:22.89ID:???wordpressのプラグインとか作ってても
ドキュメントに無いソースの奥に眠る関数とか探して調べるのにすごい疲れたわ
0559nobodyさん
2013/11/26(火) 20:04:02.44ID:???0561nobodyさん
2013/11/26(火) 20:29:19.30ID:???あんな意味不明なぐちゃぐちゃなコードどうやってメンテしてんだろう
0563nobodyさん
2013/11/26(火) 22:03:23.94ID:???0564nobodyさん
2013/11/26(火) 22:05:01.70ID:???0565nobodyさん
2013/11/26(火) 22:30:57.24ID:nldP7I2h無料でここまで何でも出来るCMSとかこのスレの馬鹿グラマには出来ないでしょうね。
0566nobodyさん
2013/11/26(火) 22:48:15.61ID:???せめてCakePHPで作られたCMSの話を……
0568nobodyさん
2013/11/27(水) 00:18:20.01ID:???CakePHPベースのCMSは、なんかなぁ、
どうせCakeなら自分で好きなようにしたくなっちゃう感じする。
0569nobodyさん
2013/11/27(水) 00:25:51.15ID:Rk4EDw/d0571nobodyさん
2013/11/27(水) 01:57:50.96ID:???どんなにドツボにはまってても、
あぁ、この泥沼に世界中の見知ら人が
何万と埋もれてるんだろうなという
温もりがWordPressにはある。
0572nobodyさん
2013/11/27(水) 03:22:25.52ID:mdMZh+ObMoval Type
0573nobodyさん
2013/11/27(水) 06:23:21.20ID:???スペリング違うけど、クソなのは同意。2.xに初めて触ったときは感動したけど、4.xで卒業したよ。最近のは知らない
0574nobodyさん
2013/11/27(水) 22:12:09.37ID:???cakeもプラグインをもっとメジャーにしようよ
wordpress派も流れて来るから
0575nobodyさん
2013/11/28(木) 01:28:07.13ID:???wordpressはphpなんて知らない人用のもの
0576nobodyさん
2013/11/28(木) 06:31:59.63ID:???0577nobodyさん
2013/11/28(木) 10:50:04.35ID:???商業的な成功には理念的な完成度は不要である例として
WordPressを引き合いに出してる。
0578nobodyさん
2013/11/28(木) 11:11:40.35ID:???無料配布でしょ?
0579nobodyさん
2013/11/28(木) 11:35:10.00ID:???>>578
かなり儲かってるよ
0580nobodyさん
2013/11/28(木) 11:36:57.69ID:???0581nobodyさん
2013/11/29(金) 02:16:14.63ID:???Fat Modelになりすぎてもだめ。
むずかしいよ、最初からそんな見通せないから、ついモデルに書いて太らせてしまって、
行数増えすぎてからうあーってなるよ。
ComponentとBehaviorも、気軽に作ってると数ばっか増えて、煩雑になってくる。
特にComponentが、コントローラーにもモデルにもアクセスできちゃうから、
つい責任持たせすぎになっちゃうよ。
0583nobodyさん
2013/12/01(日) 15:08:36.60ID:???久々に素のPHP書いたら、メチャクチャに面倒臭く感じた
でもそれだけにCakeとか使うのもなあ…。
0586nobodyさん
2013/12/01(日) 21:20:50.87ID:???メール用にはSwiftMailer選ぶんだけどバリデーションの部分はたまに悩む
Symfony2みたいなコンポーネントごとの独立性の高いFW知ってるなら
一部のコンポーネントだけ使えばいいらしいが
0587nobodyさん
2013/12/01(日) 21:35:29.81ID:???メール:CakeEmail
バリデーション:Model/Validator
フォーム:Formヘルパー
いや面倒だな`,、('∀`) '`,、
0588nobodyさん
2013/12/01(日) 21:58:22.92ID:???cakephp1のシステムを1年前に作ったんだが2で作り変えるか。。。迷い中。
ヤフーとかグリーとかミクシーみたいなでかい企業はどれくらいの頻度でやってるんだろ?
0589nobodyさん
2013/12/01(日) 22:06:14.84ID:???そういう企業は複数のシステムを持ってるものだから、一気に全部を作り直したりはしない
少しずつ手を付けていく
0590nobodyさん
2013/12/02(月) 00:36:17.56ID:???大体は「全体のデザインの中にフォームがある」ってスタイルになるから、
レイアウトやテンプレートをCakeで作らなければいけない。
そうなると、元々ある静的な部分を更新したら当然Cake側も更新しないと
整合性が取れないわけで、手間やコストが2倍に膨らんでしまう。
結局、Cakeやフレームワークを使うなら、全てそれで管理しないといけなくなる。
0591nobodyさん
2013/12/02(月) 09:12:38.83ID:???ちょこっと導入できるような小さなメールフォームのライブラリが、案外ぐぐっただけじゃ見つからなくて
これ以上探す時間が勿体無いから自分で書こうと思った
CAPTCHAのライブラリはすぐ見つかったので、それはさくっと採用したけど
とにかくさっさと動くようにして終わらせたくて、テストも書かずに作ったので
ブラウザでいちいち動作確認して、面倒臭かった
0592nobodyさん
2013/12/02(月) 09:38:56.13ID:???CakePHPの一部をコンポーネント/ライブラリとして他所で使う例を調べようと思ったが
CakeのControllerのComponentの話とCakeにサードパーティのライブラリを導入する話しか出てこない
0593nobodyさん
2013/12/02(月) 18:03:31.67ID:???/public_html
└contact.php
/cakephp
└/app
└/webroot
こういう構成だったとして、contact.phpにアクセスしたら
ContactControllerのindexを実行したいと思い、
#contact.php
$_GET['url'] = '/contact/';
require '../cakephp/app/webroot/index.php';
#webroot内の.htaccessのindex.php箇所
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
こんな風にしてhttp://example.com/contact.phpにアクセスしたんだけど、
「Contact.phpController could not be found.」ってエラーが出た。
やっぱ、public_htmlをアプリケーション化しないと無理なのかな?
0594nobodyさん
2013/12/03(火) 00:14:57.84ID:???0597nobodyさん
2013/12/03(火) 13:43:20.44ID:???0598nobodyさん
2013/12/03(火) 14:19:05.43ID:???全部小文字なわけがない。
0600nobodyさん
2013/12/03(火) 18:25:14.17ID:???0601nobodyさん
2013/12/04(水) 09:36:02.64ID:???なんか公開されてるのでやろうと思っても、なんか古いCGIを思い出させるのしかないんだよねぇ。
ちょっとバリデーションのところをカスタマイズしたいなと思っても、手を入れにくいし・・・
0602nobodyさん
2013/12/04(水) 09:51:23.15ID:???たとえ情報が間違っていて時代遅れでも検索上位にあるから初心者に利用されやすい
どんどん変なやり方や糞なプログラムが広がる負の連鎖を断ち切れなくなっている
The Right Wayみたいなベストプラクティスをまとめたサイトが現れるってことは英語圏でも事情は同じってことだな
0603nobodyさん
2013/12/04(水) 09:55:24.07ID:???素のPHPかフルスタックフレームワークか完成品かという感じ
0604nobodyさん
2013/12/04(水) 09:57:37.43ID:???htmlspecialchars_decode ってすごい関数名だよなあ
じわじわ笑いがこみ上げてきた、どうしてこうなったんだろ
0605nobodyさん
2013/12/04(水) 10:09:33.35ID:???メールフォーム程度だと悩む
まともにテストしてあるライブラリを探す手間を惜しんで
自分で全部書いてPHPの謎関数名や謎仕様を再び実感する羽目になる
0606nobodyさん
2013/12/04(水) 10:49:10.54ID:???当然、その頃と今ではだいぶ書き方も変わってるわけで、
「昔自分が作ったプログラム」を使いたくないから、1から書きたくなる。
0607nobodyさん
2013/12/04(水) 23:45:10.66ID:???もともとオブジェクト指向ではなくて
名前空間がなかったから。
名前が被らないようにしようと思えば
どうしても名前は長くなる。
0608nobodyさん
2013/12/04(水) 23:46:52.74ID:???メール受信じゃなくて送信だろ?
HTMLメールや添付ファイル付きメールを
送ろうとでも思ってるの?
メールフォーム程度なら
文字をエンコードする程度で終わりだろ?
0610nobodyさん
2013/12/05(木) 00:24:35.97ID:???GETほど手軽じゃないにせよPOSTのパラメータだってCookieだってリクエストヘッダだって好きにいじれるんだから
自分が書いたHTMLのフォームで設定した以外の値が送られてくる可能性は大いにある
それに一口にメールフォームと言っても入力が名前とコメントだけのものから企業のアンケートフォームまで色々ある
電話番号・郵便番号・メールアドレス・整数……よくある項目に対して毎回1から入力チェックを書く気はしないな
CSRF対策や二重送信防止・画像認証も1から書くのは時間の無駄だし
確かにCakeを持ち出すのは大げさかもしれんが馬鹿が素で書くよりマシじゃね
0611nobodyさん
2013/12/05(木) 00:41:23.84ID:???Webサイト全体をCMSやFWで構築するって話だとフォームは標準装備って感じじゃない?
昔みたいにメールフォーム設置3万円〜とかまかり通らないでしょ?
おしえてぷろのひと
0612nobodyさん
2013/12/05(木) 09:41:31.15ID:???ttp://basercms.net/news/archives/218
0613nobodyさん
2013/12/05(木) 10:21:18.03ID:???0614nobodyさん
2013/12/05(木) 10:27:58.21ID:???0616nobodyさん
2013/12/05(木) 10:45:00.73ID:???cakeに慣れてる人はcake使うからなw
0617nobodyさん
2013/12/05(木) 12:08:21.04ID:???Cakeベースってとこも、最新のが使えないという不便さはあるしなー
0618nobodyさん
2013/12/05(木) 12:23:17.69ID:???レイアウト使わないほうがいいな。
ヘッダー、フッター、サイドバーなんかはelementでまとめて
ピュアPHPのようにHTML上にコード埋め込む形の方が、
デザイナーとの共同作業時に捗るわ
0619nobodyさん
2013/12/05(木) 13:37:55.86ID:???カスタムできるお問い合わせフォームがついてるのは嬉しい
ただプラグインもテーマもまだまだ少なすぎる
デフォの機能で間に合うサイトなら使えなくもないかな―
0621nobodyさん
2013/12/06(金) 09:58:37.69ID:???レイアウトだとCakeの言語要素が強いから理解するまで難しいけど、、
elementだけなら、includeとかDreaweaverの挿入感覚で使用できるから、
Webデザイナーは一部の修正だけで済み、言語知識を必要としない。
故にWebデザイナーへの説明や、ビューの修正を依頼するときにわかりやすく、
自分の仕事(プログラミング)に専念できるから捗る。
ここまで書く必要ありましたかね・・・
0623nobodyさん
2013/12/06(金) 11:24:56.76ID:???/home/hoge/public_html
/home/fuga/public_html
こんな2つのディレクトリがあった場合、各public_html直下に
Cake本体のディレクトリを配置する感じになるんでしょうか?
0624nobodyさん
2013/12/06(金) 12:02:18.41ID:???レイアウトもエレメントも同じ仕組みで出来てるし、
その説明読んでも、あえて避ける必要性を感じないなぁ。
自分のアプリの見直してみても、
レイアウトもエレメントもビューも、全部HTMLに多少のifやforeachやヘルパーが入ってるだけで、
レイアウトだけなにか難しいってのは無いように見える。
てか良く考えたら、デザイン側の人にわかんねぇよって言われたこと無かった。
0625nobodyさん
2013/12/06(金) 12:27:57.95ID:???慣れるまで最初はそれでもいいかもしれんけど
複数のアプリを作ったりしたくて、サーバ丸ごと触れる環境なら
cakephp本体は/usr/local/libとかどこかに1つ置いて
ユーザーディレクトリの中にappの中身を置くようにするのがいいと思う
http://book.cakephp.org/2.0/en/installation/advanced-installation.html#sharing-cakephp-libraries-with-multiple-applications
0627nobodyさん
2013/12/06(金) 19:30:44.10ID:???「METAタグ挿入したいんだけどどうしたらいい?」
「CSSやJavascriptは?インラインで書きたい時もあるんだけど」
「titleタグもページごとに変更したいんだよね」
「そうそう、パンくずリストはどうするの?」
え〜まだまだ続ける?これら全てCakeの機能で実現できるけど、
Cakeを知らない人は出来ないよね。その前にPHPか。
デザインもプログラムも出来る人なら問題ないかもね。
0628nobodyさん
2013/12/06(金) 19:57:56.87ID:???0629nobodyさん
2013/12/06(金) 23:30:47.19ID:???やろうとするのが根本的な問題。
だから「お前には無理」で終わればいい。
0632nobodyさん
2013/12/07(土) 03:05:33.58ID:???できるプログラマーは、デザイナーの事を考えて作る。
できるデザイナーは、プログラマーの事を考えてデザインする。
そう思うんだよね。
0633nobodyさん
2013/12/07(土) 03:16:42.52ID:???で、自分の領域の仕事をこなす上で必要な知識は身に付けていかないとダメだと思うんよ。
0634nobodyさん
2013/12/07(土) 03:21:24.80ID:???0635nobodyさん
2013/12/07(土) 07:23:32.80ID:???かわいいデザイナーの娘と仕事がしたい
0636nobodyさん
2013/12/07(土) 10:04:31.60ID:???これがいつもじゃなくて、時々起こります。
なんでだろ〜?
0637nobodyさん
2013/12/07(土) 10:09:45.65ID:???ビューのテストはどうやればいいの?調べてもヘルパーのテスト方法しか出て来ない
0639nobodyさん
2013/12/07(土) 12:21:40.57ID:???デザイナー様に無理難題ふっかけるなよ。
0642nobodyさん
2013/12/07(土) 14:58:21.59ID:???JavaScriptはJavaScriptとしてテストしたらええやん。
画面としてテストしたいならせれにうむを使うやん。
0644nobodyさん
2013/12/07(土) 16:41:30.86ID:???使える・使えないの問題じゃなくて、
Cakeの仕様をデザイナーにも覚えさせるのか?
ってことだと思うが。
0645nobodyさん
2013/12/08(日) 01:28:28.09ID:???PHPUnitでHttpヘッダーのステータスコードをチェックするテストコードを書きたいが、
わからない。
【調べたこと】
公式で$this->headersにデータが入っているようなことが書いてあるが、取得できない。
・テストコード
$this->testAction( '/hoge.json', $request ); // 内部でステータスコードを変更するコードを出力
$this->headers // array() が出力される
・エラーコード発生場所(HogeController.php)
$this->response->type( 'json' );
$this->response->statusCode( 400 );
$this->response->body( json_encode( $body ) );
$this->response->send();
$this->_stop();
【前提】
RESTfulなコードを書いている。エラーはステータスコードを4XXや5XXなどとして、
コーディングしたい。
【環境】
CakePHP2.3
0646nobodyさん
2013/12/08(日) 17:12:58.59ID:???$this->response->header(); //全取得
$this->response->header('Server'); //Serverの値取得
$this->response->header('Server', 'foo server'); //Server: foo serverをセット
0647nobodyさん
2013/12/08(日) 17:17:32.39ID:???0648645
2013/12/08(日) 20:13:36.09ID:???>>646
CakeResponseの値を確認する場合は、
テストコード上ではHogeControllerのインスタンスはどのように持たせればよいでしょうか?
$this->testAction( '/hoge.json', $request );
$this->Hoge->response->header();
ModelでのテストではClassRegistry等を使ってsetupで
テスト側にインスタンスの持たせるかと思いますが、
Controllerのテストではどのようにインスタンスを持たせるのでしょうか?
0650nobodyさん
2013/12/08(日) 22:01:22.39ID:???意気込みで望むものではなくてさ、
テストがしにくいものを無くすぞって考えてやるべき。
テストしにくい所のコードをついばんでいって、
テストしやすい形に抜き取っていって、
最終的にどうしてもテストしにくい部分だけ最小限にして残す。
テストしにくいと思ったら、そのままのコードで残したらダメだよ。
そのままのコードでテストするなんて愚の骨頂。
0652nobodyさん
2013/12/08(日) 22:32:26.91ID:???ようは、テストもできねーようなコード書くなということか。
0653nobodyさん
2013/12/08(日) 22:43:19.55ID:???0654nobodyさん
2013/12/08(日) 23:02:00.09ID:???テストをする意味が無いコードもあるんだよ。
一連の処理の中から冗長なコードを取り除いていくと
最終的にはコードというより定義に近くなる。
PHPのスレだからまあ、WordPressのは例を出すと、
wp_config.php これは一応PHPのコードだろ?
だけどこれをテストする意味が俺にはわからない。
設定ファイルでもない限りここまで定義のみに
できることはないけどそれでもテストする意味あるのか?って
思えるほど減らすことは出来るよ。
テストは後付で加えるものじゃない。
テストが出来るようにコードを書いていくんだ。
テストがしにくいと感じたら、テストを書く技術を磨く前に
テストがしやすいコードを書く開発技術を身につけるんだ。
0655nobodyさん
2013/12/08(日) 23:13:20.11ID:???> 【質問】
> PHPUnitでHttpヘッダーのステータスコードをチェックするテストコードを書きたいが、
> わからない。
> $this->response->statusCode( 400 );
って書けば、当然HTTPヘッダのステータスコードは400だろ?
「400という数値を与えれば、それがHTTPヘッダーになる」というテストは必要だよ?
でもそれはCakePHPが開発元がやってるテスト。
400を与えれば当然HTTPステータスは400だし、404って書いていれば当然404だろ?
これ、ただの定義じゃないか。そんなのテストする意味が無い。
ではなくて、本当にテストするべきなのは400になる原因の方だよ。
なんかのデータを引数にしてなんかの処理をやったらエラーになるんだろ?
それをテストするべき。
そのエラーを最終的に400としてクライアントに伝えるというのはただの定義でしかない。
0656645
2013/12/08(日) 23:53:33.88ID:???(釈迦に説法ではありますが)RESTfulな設計思想で、エラーを発生させた場合にはエラーメッセージと共に
200以外のHttpステタースコードを投げるのは、異論はないと思います。
論点としては、「RESTful」な設計だとしても
エラーを発生させるような処理を確認するテストの場合に、
エラー発生を「HTTP status code等」でテスト結果を確認すべきか否か?
というところを言いたいのだと思いますが、、、、ここは議論の余地があるかと思います。
> そのエラーを最終的に400としてクライアントに伝えるというのはただの定義でしかない。
現状、クライアント側の実装でも、
「ステータスコードを見て処理を振り分ける」処理があるため、
テストをやっておいた方がいいのではないかと思った次第です。
>>648 についてですが、
testActionなどの後では、$this->controller でインスタンスに
触れるようですが、、、 responseの内容は相変わらず取得できません。
0657nobodyさん
2013/12/09(月) 00:29:29.65ID:???やらないよりはやったほうがいいけど、意味が少ないというだけ。
そして、費用対効果まで考えるとそこまでやる意味ないんじゃないってこと。
なぜなら400を返すまでのコードが正しければ絶対400返るでしょ?一回確認すれば十分じゃない?
その400を返すコードは400を返すという仕様そのものが変わらない限りもう変えることはないでしょ?
それよりも複雑なのは400を返すまでの仮定であってその仮定が正しければ400返すでしょ?
そういう難しくもなく安定したコードのために、どうやってテストをすればー
なんて言うのなら、やっても時間がかかるだけで効果が無いと思うよ。
> 現状、クライアント側の実装でも、
> 「ステータスコードを見て処理を振り分ける」処理があるため、
もしかしてサーバーとクライアント一緒にしてテストしてない?
サーバー側の実装がどうであれ、400が返って来た場合のテストをすればいい。
だから400を返すだけのアプリ(モック)を使えばいい。
もっと言えば、クライアントだけで400が返って来たかのようにエミュレートさせれば
クライアントだけでテストできる。
どんなものでもテストしてやるぞ。ではなくアプリに手を加えてテストが簡単にできる
ようにするというのはこういう話。
0658645
2013/12/09(月) 01:07:18.47ID:???引き続き、お付き合いいただきありがとうございます。
全体的なテストの思想、手法のお話しについては概ね同意いたします。
(クライアント側はSinon等を使っており、おっしゃるようなテストを書いております)
ご教示いただいている、お話しについては
「○○のようなテストはやるべきか、やらないべきか?」という形に収束しつつありますので、
スレに添う、単純なCakePHPの
「○○の実装の方法は?」というような部分について引き続き、お知恵をお借りできれば幸いです。
0660nobodyさん
2013/12/09(月) 01:43:48.55ID:???わざわざ$this->headersに入れてるし、普通ならちゃんと入ってるものっぽい気がする。
でも入ってないって言うなら、testAction()からvar_dump()仕込んでって追いかけるしかないんじゃね?
0661645
2013/12/09(月) 01:53:31.21ID:???ありがとうございました。
先の例では、
$this->testActionのあとに
$this->assertEqual( 400, $this->controller->response->statusCode() );
$this->assertEqual( "something", $this->controller->response->body() );
$this->assertEqual( "json" $this->controller->response->type() );
のような形で対応できました。
お騒がせしてすみません。
0662645
2013/12/09(月) 01:55:29.19ID:???こちらの例では。
$this->headersはarray()になっており、
$this->controller->header() はNULLになっていました。
0663nobodyさん
2013/12/09(月) 11:11:00.28ID:???$this->controller->header() なんてのCakePHPに無いぞ?
そのリンク先にもそんなコードはないし、そもそもCakePHP本体のコードだし・・・
0664nobodyさん
2013/12/09(月) 11:48:24.86ID:???問題にしてるクラスが何かってことくらい明確に書いたほうが回答者が質問の意図わかりやすいと思うの
あとRESTfulかどうかってステータスコードの扱いと何か直接的な関係あるの?
ステータスコードを適切に設計するのはREST以前の問題でしょうに
0665nobodyさん
2013/12/09(月) 12:09:57.41ID:???確かに>>660の言うとおりControllerTestCaseクラスの_testActionメソッドを見る限りは
ちゃんと$headersプロパティにレスポンスヘッダの情報が入るようにみえるね
その前の条件分岐によっては入らないケースがあるのかな?
0666nobodyさん
2013/12/10(火) 18:08:28.36ID:???0668nobodyさん
2013/12/10(火) 21:50:48.63ID:???Cakeだと規模が大きくなりすぎるし、ファイル数も多い。
それに既に運用しているサイトだと、
Cake使わないほうが静的ファイルとの共存がしやすい。
0669nobodyさん
2013/12/10(火) 22:48:38.38ID:???0670nobodyさん
2013/12/11(水) 00:30:44.85ID:???プラグインなんか使う時は自分のやり方と違うから戸惑うけど、
気にせずに編集していくな。
0671nobodyさん
2013/12/11(水) 10:49:31.96ID:???0672nobodyさん
2013/12/11(水) 16:23:21.68ID:???例えばユーザテーブルを「users」という名前でつけたとして、
ユーザが所持しているアイテムを管理するテーブルを作りたいとします。
そういう場合は
user_items
users_items
どっちの名前が適切なんでしょうか?
0675nobodyさん
2013/12/11(水) 19:34:39.55ID:???その際は、user_itemsが正しい名前になる。
0676nobodyさん
2013/12/11(水) 20:01:39.21ID:???引き継ぎ案件。
自分で昔作ったサイトとかもリニューアルする時、DBが複雑になってる時があって構造を直すんだけど相当手間だし、バグの原因になる。
こういう場合はみんなは
そのまま使うか、構造を変えるかどっち?
0677nobodyさん
2013/12/11(水) 20:35:59.75ID:???なるべくそのままにしておく。
長期間の保守契約も含めた場合は話は別。
自分のサイトなら極限まで自分の好きにする。
じゃなきゃ自分でやる意味なくない?
0679nobodyさん
2013/12/11(水) 23:56:50.75ID:???0683nobodyさん
2013/12/12(木) 04:05:39.56ID:???0684nobodyさん
2013/12/12(木) 05:30:01.88ID:???0685nobodyさん
2013/12/12(木) 11:49:32.21ID:G/DBAFTk1つか、もしくは全部?
idとusernameの二つの値を持ってきたいのですが、
どなたかご存知の方いたらお願い致します。
0687nobodyさん
2013/12/14(土) 00:57:14.30ID:???俺なら最低20万円。
0688nobodyさん
2013/12/14(土) 02:23:18.09ID:???0690nobodyさん
2013/12/14(土) 02:40:33.10ID:???稼働できるように頼まれるかもしれない。
工数が全く見えないんだけどどうやって見積もり取ればいいんだろう。
0691nobodyさん
2013/12/14(土) 02:41:06.36ID:???cakephp2を考慮して正しく書かれたコードと
全く考慮しない上に、間違った使い方ばかりした
汚いコードでは100倍ぐらい差がでても不思議ではない。
0692nobodyさん
2013/12/14(土) 02:44:20.85ID:???移行ではなく、全部最初から作り直しの工数を見積もればいいよ。
仕様を0から考える時間 or 現在のシステムを理解するのにかかる時間
+
0から開発した時の時間。
決して、今あるコードを再利用できるから
開発時間が短縮できると思ってはいけない。
再利用できるように使えるように作られたコードであれば再利用できるが、
使えるかもしれないというコードは、基本的に使えない。
0693nobodyさん
2013/12/14(土) 03:06:53.02ID:???蔵からしたら「お前が作ったものを新しくするだけだろ?」
ってなもんで、予算をとってもらえないことが多い。
だったら諦めろって話だが、そこで終わると仕事に繋がらないわけで、
結局は安く請け負ってしまうんだよな
0695nobodyさん
2013/12/14(土) 10:36:42.60ID:???そういう理解の客って、そもそもCakePHPを新しくするって発想すら出てこないんじゃないの?
目の前には動いてるプロダクトがあるわけで、やって欲しいのは機能の追加とかであって、
機能は増えないし変わらないけど、CakePHP2にするってことじゃないと思うんだが。
逆にCakePHP2にする事の意義を知ってる客なら、
それが簡単じゃない事も知ってるはずだと思った。
0696nobodyさん
2013/12/14(土) 17:19:20.55ID:???「もっと動作を早くしてほしい」とか「サーバを変えたい」って場合がある。
または、自分がCake2用の開発に切り替えてて、
ライブラリもCake2用に作っている・使用している場合とか。
つまり、「現状より良くしたい」という要求に対して
「開発方法を変えないと出来ません」
ってなったら客も怒るだろ?こっちの事情はともかくとして。
ずっと1.3系&PHP4系を使い続けるならともかく、
技術の進化と客の要求に対応するなら、
どこかで折り合いをつけなければいけない。
0697nobodyさん
2013/12/14(土) 22:46:14.15ID:???0698nobodyさん
2013/12/15(日) 00:01:11.18ID:???バージョンアップのメリットないから。
0700nobodyさん
2013/12/15(日) 01:12:59.53ID:???> 技術の進化と客の要求に対応するなら、
> どこかで折り合いをつけなければいけない。
なんか他人のせいにしているように聞こえるけど、
それ、技術力がないからだから。
君に足りない技術はね。今のコードを
新しいコードへ連続的に変化させていく技術だよ。
どうせ、今のを捨てて書きなおすことしか思いつかないんでしょ?
この変化させていく技術力があれば、1系でも2系でも動くコードがかける
PHP4系でもPHP5系でも動くコードがかける。
動かないコードを動くように変えることが出来る。
古いコードを新しいコードから利用できるように出来る。
新しいコードを古いコードから利用できるように出来る。
今の君は、このようなことをするのに何が必要かわからず
またわかったとしてもそれを実現するだけの力がない。
ゴールを見据えてそこまで至るルートを見つける力がない。
ルートがわからないからいつまでたってもゴールに辿りつけない。
0703nobodyさん
2013/12/15(日) 01:22:24.83ID:???君の非難はちょっと違うと思うんだよ。
俺がオレオレフレームワークなり、ライブラリを作った上で
「PHPのバージョンが変わったら全て書き換えないといけない」
的な事を言い出すなら、「技術がないだけ」って切り捨てるのもわかる。
でも、CakePHPというフレームワークでの話だろ?
Cakeが1.3→2に変わっても、君の言うようにどのバージョンでも
動けるコードになっているかな?なっていないよね。
もちろん、「CakePHP選んだお前が悪い」っ
てのなら自身の選択ミスだ。俺が悪い。
だが、俺の言う「折り合いをつける」ってのは、
「なんだかんだ言われてもやる」なんだけどな。
>>693の書き込み見てくれればわかると思うが。
0704nobodyさん
2013/12/15(日) 01:34:39.31ID:???やっぱり技術力がないだけ。
CakePHPを選ぶのが間違いとかそういう話ではない。
何を選ぼうが未来がどうなるかはわからない。
安全な未来を選ぶ力が重要なのではなく、
どんな未来が来ても、そこに至るルートを見つける力が重要。
まず、フレームワークは使うが
本質的なコード=重要なコード=大部分のコード
というのはフレームワークに依存しないように作る。
(作れるのが技術力)
フレームワークにべったりくっついた設計にするのではなく
フレームワーク ⇔ 薄い中間層 ⇔ 大部分のコード
こういう設計にしておく。フレームワークは変わるのは
当たり前の話なんだから、最初からそうすべきと判断する
(これも技術力)
> Cakeが1.3→2に変わっても、君の言うようにどのバージョンでも
> 動けるコードになっているかな?なっていないよね。
フレームワークに依存しまくるから、動かないコードが”大量に"できる。
フレームワークに依存しない部分を大量にして、依存している部分を
最小限にしておけば、動かないコードを最小限の力で移行させられる。
CakePHP1.3の時代に、まだ見ぬ2に対応することは不可能だが、
CakePHP1.3の時代でも、フレームワークが無いとみなして作るのは可能だ。
0705nobodyさん
2013/12/15(日) 01:43:20.20ID:???互換性が100%でないのは知っているし100%の互換性はないのが普通。
http://book.cakephp.org/2.0/ja/appendices/2-0-migration-guide.html
> 2.0 移行ガイド
> このページはプロジェクトを2.0に移行する手助けをする、
> CakePHP 1.3からの変更点の要約をします。 またこれは、コアへの
> CakePHP 1.3ブランチからの変更点への最新の開発者リファレンスともなります。
> 必ずこのガイドにある新機能とAPIの変更の全てのページを読んでください。
こういうのもある。たいていの有名どころであれば移行する手段は用意されている。
これを読めば、何が良くて何がダメでダメなものはどう対処すればいいかわかるはず。
こういうのを読んで、移行できない問題点を見つけて、すぐに諦めてるでしょ?
移行っていうのは、自分の作ったシステムのフレームワークを入れ替えて
そのままじゃ動かない。あーだめでした。もうお手上げだー。
移行できない。いつまで延命できるかなー。ってこういうものではない。
移行できないものをどうやれば移行できる形にできるか見つけて、
直して、必要ならば新旧両対応できる書き方に書き換えながら、
移行できない問題点を潰していくのが本当の移行の仕方だ。
これが技術力なんだよ。
0706nobodyさん
2013/12/15(日) 01:47:21.85ID:???君の非難を素直に受けるし、技術が無いのも確かだろう。
でも、怒りの矛先を向けるのは俺じゃないと思うんだが。
君は技術ありきで話をしているけど、話の最初は>>687だよ?
君が作った素晴らしいコードなら、1.3だろうと2だろうと3だろうと
チョチョイのチョイでバージョンアップできるから、困らないかもしれないね。
だから、バージョンアッップ後の更新作業をしてもお金取ろうとしないのかもね。
でも、そういう考えならやっぱり俺が提示する
「技術の進化と客の要求に対応して折り合いをつける」
ってな事にならないかな?
そもそもスレの流れをちゃんと見てるか?
ちゃんと見ないのに非難する人間って技術力高いのかなぁ。
0707nobodyさん
2013/12/15(日) 01:51:11.60ID:???> 君が作った素晴らしいコードなら、1.3だろうと2だろうと3だろうと
> チョチョイのチョイでバージョンアップできるから、困らないかもしれないね。
それは大きな勘違い。
未来なんてわからないし、最初は技術力低いのが当たり前
フレームワークなんて難しい物を、最初から完璧に使いこなすことなんて不可能。
最初から素晴らしいコードなんてかけるわけがない。
じゃあどうするか。
それが連続的に変化させていく技術力だよ。
高い開発技術ではなく
汚いコード(古いコード)から、綺麗なコード(新しいコード)へ
変化させていく技術力。
それが圧倒的に足りない。
0708nobodyさん
2013/12/15(日) 01:52:59.47ID:???全部ラップしてるんでしょ?オーバーヘッドえらいことになるやん
0709nobodyさん
2013/12/15(日) 01:55:27.23ID:???だったら、それを俺じゃなくて
「Cakeのバージョン変えたいけど、お金もほしい」
って奴に言ってくれよ。
俺はどちらかというと、あんたみたいな考え方だよ。
向上心もなく、単に金がほしいなら
「技術の進化と客の要求に対応して折り合いをつける」
ってな言い方はしないだろ?
どこがあんたの気に触ったのかしらないけど、
頼むからスレの流れを読んで非難してくれ。技術云々を語る前にな。
0710nobodyさん
2013/12/15(日) 02:20:52.91ID:???0711nobodyさん
2013/12/15(日) 03:25:11.57ID:???0712nobodyさん
2013/12/15(日) 07:14:03.45ID:???なんか俺へのレスから長々と続いてるみたいだけど、それは置いといて。
もっと動作を早くするとか、別のサーバーにのせるために、
CakePHP1から2にする必要があるなら、
それは客が負担するコストじゃね?
実際CakePHP2は1より早くなってるし、キャッシュエンジン使うとかリバースプロキシの導入とか、
他の手も考えてみて、CakePHP2化が有効なら、
後は普通に見積もって提案するのがいいと思った。
機能追加のために、CakePHP2用のライブラリが使えないことに関しても、
CakePHP2化してあれば、機能追加時に使えるライブラリの選択肢が増えて、
機能追加の見積もりが安くなるかもしれないから、コストかけてCakePHP2化しませんか?
って話にならんかね。
それで、CakePHP1のままって言われたら、機能追加は相対的に高めの見積もりになり続ける、と。
まぁCakePHP1で保守開発するのは、高めにもらってもあまりやりたくは無いけど。
0713nobodyさん
2013/12/15(日) 13:49:38.36ID:???フレームワークの上にフレームワーク乗っけてるようなもんだから
何がやりたいのかわけわからんわ。
どんなにラップしようがcakephpのバージョン上がったら
それに合わせて書き換えないと動かないんだから
それならはじめからラップなんてしなくていいのよ。
ビジネスロジックだけ分けておくとかならともかく。
ばかばかしいわ
0716nobodyさん
2013/12/15(日) 21:36:55.56ID:???> 全部ラップしてるんでしょ?オーバーヘッドえらいことになるやん
いきなり的はずれなこと言い出したのはこいつだな。
こいつ以前にはラップという話は出てきていない。
なんでラップなんかするんだか。
0717nobodyさん
2013/12/16(月) 13:36:53.84ID:???ラップって言ったんじゃない?
なんか言っている事はすごく正論なんだが、金という最も大事な項目を考えないで議論している人がいる気がする。
現実と理想とで議論しても何時までもかみ合わないというか。
0718nobodyさん
2013/12/16(月) 17:10:04.70ID:???みんな名無しなので話がややこしくなるが、
俺は>>693、696を書き、なぜか煽ってきた>>700は
「他人(客)のせいにするのではなく、自身の技術の無さを問題視しろ!」
と言ってるわけだ。
だが、俺はそもそも技術云々なんて論じてないし、
出来ない(やらない)とも書いてない。
俺の意見としては>>696に書いたとおり、
「客がバージョンアップを希望する場合もあるし、
だからといってその分のコストを請求し、納得させるのも難しいから、
どこかで折り合いを付けなければいけないね」
と言った、中立的な発言をしたわけだ。
開発者としてはバージョンアップでもお金欲しいけど、
客は見た目変わらないからお金を出しづらいね、みたいな。
なのに、なぜか「技術が無いから対応できないんだ!}みたいな非難をされている。
きっとレスの流れを見ずに一部だけを切り取って腹が立ったのだろうけど、
未だに俺のレスの何が癇に障ったのかはわからない。
0720nobodyさん
2013/12/16(月) 22:23:01.69ID:???俺が1.3→2.2にした時は、
フレームワークのバージョンアップとは言わずに、
他の機能を追加する面目で対応したよ。
1.3のままだと不都合を感じたし、蔵も新機能が欲しかったからね。
だけど、バージョンアップだけで見積請求してもいいと思うし、
それに苦言を呈してくる客に対してメリットを感じなければ、
付き合いを止めればいい。それだけの話だよ。
どっちの言い分も考えた上で発言しているだけだから。
0721nobodyさん
2013/12/17(火) 01:14:36.31ID:???> 他の機能を追加する面目で対応したよ
それが普通
で、そういうことができないって言ってるんでしょ?
自分の書いたコードが1.3にがっつり依存してしまって
全部書き直しぐらいな、そうとう大変なことになってしまってるから。
だからフレームワークを使うのはいいが、
依存しまくらないようにしろという話。
それが出来ない奴は技術力無いってことよ。
そういったらなぜか全部ラップするとか言う
斜め上の対応策が出てきてワロタ。
そうか、技術力低いと、そういう間違った対応をするのか。
0722nobodyさん
2013/12/17(火) 01:16:55.25ID:???> なのに、なぜか「技術が無いから対応できないんだ!}みたいな非難をされている。
違う違う。「技術がないから金がかかるんだ」って非難してる。
CakePHPの1系から2系へのバージョンアップなんて
>>720みたいに、他の機能を追加する名目で対応しろよ。
0723nobodyさん
2013/12/17(火) 04:19:56.51ID:???どのくらい大変かは、アプリのボリュームにもよるだろうなぁ。
コンポーネントやビヘイビアをちゃんと書いて、DRYに作っていれば、
移行系は手を入れる必要がある箇所が少なくなって楽になるとは思うけど、
影響がある化も知れないアクションは全てだから、
ボリュームが大きいと、動作確認だけで大変になる。
テストを書いてたとしても、フロントの振舞いこみで確認しないと、
もしエンバグしたら事だからなぁ。
あと確か、1系から2系で、テストフレームワークが変更になった気がするし。
フレームワークのバージョンの移行なんて、ボタンひとつで出来るわけじゃないし、
時間を使う以上金はかかるよ。お仕事だもの。
単純に移行だけで、機能も増えないし見た目も変わらないとなると、
無知な客からすると、どんな見積もりを出しても高く見えるだろうけどね。
でも、無知な客はむしろよりコストを負担して欲しいわ。
0724nobodyさん
2013/12/17(火) 11:07:41.43ID:???0725nobodyさん
2013/12/17(火) 11:10:20.38ID:???>で、そういうことができないって言ってるんでしょ?
「それが普通」って認めてるのに、出来ないって言ってるとは??
>>722
718=720なわけだが。レスの感じでわかると思ったけど。
0726nobodyさん
2013/12/17(火) 20:14:25.92ID:???0727nobodyさん
2013/12/18(水) 02:28:32.22ID:???0728nobodyさん
2013/12/18(水) 08:28:28.95ID:???Cakeを使い続けてるわ…
0729nobodyさん
2013/12/18(水) 17:52:24.89ID:???書籍に消える金も大切ですもんね。
0730nobodyさん
2013/12/18(水) 23:54:54.14ID:???0731nobodyさん
2013/12/30(月) 17:33:32.85ID:???0732nobodyさん
2013/12/30(月) 18:23:15.55ID:???0733nobodyさん
2013/12/30(月) 18:57:43.73ID:???0734nobodyさん
2013/12/30(月) 19:49:29.10ID:???0735nobodyさん
2013/12/30(月) 19:50:02.15ID:???0736nobodyさん
2013/12/30(月) 21:52:42.70ID:???0737nobodyさん
2013/12/30(月) 22:11:14.32ID:???0738nobodyさん
2013/12/30(月) 22:45:31.59ID:???0739nobodyさん
2013/12/30(月) 22:46:21.83ID:???0740nobodyさん
2013/12/31(火) 03:34:51.36ID:???ただし引き継ぎは出来ないと思う
0741nobodyさん
2013/12/31(火) 04:17:37.80ID:???0742nobodyさん
2013/12/31(火) 09:57:07.65ID:???ゆるゆる具合が素晴らしいな
0743nobodyさん
2013/12/31(火) 11:56:15.23ID:???0744nobodyさん
2013/12/31(火) 12:18:53.48ID:???次のシステムは別なのにするわ
Viewがひとつの<?php ・・・ ?>で括られてたり、モデルやコンポーネントを呼んでゴリゴリロジック書いてたりするシステムのメンテはもう無理
0746PHPスレ127
2013/12/31(火) 16:49:17.45ID:4Xz0mw7ZCakeで途中からMySQLのテーブルに列を増やしたんだがクエリがそれに追随して増えてくれん
そりゃ、$this->query()で直接書けばいいんだが、fetchなんかが増えた列に対応してくれん、、、
どこをなおせばいいんだ?
Model/*phpでdisplay属性に追加すればいいのか?
0747nobodyさん
2013/12/31(火) 19:02:25.74ID:???>クエリがそれに追随して増えてくれん
普通はフィールドの変更は即座に反映されるぞ。
もっと詳しく書かないと何も言えんがな。
「display属性」って、もう何が何だか・・・
0748nobodyさん
2013/12/31(火) 20:06:02.40ID:8qYMp9pv0749nobodyさん
2013/12/31(火) 20:13:53.91ID:???0751nobodyさん
2014/01/01(水) 01:39:21.82ID:???CakePHPは、スキーマをコードにしないので、
普通にModelのfind()を使えば、増やしたカラムは取得できるよ。
CakePHPを使っててfetchというメソッドは書いたことが無いから、何のことかわからん。
注意点としては、実はスキーマはキャッシュとしては吐き出されてるから、
このキャッシュが残ってて、カラム追加が反映されないというのはある。
運用モードのdebug 0だと、それなりの時間キャッシュされてる。
開発中ならdebug 2にしてるはずだから、それならキャッシュは毎回生成されるはずなので問題ない。
0752nobodyさん
2014/01/06(月) 13:53:28.04ID:???0753nobodyさん
2014/01/06(月) 17:42:05.41ID:???TestとかVendorとかLibとか。
それともデフォルトのままにしてる?
0754nobodyさん
2014/01/06(月) 18:02:00.84ID:???0755746
2014/01/06(月) 22:30:53.31ID:nz1Q23oZLibは要るだろw
0756nobodyさん
2014/01/07(火) 00:08:21.82ID:uOROpRea世界中に事業者ユーザーを持っているサイトを運営しています。
ただ、ばかばかしいことに、彼らが本当に存在しているのか確信がありません。
本来であれば、事業者ユーザーの申請があったときに、手紙でアクティベート用のコードを送る云々などが本人確認には最適だと思うのですが、
実はこれ、費用が莫大になります。
実在する事業者だけを集めたい場合、何か優れた認証方法はないでしょうか?
0761nobodyさん
2014/01/07(火) 04:15:26.41ID:uOROpReaグローバルで展開しているので・・・
0762nobodyさん
2014/01/07(火) 09:48:08.32ID:???0763nobodyさん
2014/01/07(火) 12:32:14.31ID:???本人確認だけならTwilioとか使って電話応答確認すれば
ある程度のフルイにはかけられるんじゃないかと思うが。
実体のある事業者かどうかなんてことは、
それこそ地方自治の役所ですら把握しかねるだろうから
諦めたほうが良いんじゃねぇの?
それじゃなきゃそんだけ採算取れる事業ってことなら
結局は金かけて調べるってことにしかならないと思う
むしろ安価でそれを調査できる仕組みを作ればそれだけで飯が食えるだろ
0764nobodyさん
2014/01/07(火) 15:04:00.93ID:uOROpReatwilio、私も昨日の深夜に辿り着いて、色々調べていました
電話は他の一般ユーザーに登録させているので、その電話番号から認証すればOKということにするのが次善策なのかなと思いました。
事業者が一般ユーザーを装って、先回りで電話番号を登録してたら偽装しほうだいですが。
一般ユーザーに監視させ、疑いがある場合は手紙(住所)での認証を求めようかな。手紙は日本国内向けとそんなに変わらないので、件数さえ押さえれば何とかなります。
仰るように、日本の役所ですら全部把握するのは難しいですし、ある程度割り切りが必要ですね。
ありがとうございました。
0766nobodyさん
2014/01/11(土) 15:05:10.50ID:+1e/PKP4ここを参考に写経しているんだけど、リダイレクト引数がわたってくれません。
ttp://libro.tuyano.com/index3?id=738001&page=5
自分が書いたコード
http://codepad.org/PM79JO8d
other の出力が dummy になってしまうので、引数がわたってないってことですよね?
redirectを2通りの方法で書いてますがどっちも同じ.
環境は Win8 + Web Matrix です。
0767nobodyさん
2014/01/11(土) 15:46:24.87ID:???passed argumentsなので、リダイレクトはおいといてそれだけで確認してみたらどうだろう。
わかってるとは思うけど、デフォルトのルーティング設定なら、
example.com/contrllers/action/passed_arguments
こういうURLになるので、
example.com/sample/other/foo
これでアクセスして、送られた値= foo となるかどうか。
これが動く場合、リダイレクトした結果のURLと、上で確認したURLを見比べたら何かわかるかもしれない。
0768766
2014/01/11(土) 16:02:01.38ID:???でも urlencode してるんだけどな。。。
IEの問題かとも疑ったけど、firefoxでも同じだった。
0769nobodyさん
2014/01/11(土) 16:26:13.52ID:???ああ、そういうことか。
CakePHPにはpassed argumentsのほかにNamed parametersという仕組みがある。
これはkeyとvalueをコロンで区切ったものなんだ。
詳しくはドキュメント参照。
http://book.cakephp.org/2.0/en/development/routing.html#named-parameters
おそらく、/で区切られたディレクトリのようなURLでありつつ、
key:valueなパラメーターを渡すために用意された仕組みなんだろうけど、
通常のクエリーストリングとできること被ってるし、
CakePHP3では廃止されると聞いてる。
実際のところはよく知らんけど。
0770nobodyさん
2014/01/11(土) 22:11:29.88ID:???特におかしな所無さそうと思ってコピペしてやってみたら普通に動いたけども
Mac Safari / Chrome共
0771nobodyさん
2014/01/11(土) 22:16:34.58ID:???$this->autoRender = false; が既に書かれているんで
リダイレクト時にはわざわざ書く必要はないっすよ
0772746
2014/01/11(土) 23:04:18.40ID:2cCSIQxGクエリで結合させてquery()に渡せば同じ事なの?
0773nobodyさん
2014/01/11(土) 23:47:21.89ID:???絶対的に必要だと思うよ。
時間かけてでも学ぶべき。
query直でも同じ結果だろうけど、それじゃドライじゃないね。
0774nobodyさん
2014/01/12(日) 07:53:33.34ID:???質問と関係ないけど
private function now_time(){
は、
private function _now_time(){
がいいよ。
public以外は関数名に_をつけるっていう。
あと文末の?>は不要。
0775nobodyさん
2014/01/12(日) 10:51:35.14ID:vGoVpF+Zバッチ処理中にテーブルロックをかけており、
バッチ処理中はクライアントからのselectをエラーとして返したいです。
こちらで試したものは、
innodb_lock_wait_timeoutを設定し、selectをタイムアウトさせる
というものでしたが
タイムアウトしませんでした。
どのようにすればタイムアウト(もしくはテーブルロックを検知)できるのでしょうか?
0776nobodyさん
2014/01/12(日) 15:44:58.79ID:???0777nobodyさん
2014/01/12(日) 17:33:27.87ID:???共用サーバー、vpsの両方を使ってますが。教えて下さい。
0780746
2014/01/12(日) 19:23:52.45ID:eraGilbY0781746
2014/01/12(日) 19:51:04.52ID:eraGilbY0782775
2014/01/12(日) 19:54:19.20ID:vGoVpF+Zバッチ処理側でlock writeをしているので、
クライアント側からselectするとタイムアウトすると思われたのですが、
タイムアウトすることなく、ずっとクエリ結果を待っている。
さらに、クライアント側が結果を待っている間に、
バッチ処理側でunlockをすると、
クライアント側にphp実行時間オーバーというエラーが表示されます。
0783nobodyさん
2014/01/13(月) 03:03:19.61ID:???重いってのがどの程度のことを言ってるのかわからないけど、
ユーザーを待たせすぎるような時間のかかる処理や、
集計みたいなユーザーのリクエストに拠らないし、時間のかかる処理は、
CakePHPのシェルで書いてcronから起動するってのはよくやるよ。
0784nobodyさん
2014/01/13(月) 03:04:51.41ID:???ロックとかしないからよくわからんわ。
まぁ、その辺はPDOとMySQLの間の問題だろうし、
MySQLかPHPのスレで聞いたほうがいいじゃない?
0786746
2014/01/13(月) 10:36:55.49ID:tHg0j5+R外部結合を実現させるんだ?
0789nobodyさん
2014/01/13(月) 12:26:21.11ID:???0790nobodyさん
2014/01/13(月) 13:08:06.60ID:???なんかエラーメッセージが混ざってる気がするが、
cronから起動したとしてもPHPが使えるメモリ上限はphp.iniに設定されているし、
実行時間上限も、確かされていたような気がする。
そのどちらも、ini_set()で変更可能だし、確かCLI用のphp.iniを用意する方法もあった気がする。
ともあれ、ブラウザ越しでは有効な実行時間上限とメモリ上限より、
大きい上限を設定してやればいい。
設定でメモリ上限を無限にすることもできるけど、当然積んでるメモリを使い切ったらダメだから、
重すぎる処理はダメ。
あと、VPSは仮にもroot権限あるだろうからいいけど、共用は無いと思うので、
メモリ上限とかを変更できるかどうかは、鯖しだいじゃね。
0791nobodyさん
2014/01/13(月) 13:12:00.94ID:???0793775
2014/01/13(月) 15:02:01.49ID:qnOxD/aG回答ありがとうございます。
他スレで質問してきます。
0794nobodyさん
2014/01/17(金) 13:54:07.36ID:G1JYixnYModel View Controllerのどこからでもアクセスしたい場合は
bootstrap.phpにdefineかConfigure::writeで書くのが
定石だと思うんだけど、配列の扱いが上手くいかない
扱う情報としては 1:man 2:woman 3:other という感じのシンプルなもので、
やりたいことは
1. 1というキーからmanという値が一発で取得できる
2. manという文字列から1というキーが一発で取得できる
3. radioボタンやselectボックスのoptionsにそのまま指定してフォームが作れる
の3点なんだけど
Configure::write('Gender',
array(
1 => 'man',
2 => 'woman',
3 => 'other',
)
);
って感じに書くと1と3は実現できるんだけど2の文字列からキーの取得が
array_keysとか使わないとできなくて多少面倒なんだ
何かうまい書き方があったら教えてくれ
0795nobodyさん
2014/01/17(金) 15:47:12.66ID:???たしかphpも5から定数に配列をつかえるようになったんじゃないっけ?
俺もあなたと同じ方法でやってます。
0796nobodyさん
2014/01/17(金) 16:20:23.00ID:???ConfigureGender クラスみたいなのを作るというのは?
0797nobodyさん
2014/01/17(金) 16:23:24.34ID:???getKeyByValue( 'Gender', 'man' ) // 1が返る
getValueByKey( 'Gender', 1 ) // 'man'が返る
みたいな
こういう自前関数を1クラスにまとめてLib以下に置いてbootstrapでApp::usesしてる
0798nobodyさん
2014/01/17(金) 17:29:25.79ID:???0800nobodyさん
2014/01/18(土) 01:54:27.23ID:???って感じに書くと1と3は実現できるんだけど2の文字列からキーの取得が
array_keysとか使わないとできなくて多少面倒なんだ
Key/Valueだし仕方なくね?
というか、3のようにして作ったoptionタグから帰ってくるのは、値のほうじゃなく、keyである数字のほうでさ、
それをDBに入れるし、取り出して使うときは1の取得で文字列にして表示だから、困った経験があまり無いぞ。
2の取得をするって機会があんまないきがする。
あってもarray_flip()でひっくり返せば配列アクセスできるし、そんなに面倒かね?
0801794
2014/01/18(土) 19:26:16.46ID:???値からキーを取るのは定数定義とは別に書いた方が良さそうだね
>>800
たとえばこんな感じでコントローラーやビューで使いたい
ビューで使わないのなら>>798の言うようにモデルに任せるのが一番いいんだろうけど
if ($gender == Configure::read('Gender.man'))
0802nobodyさん
2014/01/19(日) 10:13:44.22ID:0MqMVmkC今、PCの故障でCAKEPHPを新しいPCへ移行中なんですが、
CAKEPHPのバージョンとソースは以降前と同じでDBを復元し、動かすと以下のエラーが表示されてしまいます。
----------------
Missing Database Table
Error: Database table logs for model Log was not found.
Notice: If you want to customize this error message, create app/views/errors/missing_table.ctp
----------------
database.phpや$uses=>array()などを試しては見たのですが、原因がわかりません。
確認すべき場所など原因をご存知の方がいらっしゃいましたら教えてください。
---------cakephpバージョン---------------
1.3.12
----------------database.php-------------
class DATABASE_CONFIG {
var $default = array(
'driver' => 'postgres',
'connect' => 'pg_connect',
'port' => '5432',
'host' => 'localhost',
'login' => 'cakeuser',
'password' => 'cakeuser',
'database' => 'phpmain',
'encoding'=>'EUC-JP',
'prefix' => ''
);
}
-----------------------------------------
0804nobodyさん
2014/01/19(日) 15:33:16.41ID:???あーなるほどね。
確かにそういう使い方はしたいな。
納得はしたけど、すまんけど特に提案できる方法はもってなかった。
Configureが内部的にarray_flipしたのを持ってたりして、keyからでもvalueからでも取れればいいのになー
0805nobodyさん
2014/01/19(日) 16:02:35.99ID:???(テーブルにカラム増やしてもキャッシュが効いてて反映されない)
モデルキャッシュを無効化する方法ないの?
0806nobodyさん
2014/01/19(日) 16:34:55.98ID:???0807nobodyさん
2014/01/19(日) 23:36:21.74ID:???データベースとかに保存しておきたい場合、どうすればいいんだろう。
0808nobodyさん
2014/01/20(月) 00:26:36.62ID:???0809nobodyさん
2014/01/20(月) 00:29:49.05ID:???0810nobodyさん
2014/01/20(月) 00:48:11.93ID:???0811746
2014/01/20(月) 02:15:34.59ID:WMGmZL6Vま、出来ないのはCakeEmailだけじゃないけどさ
0812nobodyさん
2014/01/20(月) 09:19:53.03ID:???0813nobodyさん
2014/01/20(月) 13:51:40.06ID:???0814nobodyさん
2014/01/20(月) 14:00:14.69ID:???0816nobodyさん
2014/01/20(月) 14:13:36.53ID:???前身のやつにはあったんだけど、あれはbootstrap2だし。
0817nobodyさん
2014/01/23(木) 13:12:43.27ID:???$this->request->queryってコントローラのコンストラクタの中じゃ参照できないのか?
俺の勘違いだったらいかんから、お前らも試してみてくれ
0818nobodyさん
2014/01/23(木) 13:22:37.04ID:???1.3で作成したAPIに、SecurityコンポーネントでBasic認証をかけたいと思っています。
そこで1.3の該当マニュアルを読んで進めておりますが、
requireAuth()
requireLogin()
loginCredentials(string $type)
この3つのどれを使うのが良いのか分かりません。
違いと実装の例など教えていただけませんか。
0820nobodyさん
2014/01/24(金) 00:03:19.65ID:???変わったことやってんのか?
0821nobodyさん
2014/01/24(金) 01:25:22.59ID:???1.3なんてもう覚えてないけど、認証はAuthコンポーネントじゃないの?
CakePHP2ではAuthだぞ。
SecurityコンポーネントはCSRF対策とか、そういうの用だと思うが。
0822nobodyさん
2014/01/24(金) 08:54:07.70ID:OhuU+SsS0823nobodyさん
2014/01/24(金) 09:17:20.30ID:???ありがとう。CakeでウェブAPIをつくっているので、Authコンポーネントではなく、
Securityのベーシック認証にしたいのです。
0824746
2014/01/25(土) 00:27:35.89ID:fnA/g+QMクラス設計するなら
0825nobodyさん
2014/01/25(土) 00:34:45.21ID:???0826nobodyさん
2014/01/25(土) 00:38:00.50ID:???0827nobodyさん
2014/01/25(土) 00:42:48.60ID:???これ、というのは無いなぁ
ただ、「CakePHP事典」と「レシピ119」だっけ?
あれはひと通り目を通すといいと思う。
CakePHPの機能を結構カバーできてる。
ただ、レシピの方は今ひとつ癖があるなぁって思った。
まぁ、ひとつの参考としては良いと思うよ。
網羅性に欠けるけど「実践」もいい。
まぁ、この3冊に全部目を通して損はないと思うよ。
0828746
2014/01/25(土) 00:46:35.74ID:fnA/g+QMCakeでモデルつーとDBのテーブルを連想してしまってた
0830746
2014/01/25(土) 13:37:17.68ID:fnA/g+QM0831nobodyさん
2014/01/25(土) 13:56:53.37ID:???0832nobodyさん
2014/01/25(土) 14:52:32.45ID:???CakePHPのモデルはDBとくっつきすぎていて、
そこにロジックを入れるのはちょっと違う感じもするようになった。
0833nobodyさん
2014/01/25(土) 14:55:02.37ID:???いやいい本だし、入門時でも慣れてきても、
ソースコードを見るかCakePHP辞典を見るかって時はあるから、
持っといて損はないと思うけど。
あれで入門しようというのは難しいとおも。
0834nobodyさん
2014/01/25(土) 15:06:07.31ID:???1系の時みたいな手取り足取りのチュートリアル本は無いからな。
もし本当に初心者で一からCakePHPをやりたいっていうんなら
ブログチュートリアルを暗記できる程度まで繰り返し覚えろとしか言えない。
ただ、実践本が初心者向けでないことは確かだった。あれは奨めない。
0835nobodyさん
2014/01/25(土) 15:07:52.67ID:???Cakeは犠牲になったのだ
0836827, 834
2014/01/25(土) 16:41:20.78ID:???読んでないんでなんとも言えないけど、
Amazonの書評とサンプルコードダウンロードしてみた感じ、
入門書として、ひょっとしたら良いかもしれない。
コードの一部が古いので注意する必要ありだろうけど。
(パッと見て、コントローラのプロパティ宣言キーワードに public を使わずに var を使ってるのはヤバイわ)
0837827, 834
2014/01/25(土) 17:56:10.31ID:???随分前に著者がツイッターで言ってたんだけど
音沙汰なしだな。。。
0839nobodyさん
2014/01/25(土) 22:40:50.09ID:???0840746
2014/01/26(日) 00:18:39.58ID:2eFTwFkLコントローラで $this->hogehoge みたいな使い方したい場合
0841746
2014/01/26(日) 00:27:11.25ID:2eFTwFkLWebデザイナーのためのCakePHPビューコーディング入門
ttp://www.amazon.co.jp/dp/4798033146/
はプログラマ向け入門書としてもそこそこよかったと思った。前半しか読んでねーが
0844nobodyさん
2014/01/26(日) 02:19:40.46ID:???俺モデルにstaticで関数作って使うクラスだけapp::usesして使ってるけど(bootstrapまわりのグローバル層には置かない)
これって少数派なのかね
0845nobodyさん
2014/01/26(日) 02:20:44.56ID:???あなたの書き込み最初から読ませてもらったけど、
フレームワークって、あなたの思ってる「プログラミング」にくらべると
すごく不自由なもんだと自覚した方が吉。
何しろ他人が「型」を作って、それに自分を嵌めこむ作業だから。
特にCakePHPはCodeIgniterやYiiなんかと比べるとその傾向は強いと言われる。
まずは開発者の意図を極力咀嚼して定形と言われる方法で開発するところから始められないなら、
フレームワークなんて使う意味ないよ。
0846nobodyさん
2014/01/26(日) 02:25:24.29ID:???0847nobodyさん
2014/01/26(日) 02:25:56.65ID:???PHP初心者なのか。
メンバ変数って単語を知っててなぜそうなるのか疑問だが、
class Foo{
public $foo = 1;
public function bar(){
return $this->foo;
}
}
な
0848nobodyさん
2014/01/26(日) 02:26:09.48ID:???全然いいんじゃない?
static ならテスト書きやすいし
ただ、Modelに入れずにLibに入れるかってのはある。
Modelにしちゃうと色々副作用とか考慮する必要もあるし。
0849nobodyさん
2014/01/26(日) 02:32:12.27ID:???とっ散らかるのイヤだなーとモデルごとに置いてて、今まで特に問題は起きてないけど
Lib層の使いこなしは考えていきたいね
ロジックはMVCで分けても、定義まわりは汎用的に使いまわしたいこと多いしな
0850nobodyさん
2014/01/26(日) 02:51:45.24ID:???時代が流れるの早いなー!
0851nobodyさん
2014/01/26(日) 03:30:04.12ID:???いや、>>840 が言ってるのは Component のオブジェクトプロパティを
直接指定できないかってことでしょ。
で、フレームワークが $components の内容を参照して勝手にセットする
しか方法がないのかってことにイラついてるんだろ。
0852nobodyさん
2014/01/26(日) 04:22:27.54ID:???ああそういうことか。
じゃぁ
$this->Foo = $this->Components->load('Foo');
0853nobodyさん
2014/01/26(日) 04:25:33.67ID:???おいおい、俺がこの業界にまだ入りかけで、アルバイトでPHP書いてたときですら、
アクセス修飾子書いてたぞ。
もう5年以上は前の話だ。
0854nobodyさん
2014/01/26(日) 04:51:42.85ID:???PHP歴、俺は10年以上だな。おっさんだ。。。
プログラムだけは経験多くても新しいのについてけないとダメだな。
var でも privateでもpublicでも何も変わらん気がするんだけどどうなん?
で、varが3文字で無難だからという理由で使ってるんだけど。
教えてください。
0855nobodyさん
2014/01/26(日) 05:06:46.50ID:???テスト書いてる?
変えちゃいけないインターフェース(public){=テストする}と
変えてもいい内部でだけで使うメソッド(private){=テストはpublicメソッド経由で行う}を
varでどうやって区別するんだい?
どっちでもちゃんと動くからいいというものではなく、
重要なのは、コードに"意図"を記述できるかどうかだよ。
0857nobodyさん
2014/01/26(日) 05:21:51.60ID:???アルバイトが長かっただけで俺もそれなりにおっさんだけど。
varで書かれたコードは見た目が気に食わない。
というのも、varは互換性のためpublicと同じになるから、
private, protectedが使えないわけだけど、
JavaScriptみたくアクセス修飾子がないけどうまくやってる言語もあったりするから。
とはいえ、途中参加のPHPプロジェクトに入ったりしたら、既存のコードを読むときに、
publicなのかそうじゃないかは、コードを読むときに手がかりにするし、
というかpublicメソッドだけ追ったほうが概要がつかみやすいと思う。
まぁ、1人で作ってたり少人数チームだったりすると、アクセス修飾子なんてなくても、
なんとなくわかったりするし、privateには _ つけるといった運用カバー的方法もあったりするし、
どうしても徹底しないととは、正直言いづらい。
だから、見た目が気に食わない。
0858nobodyさん
2014/01/26(日) 09:20:27.99ID:???varもpublicも変わらんというならまだしも、
privateとpublicが何も変わらんと思ってるってことは、手続き型しかやってなさそう。
テストの無い数千行の神クラス・・・。
0859746
2014/01/26(日) 10:00:51.56ID:2eFTwFkL> >>840
> PHP初心者なのか。
PHPもCakeも3ヶ月くらいしか経験はない
練習で掲示板を作ったくらいだ
>
> class Foo{
> public $foo = 1;
> public function bar(){
> return $this->foo;
> }
> }
できるんだな。サンクス
今作らされてる仕事でコントローラーばかりにコードを書くとクラスが肥大してヤだから
URLから呼ばれるコントロールをFacadeにして個別機能を小さくクラスわけて new したいな、
と思ってる所なんだ
0860nobodyさん
2014/01/26(日) 10:25:55.73ID:???じゃぁ
コントローラをFacadeにするのは正解。
ビジネスロジックを別クラスにするのも正解。
一般的に、ビジネスロジックはModelに書くのが良いとされている。
一つのModelばかりになんでも詰め込んで肥大化させるのはあまり良くない。
複数のモデルで共通する振る舞いはBehaviorを作るのが正解。
Modelとテーブルの関係を外して新たなModelを書くのはOK。
Libに新しいクラス作ってもいいよ。
ってところ。
0861746
2014/01/26(日) 10:42:05.01ID:2eFTwFkLありがとう。少し光が見えてきた
0862nobodyさん
2014/01/26(日) 12:35:40.50ID:???そんな沢山書かないとな場合て、そんなにないよな。
もしそうなら、コントローラーも、新たに作ったコントローラーもモデルも、
数行しか書いてないみたいには、しないほうがいいと思うよ。
find2回して、片方をforeachでまわしてちょっと加工して、
あとは表示なんてのは、そのページでしか使わないんだったら、
もうコントローラーに書いておけばいいと思ってる。
0864nobodyさん
2014/01/26(日) 13:08:34.52ID:???すべてをテストする必要はないんじゃね。
find2 foreach1だけなら、ほぼ間違えないし、
テスト可能にする事も含めて、テストのコストのほうが高いと思う。
foreachの中身が1行2行という想定だけど、
もしこれが複雑なものなら、foreachのとこだけ切り出してテストできるようにはしてもいいと思うけど。
0866nobodyさん
2014/01/26(日) 17:52:52.45ID:???0867nobodyさん
2014/01/27(月) 08:26:21.27ID:???不勉強とかそういうレベルじゃねーだろ
0868nobodyさん
2014/01/27(月) 09:15:59.49ID:???0869nobodyさん
2014/01/27(月) 10:27:59.61ID:???0870nobodyさん
2014/01/27(月) 13:43:50.37ID:???私はいまだにOOも理解してない手続き型しか書けない老害です
って宣言と同義
0871nobodyさん
2014/01/27(月) 17:32:39.84ID:???0872nobodyさん
2014/01/28(火) 09:32:01.09ID:???0873nobodyさん
2014/01/28(火) 11:26:46.25ID:???0874nobodyさん
2014/01/28(火) 12:09:08.34ID:???そういやそんなおじさんがいたな…
0875nobodyさん
2014/01/28(火) 12:36:13.58ID:???0876746
2014/01/29(水) 08:28:57.79ID:4MhCoapXアクション名がかぶりそうなんだよ
0877nobodyさん
2014/01/29(水) 08:47:04.63ID:???同一コントローラで名前がかぶりそうなら設計があやしい
0879nobodyさん
2014/01/29(水) 22:52:44.55ID:???なかなか見つかりません
0880746
2014/01/29(水) 23:39:01.19ID:4MhCoapXサンクス。調べてたら$layerの使い方もなんとなくわかった気がしてきた
0881nobodyさん
2014/01/30(木) 02:58:52.18ID:???この商品を見た人は、以下の商品も見ています。
ってのを作りたい場合、どのように作ればいいか教えてもらえませんか?
0882nobodyさん
2014/01/30(木) 03:35:25.70ID:???統計データから商品Aから商品Bへのスコアを計算して、
閾値を設定して、それを超えたものをスコア順に並べる
みたいな感じじゃないの?
0883nobodyさん
2014/01/30(木) 03:39:02.25ID:???とりあえず何らかの指標で弾き出したスコアを元にリストアップってのはどこも同じはず。
0884nobodyさん
2014/01/30(木) 07:39:44.50ID:???わりとそのものズバリな内容が書いてあった
中のコードはphpじゃないけどpythonだから読みやすいし
0885nobodyさん
2014/01/30(木) 09:24:11.61ID:???難易度相当高いよ。
0886nobodyさん
2014/01/30(木) 09:35:06.95ID:???単純に文字通り受け取って、リファラから商品IDを集計すれば良いだけだろ。
0888746
2014/01/31(金) 01:19:24.89ID:nps2dTDl0890nobodyさん
2014/01/31(金) 13:18:43.14ID:???よく見てるスレってここくらいだし、一応CakePHP使って作るし、質問させてくれ。
入力、確認、完了というよくあるフローの投稿機能なんだけど、
入力の段階でテキストやプルダウンなどのほかに、画像アップロードがあるんだ。
確認ページでは画像アップロードは完了させて、確認できるように表示する。
完了すれば、画像は所定のディレクトリに保持されて、ファイルパスが他のテキストとあわせてDBに入る。
確認の段階で戻ったり、完了に到達しなかったら、テキストも画像も保持しない。
良くある話だとは思うけど、確認ページ+画像アップロードが、なんか久しぶりで、
さらにcronが使えないサーバーで動かす予定なんだ。
前やったときは、daily cronで完了に至らなかったケースの画像を削除してたんだけど、
その方法が使えないから、どうしたものかと悩んじゃって。
この画像の後始末って、普通どうやってやるもんなのかな?
0892nobodyさん
2014/01/31(金) 21:40:33.68ID:???というか、いちいち俺は削除しないな。
下手に削除プログラム走らせるとバグの原因になる。
ゴミデータあっても誰も見ないし。
0893nobodyさん
2014/01/31(金) 22:07:45.62ID:???ユーザリクエストでもいいし外部Cronでもいいし脳ミソ0か
0894nobodyさん
2014/02/01(土) 01:04:49.93ID:???0895nobodyさん
2014/02/01(土) 11:45:31.12ID:???俺は正式アップロード用のフォルダとそうでないのと分けてるよ。
後から手動で消しても大差ないし、SSHからなら一瞬だしな。
0896nobodyさん
2014/02/01(土) 12:00:34.17ID:???0897nobodyさん
2014/02/01(土) 14:32:58.78ID:???0898nobodyさん
2014/02/01(土) 14:57:34.78ID:???しゅーーりょーー!
0899nobodyさん
2014/02/19(水) 17:11:55.42ID:???0900nobodyさん
2014/02/19(水) 21:57:40.50ID:???http://www.jcp.or.jp/akahata/aik13/2014-01-21/2014012115_01_1.html
舛添要一元厚生労働相
0901nobodyさん
2014/02/19(水) 23:22:12.01ID:???0902nobodyさん
2014/02/20(木) 06:30:09.81ID:???どこに公開すれば見てもらえそうかな?
0903nobodyさん
2014/02/20(木) 09:10:38.08ID:???0904nobodyさん
2014/02/20(木) 14:25:47.40ID:???0905nobodyさん
2014/02/21(金) 10:04:17.22ID:???◯他人にバグチェックして欲しい
0906746
2014/02/22(土) 01:05:45.30ID:2RhH+s5mこんなかんじ
$this->set('controllet', $this);
0907nobodyさん
2014/02/22(土) 06:40:06.00ID:eWHrltNv0908nobodyさん
2014/02/22(土) 11:16:29.17ID:???0909nobodyさん
2014/02/22(土) 11:35:21.57ID:???公式フォーラムみたいなのないの?
0910nobodyさん
2014/02/22(土) 12:01:29.59ID:???Stackoverflowで英語で質問するか、他の人の英語の回答読むかしたほうが早いことが多い
0911nobodyさん
2014/02/22(土) 12:04:13.17ID:???あそこいろいろうるさいよね
0912nobodyさん
2014/02/22(土) 15:22:58.24ID:???0913nobodyさん
2014/02/22(土) 15:51:42.33ID:???0914nobodyさん
2014/02/23(日) 03:41:44.73ID:???それが出来てしまったら構造がぐちゃぐちゃになって破綻するんよ。
まぁViewにModelを渡せないのは使いにくいっていう人たちも居るけどな。
0915nobodyさん
2014/02/23(日) 03:43:48.97ID:???このスレの速度見てもわかるとおり、CakePHPはなんか過疎ってるんだよな。
使ってる人はいっぱい居るはずなのにな。
http://cakephp.jp/modules/newbb/
まぁ過疎ってるけど動いてはいるよ。
0916nobodyさん
2014/02/23(日) 08:32:18.38ID:???内容も初心者ばっかりぽいしなあ
0917nobodyさん
2014/02/23(日) 08:44:16.18ID:???0918nobodyさん
2014/02/23(日) 09:46:38.47ID:???むしろ質問に答えてた人とかは減ってる
0919nobodyさん
2014/02/23(日) 18:12:32.45ID:???0921nobodyさん
2014/02/24(月) 09:01:57.32ID:???0922nobodyさん
2014/02/24(月) 13:11:20.87ID:???0923nobodyさん
2014/02/24(月) 13:43:40.83ID:???0924nobodyさん
2014/02/24(月) 14:15:56.59ID:???Smartyはダメだけど
0926nobodyさん
2014/02/24(月) 14:43:49.14ID:???でも検索エンジンへの対応がだるい
妥協してTwig
0927nobodyさん
2014/02/24(月) 15:28:05.05ID:???表面的にはSmartyとさほど変わらないように見える。
CPUやメモリコストは、Smartyより優れてるみたいだけど。
0928nobodyさん
2014/02/24(月) 16:10:19.13ID:???CPUやメモリコストはSmartyのが優れてるよ
処理も遅くてCで一部書いてるぐらいよ
エスケープや構造等々が優れてるかな
0929nobodyさん
2014/02/24(月) 16:55:37.65ID:???え、そうなの?
古い記事だけど、素のPHPに近いくらい低コストってベンチとって書いてるとこあったけど・・・
Twig使ってないからわからないのかもだけど、
エスケープって甲乙つける程、することあったっけ?
構造がどういうものを指してるのかわからないけど、
公式サイトに少し載ってるコードを見る感じ、
専用のタグがあって、制御構文的なものが使えるよと、
Smartyと比べてそんなにすごいものには見えないんだよなぁ。
概念は同じだけど少し洗練されたSmarty、じゃないの?
0931nobodyさん
2014/02/24(月) 19:31:05.74ID:???0933nobodyさん
2014/02/25(火) 01:19:57.55ID:???0934nobodyさん
2014/02/25(火) 01:23:14.53ID:???0935nobodyさん
2014/02/25(火) 03:06:11.06ID:???0937nobodyさん
2014/02/26(水) 02:32:49.89ID:???public $validate = array(
'test1' => array(
'notEmpty' => array(
'rule' => array('notEmpty'),
'message' => 'validate_error_empty'//�@
)
),
'test2' => array(
'notEmpty' => array(
'rule' => array('notEmpty'),
'message' => 'validate_error_empty'//�A
)
),
);
エラーメッセージの国際化対応をする場合、�@と�Aで異なるpoファイルを
指定することはできるのでしょうか?
やはり動的にvalidateを書き変えないと無理でしょうか?
0938nobodyさん
2014/02/26(水) 09:59:25.64ID:???0939nobodyさん
2014/02/26(水) 10:22:05.34ID:???俺、もうダメポ
0942nobodyさん
2014/02/26(水) 14:12:28.58ID:???0943nobodyさん
2014/02/26(水) 14:25:02.45ID:???Cakeがボトルネックになることが多々あるみたいね
0944nobodyさん
2014/02/26(水) 14:41:16.73ID:???0947nobodyさん
2014/02/26(水) 19:57:37.76ID:???Cakeと他のライブラリ使うってのが、どうも違和感あるんだよな
0948nobodyさん
2014/02/26(水) 20:01:39.90ID:???cakephpはかなり遅いし
0949746
2014/02/26(水) 23:41:41.61ID:D60NlfkYあと、route.php の詳しい書き方が載ってる本もたのむ
0950nobodyさん
2014/02/27(木) 02:13:38.99ID:???web鯖は負荷上がったら増やせばいいと思ってるんだが。
0951nobodyさん
2014/02/27(木) 09:28:40.59ID:T7LVkdm4routesはともかく、ネーミングルールなんか
公式サイト以上の説明しようがない
0952nobodyさん
2014/02/27(木) 15:50:58.08ID:???0953nobodyさん
2014/02/27(木) 19:46:19.11ID:???0955nobodyさん
2014/02/27(木) 20:09:04.31ID:???0956nobodyさん
2014/02/27(木) 20:14:19.11ID:???それなりの規模じゃない?
ここであがってたのはソーシャルゲームとかポータルとか。
web鯖は最初から複数あるか、
そうでなくてもスケールアウトは最初から考慮に入ってるかなと思ったんだが。
0957nobodyさん
2014/02/27(木) 20:20:06.09ID:???0958nobodyさん
2014/02/27(木) 22:35:36.63ID:???さらにコントローラも重いcakeは論外だろな
0959nobodyさん
2014/02/27(木) 22:40:08.45ID:???0960nobodyさん
2014/02/27(木) 23:52:49.24ID:???高負荷な気がするからmod_rewriteが使用禁止だったのか
わからんな。
まあ実際はmod_rewriteが難しくて
サーバーエラー連発でサービス停止しちゃったから
使用禁止ってのがありそうだがw
0961nobodyさん
2014/02/28(金) 00:19:30.70ID:???0962nobodyさん
2014/02/28(金) 00:39:19.75ID:???0963nobodyさん
2014/02/28(金) 01:54:00.82ID:???0964nobodyさん
2014/02/28(金) 02:38:32.60ID:???あたりまえだけど、処理が入る分、負荷は0にならない。
だが、禁止の理由は本当に負荷なのかと。
0965nobodyさん
2014/02/28(金) 06:14:53.29ID:???ボトルネックを気にするほどのウェブサービス
歌丸です
0967nobodyさん
2014/02/28(金) 11:07:12.84ID:???静的ファイルも同じapacheで処理とか間抜けなことやってれば禁止したくなる
0968nobodyさん
2014/03/01(土) 00:15:39.50ID:???0969nobodyさん
2014/03/01(土) 01:05:56.30ID:???0971nobodyさん
2014/03/01(土) 09:33:49.87ID:???0972nobodyさん
2014/03/01(土) 09:45:19.90ID:???0973nobodyさん
2014/03/01(土) 10:16:36.77ID:???0974nobodyさん
2014/03/01(土) 13:15:36.92ID:???なんで、ディレクトリに分けると
.htaccessになるんですか?
.htaccessだと思っちゃったんですか?w
0975nobodyさん
2014/03/01(土) 13:22:36.07ID:???PHP堺で、WSGIの様なものがあまり普及していないのが不思議。
0977nobodyさん
2014/03/01(土) 13:58:30.25ID:???0979nobodyさん
2014/03/01(土) 14:20:32.76ID:???インフラやミドルウェアはほかの人がやってくれるからあんまり詳しくないんだけど、
Apacheは静的ファイルはその容量にかかわらず、一定のメモリを消費するとか聞いたことあるけど、
そういうこと?
0980nobodyさん
2014/03/01(土) 14:24:06.86ID:???アプリ屋がwebサーバの設定なんて触らせてくれない世界だし
気にすることないんじゃないのか
0981nobodyさん
2014/03/01(土) 14:26:17.69ID:???0982nobodyさん
2014/03/01(土) 14:34:44.95ID:???ディレクトリ分けてmod_rewriteの設定をするのですが?w
その時、当然.htaccessなんか使いませんが?w
0986nobodyさん
2014/03/01(土) 16:09:00.07ID:???0989nobodyさん
2014/03/01(土) 16:40:17.32ID:???http://httpd.apache.org/docs/2.4/howto/htaccess.html#when
0990nobodyさん
2014/03/01(土) 16:46:45.91ID:???そういうことでしょ
静的ファイルを返すためだけに
mod_phpやmod_rewriteで肥大化したプロセスを使うってのが問題なのよ
Apacheの問題もあるけどpreforkの問題もある
0991nobodyさん
2014/03/01(土) 16:52:56.57ID:6RJcYqVQhttp://toro.2ch.net/test/read.cgi/tech/1393660194/1
0992nobodyさん
2014/03/01(土) 17:04:01.74ID:???http://kohada.2ch.net/test/read.cgi/php/1393661004/
次スレ建てたからせいぜい議論してくれや
0993nobodyさん
2014/03/01(土) 17:18:57.75ID:???ああそうか。おかげで思い出してきた。
静的ファイルを返すだけでもmod_phpをロードした状態になるから〜
みたいな事をいってた気がするそういえば。
0994nobodyさん
2014/03/01(土) 20:37:18.74ID:???まったくだわ
http://www.appserver.io
これとか性能どんなもんなんだろう
0995nobodyさん
2014/03/02(日) 23:37:10.58ID:???0996nobodyさん
2014/03/03(月) 07:01:39.39ID:???0997nobodyさん
2014/03/03(月) 08:07:24.36ID:???サブリクエストとか余計なことをしなければ処理が速い
mod_rewriteの悪さ
スパゲティになりやすい
リソース消費を増やす
常識だからな、ディレクトリとか的ハズレもいいとこ
0998nobodyさん
2014/03/03(月) 11:15:18.98ID:???0999nobodyさん
2014/03/03(月) 11:51:29.41ID:???ディレクトリはわかりやすいから使うのは良いんじゃないの?
負荷云々の話には意味がないってだけだよね。
1000nobodyさん
2014/03/03(月) 11:52:02.43ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。