[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 02/18 06:00 / Filesize : 225 KB / Number-of Response : 899
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】フレームワーク CakePHP 16ホール目【v2.4】



1 名前:nobodyさん [2013/09/09(月) 01:56:10.19 ID:m9OPw/HT]
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう

※他フレームワークとの比較等はスレ違いです

■本家
www.cakephp.org/
APIドキュメント
api.cakephp.org/
github - cakephp
github.com/cakephp
the Bakery
bakery.cakephp.org/
Issue
cakephp.lighthouseapp.com/dashboard
CheatSheet[1.2] (PDF)
cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf

■日本語公式
cakephp.jp/
フォーラム
cakephp.jp/modules/newbb/
cookbook(マニュアル)
[2.x] book.cakephp.org/2.0/ja/index.html
[1.3] book.cakephp.org/ja

kohada.2ch.net/test/read.cgi/php/1354593996/l50

401 名前:nobodyさん mailto:sage [2013/11/12(火) 02:01:30.93 ID:???]
>>399
formヘルパーは使った方がいいと思うよ。htmlヘルパーは使わない方がいいかもだけど。

402 名前:nobodyさん mailto:sage [2013/11/12(火) 02:22:03.84 ID:???]
同じくFormHelperやHtmlHelper嫌い。
でも、使わないとハマったり困ることあるから、しぶしぶ使ってる。

403 名前:nobodyさん mailto:sage [2013/11/12(火) 08:35:49.27 ID:???]
>>399
JavaにはほぼHTMLをテンプレートに使えるのあるけどPHPは無理だろうな

404 名前:nobodyさん mailto:sage [2013/11/12(火) 09:05:04.81 ID:???]
bakeのビューのテンプレートで、どこかにかっこいいの落ちてたりしないでしょうか
まあデフォルトのでもOKっちゃOKなんだけど

405 名前:nobodyさん [2013/11/12(火) 10:32:08.86 ID:ZxfwGxWG]
>>400
サンクス。
checkboxをcakePHPのヘルパー使って書くとなぜ hidden が生成されるかの理由が分かりました。

406 名前:nobodyさん mailto:sage [2013/11/12(火) 11:37:30.04 ID:???]
>>403
Javaってどれのことだ?

ZPT系を使えば良いだけだと思うんだが

407 名前:nobodyさん mailto:sage [2013/11/12(火) 11:41:20.37 ID:???]
>>399
もはや、デザイナーとの役割分担のラインは変わってるよ
旧態依存の開発やってれば別だろうが

408 名前:nobodyさん mailto:sage [2013/11/12(火) 13:01:19.39 ID:???]
FormHelper はタグのラッピングが頑固なところはあるな。
クラス名とか触れないところ多いし。
妥協すればとても便利なツールではあるんだが。

409 名前:nobodyさん mailto:sage [2013/11/12(火) 13:42:41.13 ID:???]
Cakeのヘルパーみたいなローカルルール、外注のコーダーに教え込んで使わせる気にはとてもならんから
ヘルパー使ったこと無いわ



410 名前:nobodyさん mailto:sage [2013/11/12(火) 16:29:44.75 ID:???]
>>403
まさかMayaaのことじゃないだろうな?

>>404
探せばBootstrapベースのがあるんじゃね。

411 名前:nobodyさん mailto:sage [2013/11/12(火) 17:01:24.88 ID:???]
>>407
同意。CSSですら、Sass使ってプログラム的な管理するからな。
デザイナーはデザインだけやって、
コーディングはコーダーではなく、プログラマがやる時代になるよ

412 名前:nobodyさん [2013/11/12(火) 17:02:26.87 ID:GncxjoFv]
プログラマ=コーダーだろ

413 名前:nobodyさん mailto:sage [2013/11/12(火) 17:14:40.96 ID:???]
>>412
別の意味での旧態依存の世界の話だ

414 名前:nobodyさん mailto:sage [2013/11/12(火) 17:33:48.33 ID:???]
どう考えてもフレームワークいじる奴とビュー作る奴は分担した方がいい

415 名前:nobodyさん [2013/11/12(火) 20:55:59.85 ID:jQBt36at]
システムだと一通り何でも出来るけど
どうもWEBデザインがうまくないと自分でも思う。

どうやったら見栄えの良いサイトが作れるのかな?

先ずは何から勉強すべきですか?

416 名前:nobodyさん mailto:sage [2013/11/12(火) 21:11:38.61 ID:???]
>>415
ttp://getbootstrap.com/2.3.2/getting-started.html

417 名前:nobodyさん mailto:sage [2013/11/12(火) 21:17:21.91 ID:???]
>>415
Bootstrapとかの上からデザインしてくれるデザイナーがいっぱいいるよ

418 名前:nobodyさん [2013/11/12(火) 21:22:11.96 ID:jQBt36at]
>>416 >>417
うーん。いまいちそのサイトのテンプレートもカッコよくないですね。
何かWEBデザイナの作成する様なスタイリッシュなデザインのサイトを自分で作れる様になりたいんですよね。

よく無料テンプレートサイトとかあるでしょ?
あーいうサイト(デザイン)テンプレートを自分で作れる様になりたいのです。

419 名前:nobodyさん mailto:sage [2013/11/12(火) 21:39:26.80 ID:???]
>>418 PHPと全然関係ないけど、平面構成の本とか読んでみるのはどうかしら



420 名前:nobodyさん mailto:sage [2013/11/12(火) 21:48:23.37 ID:???]
bootstrapのステマが酷い
スルー推奨

421 名前:nobodyさん mailto:sage [2013/11/12(火) 22:04:10.58 ID:???]
ほれ bakeの解説

ttp://hijiriworld.com/web/cakephp-bake/

422 名前:nobodyさん mailto:sage [2013/11/12(火) 22:16:50.91 ID:???]
なんかうまく読み込めないな、そのブログ
無駄にJS使うのやめて欲しいなあ、ただのブログのくせに

423 名前:nobodyさん [2013/11/12(火) 22:23:23.76 ID:jQBt36at]
>>419読んでみます。

>>421
ステマ臭いけど確かに見易い解説サイトですね。
自慢したいのかしら。

424 名前:nobodyさん mailto:sage [2013/11/12(火) 22:35:23.88 ID:???]
読んだけど初歩的なことしか書いてなかった
誰でも知ってることを丁寧に解説しても無価値だな

425 名前:nobodyさん mailto:sage [2013/11/12(火) 22:36:21.38 ID:???]
まずは、グリッドデザインを勉強すればいいよ。
それがある程度できれば、崩してかっこいいデザインが出来るようになる。

426 名前:nobodyさん [2013/11/12(火) 23:22:35.94 ID:jQBt36at]
ログインしていないと閲覧出来ないページにおいて
サーバ再度のバリデーションを作らずに
javascriptだけだと不味いですか?

427 名前:nobodyさん [2013/11/12(火) 23:57:17.43 ID:SAG0peet]
ケースバイケース

428 名前:nobodyさん mailto:sage [2013/11/13(水) 00:11:16.12 ID:???]
>>426 >>427
時間が無いので認証必須のページではJavaScriptだけ
実装していますが、セキュリティー的に問題は無いか若干心配しています。

そもそも認証されていないとサーバにどんな値がポストされようが
そもそもリクエストは遮断される筈なので安心

と考えているのですが・・・

429 名前:nobodyさん mailto:sage [2013/11/13(水) 00:21:37.21 ID:???]
時間がないのに2chで質問は出来るんだな



430 名前:nobodyさん mailto:sage [2013/11/13(水) 01:39:40.82 ID:???]
>>407

え? 役割分担が変わったって
まさか君んところはプログラマが大変な方向に変わったの?
大変だねぇ。間違った方向に進んでしまったね。

>>411
> 同意。CSSですら、Sass使ってプログラム的な管理するからな。
Sass使ったからって、プログラム的な管理をしたらダメだよ。

Sassは、文法的にはSCSSを使う。これでCSSと互換。
計算やifやforなどのプログラム的要素は原則として使わない。
今まで使わないでできたんだから、大半は使わないで出来るはず。

SCSSで使っていいのはネストとextendとplaceholder等
計算できるようになった。ifやループが出来るようになった。わーい。
なんて考えなしに使うから、プログラマしか扱えないようになるんだよ。

自分の仕事を大変にするようなことはするなよ。
他人でも出来るようにしておけば、自分が楽になるぞ。

431 名前:nobodyさん mailto:sage [2013/11/13(水) 03:01:46.38 ID:???]
純粋な善意でもステマと言われるこのご時勢
嫌だね〜

432 名前:nobodyさん mailto:sage [2013/11/13(水) 08:46:45.51 ID:???]
役割分担が変わったのは自社サービスやってるとことかだろ
JavaScriptの問題だろ

受託とかのほとんどは役割分担かわってない

433 名前:nobodyさん mailto:sage [2013/11/13(水) 09:09:21.54 ID:???]
JavaScript?

下手なプログラマが作ると、JavaScriptで
cssいじったりするよね。

そういう話だったら、プログラマが馬鹿なだけってことだけど。

普通はJavaScriptでいじるのはCSSクラス名だけで
原則としてCSSはいじらない。

434 名前:nobodyさん mailto:sage [2013/11/13(水) 09:27:26.37 ID:???]
え?普通はJavascriptでCSSのIDもクラスもいじると思うが。
Googleのコーディング規約とか、そう書いてるよ。
どこの原則なのか気になるなー

435 名前:nobodyさん mailto:sage [2013/11/13(水) 09:35:30.68 ID:???]
受託だろ

436 名前:nobodyさん mailto:sage [2013/11/13(水) 09:39:16.24 ID:???]
お金のあるなし関係あるだろな。
デザイナにCSSもHTMLも任せた方が安上がり。

437 名前:nobodyさん mailto:sage [2013/11/13(水) 10:23:29.63 ID:???]
もっと言えば、デザインもプログラムも扱える奴に
一括で任せたほうが安上がり。
CMS程度ならそれほどデザイン力も求められないしな。

438 名前:nobodyさん mailto:sage [2013/11/13(水) 12:38:34.67 ID:???]
>>433はクラスやIDの操作までは問題にしてないと思う
CSSのプロパティの有無や値をJavaScriptで直接いじるのはよろしくないって意味だろ?
見た目とロジックを両方JavaScriptに任せるのはあまり良い設計じゃない

アニメーションなんかはある程度仕方ないけど

439 名前:nobodyさん mailto:sage [2013/11/13(水) 12:57:43.60 ID:???]
>>438
役割分担のJavaScript部分で噛み付いてるから、もろ問題にしてる



440 名前:nobodyさん [2013/11/13(水) 13:27:54.87 ID:1DbvJ5ZT]
>>437
なかなかいない。どちらかよりだろ。

441 名前:nobodyさん mailto:sage [2013/11/13(水) 13:33:26.00 ID:???]
>>440
いると思うけどな。マッチングサイトとかその手の募集ばかりじゃん。
あんなもん、複数人数でやってたらどうやっても赤だよ

442 名前:nobodyさん mailto:sage [2013/11/13(水) 13:39:20.44 ID:???]
>>440
基本プログラムよりだよ。デザインはテンプレ系で済ませて
これ以上のデザインは後からやってくださいってのが多い

デザイナに今求められてるのって、主なテンプレ系で作られたサイトに
CSS被せてデザインする能力

443 名前:nobodyさん mailto:sage [2013/11/13(水) 14:30:30.66 ID:???]
>>433
こないだやった仕事が、まさにそれをやっててイラっとした。
cssファイルを見ても何処にも書いてないスタイルがあっておかしいなと思ったら
$('#hoge').css()で色々設定してあんの。

あとついでに、cssもcssで、

.mB7{
margin-bottom: 7px !important;
}
.mB10{
margin-bottom: 10px !important;
}

みたいなのが、left top right bottom全部に、数px毎の間隔で定義してあって、すごい困った。

444 名前:nobodyさん mailto:sage [2013/11/13(水) 21:38:36.71 ID:???]
>>442
> デザイナに今求められてるのって、主なテンプレ系で作られたサイトに
> CSS被せてデザインする能力

CSS+HTMLだな。
CSSだけで完結することってないし。

当たり前だけど、HTMLとCSSはウェブデザイナーの仕事
Sassももちろんウェブデザイナーの仕事だよ。
あれはCSSの拡張でしかないんだから。
(Sassの動作環境を作るのぐらいは手伝うけど)

そしてこれも当たり前だけど、JavaScriptはプログラマの仕事。
ただし、JavaScriptでデザインを変えてはいけない。
変えるのはクラス名ぐらい。

テンプレートはHTMLがメインなのでウェブデザイナの仕事
テンプレート変数なんかはプログラマが特殊なタグを
置かせてもらってる的な感覚でやるべき。
ウェブデザイナーもバカじゃないので、教えたルールは理解してくれる。

ウェブデザイナーーが手に負えなくなるぐらいコードが含まれるのであれば
それはプログラマのテンプレートの使い方が悪い。

うーん、上で言ったのと同じことを言ってるだけだなw

445 名前:nobodyさん mailto:sage [2013/11/13(水) 21:51:20.71 ID:???]
受託だろ

446 名前:nobodyさん mailto:sage [2013/11/13(水) 21:52:31.94 ID:???]
>>443
>$('#hoge').css()

こうやるとコメントアウトが楽なんです。

って言われて俺もイラっと来た記憶ある

447 名前:nobodyさん mailto:sage [2013/11/13(水) 22:17:37.75 ID:???]
htaccess使えないサーバでもCake2系を使う方法ってありませんか?

448 名前:nobodyさん mailto:sage [2013/11/14(木) 01:37:31.90 ID:???]
あれ?PATH_INFOを使って動かなかったっけ?

449 名前:nobodyさん mailto:sage [2013/11/14(木) 01:57:11.42 ID:???]
bootstrap3ってどう?
ここだとboostcakeか



450 名前:nobodyさん mailto:sage [2013/11/14(木) 02:00:23.48 ID:???]
BoostCakeになってから、Bootstrapベースでのbake機能がなくなったから使ってないなぁ。
Bootstrap3ベースのスケルトンで良いのがあったら使おうかなって思ってるけど、
積極的には探してない。

451 名前:nobodyさん mailto:sage [2013/11/14(木) 02:04:40.49 ID:???]
ありゃ、それはダメだね

452 名前:nobodyさん mailto:sage [2013/11/14(木) 02:53:48.18 ID:???]
bootstrapはセマンティックじゃないから
使う気がしねぇ。
CSSの文化に逆行してる。

453 名前:nobodyさん mailto:sage [2013/11/14(木) 04:30:33.71 ID:???]
cakephp初心者なんですけど、phpの関数ってcakeでも使えますか?
前のページのURLを取得したいんですけど


454 名前:nobodyさん mailto:sage [2013/11/14(木) 05:08:41.87 ID:???]
・・・流石に呆れて閉口だわ

455 名前:nobodyさん mailto:sage [2013/11/14(木) 05:10:58.85 ID:???]
>>453
使えるよ

456 名前:nobodyさん mailto:sage [2013/11/14(木) 11:45:51.79 ID:???]
>>452
そういうのをこだわる人は
Bootstrapで使ってるLessを読み込んで
セマンティックに使うことができますよ

SASSとかでもできるな、変換されたのあるしね

457 名前:nobodyさん mailto:sage [2013/11/14(木) 12:14:49.49 ID:???]
ロマンティック

458 名前:nobodyさん mailto:sage [2013/11/14(木) 14:08:00.47 ID:???]
SASSって言っても、HTMLやCSSはセマンティックになるんだろ?
bootstrap方式だと
<div class="red line box">
みたいな感じだけど、セマンティックなら
<div class="main-box">
みたいにするよな。

459 名前:nobodyさん mailto:sage [2013/11/14(木) 15:30:11.14 ID:???]
>>458
使い方の問題。
ああいう系のCSSそのまま使ったら
どういう作り方、使い方してもセマンティックにならない



460 名前:nobodyさん mailto:sage [2013/11/14(木) 15:32:38.35 ID:???]
semantic-ui.com/

どう思う?

461 名前:nobodyさん mailto:sage [2013/11/14(木) 15:50:12.29 ID:???]
>>460
<main class="ui three column grid">

こういうのがもう嫌気さすわ。CSSの意味があるのかと

462 名前:nobodyさん mailto:sage [2013/11/14(木) 15:56:57.10 ID:???]
>>458
echo '.main-box { .box; .line; .red; }' > less/my-components.less
echo '@import "my-components.less";' >> less/bootstrap.less
grunt

BootstrapもLESSも使ってないからよく分からんがこれでいいだろ
要らんクラスが出来てもいいならだが

463 名前:nobodyさん mailto:sage [2013/11/14(木) 16:15:36.03 ID:???]
>>458
の1行目が理解できないのだが

464 名前:nobodyさん mailto:sage [2013/11/14(木) 17:05:51.55 ID:???]
Bootstrapのスレ荒らしてた奴と
セマンティックって騒いでる奴が同じ奴に思える

465 名前:nobodyさん [2013/11/14(木) 17:18:19.93 ID:UudgqYGt]
初心者なのですが、ログインしたユーザーが登録情報を更新できるようにしたいのですが、users/editにアクセスしたときにログインユーザー以外は弾きたいです。Controllerは
public function edit($id = null) {
$this->User->id = $id;
if (!$this->Auth->user('id') == '$id') {
throw new NotFoundException(__('ユーザー違います'));
}

URLを他のログインしていないユーザーに変えるとそのまま表示されてしまいます。
どうすればログインユーザー自身の情報のみを表示できるのでしょうか?

466 名前:nobodyさん mailto:sage [2013/11/14(木) 17:37:41.41 ID:???]
>>465
cookbookでAuthの説明読めよ
$this->Auth->deny('edit');
を書いて、認証が必要なページを指定すればいいだろ

467 名前:nobodyさん mailto:sage [2013/11/14(木) 23:18:44.29 ID:???]
>>464
俺にはお前が、そのBootsrapのスレで
こてんぱんにやられた奴に見えるよw

468 名前:nobodyさん mailto:sage [2013/11/14(木) 23:28:19.13 ID:???]
>>467
負けてたのおまえのほうじゃん

469 名前:nobodyさん mailto:sage [2013/11/15(金) 00:30:04.73 ID:???]
>>468
いや、俺はそのスレなんか知らんよ。
俺はそのスレを見たことないが、
お前がそのスレにいたことは、お前の発言から確かだろう?
そしてその出来事を今も忘れなれない。
思い出してしまう。君、病気だよ。



470 名前:nobodyさん mailto:sage [2013/11/15(金) 00:33:55.48 ID:???]
そもそも「負けてた」ってのから、何と戦ってるんだって話だがw

471 名前:nobodyさん mailto:sage [2013/11/15(金) 00:44:32.60 ID:???]
俺ROMってたけど
SASSとBootstrapという
場違いの喧嘩を売ってた奴がいたって感じだったな

472 名前:nobodyさん mailto:sage [2013/11/15(金) 01:33:42.42 ID:???]
まぁそんなにセマンティックとかに明るくない俺でも、
Bootstrapは使ってみると、騒がれてるほど洗練されてないなとは思った。

でも楽なんだよねぇ。
とりあえずclass="well"って書けば、無難な枠ができるし。
wellの中にちょっとした欄外のボックスが欲しくなって、
あと2個くらい枠の種類があればなとか思い始めてしまう。

473 名前:nobodyさん mailto:sage [2013/11/15(金) 04:03:21.24 ID:???]
ただ問題は、HTMLが醜くなるのと
メンテナンス性が下がるっってところだよな。

いざデザインを変えようと思うと、
CSS的には、CSSファイルを弄るだけのはずのことなのに、
Bootstrapを使うと全HTMLファイルにわたって
参照箇所を探して個別に修正しないといけない。

これもう普通のCSSの使い方じゃないよ。

474 名前:nobodyさん mailto:sage [2013/11/15(金) 11:12:17.32 ID:???]
Bootstrapとかああいう系がセマンティックなはずがない

475 名前:nobodyさん mailto:sage [2013/11/15(金) 14:16:20.80 ID:???]
>>473
俺もそう思う。やたらOOCSSなんて言われてるから
CSSもオブジェクト指向型に変えないといけないのかと悩んでいるが、
HTMLやCSS両方変更しなきゃいけないってのに違和感あるわ

476 名前:nobodyさん mailto:sage [2013/11/15(金) 14:27:36.43 ID:???]
>>475
Bootstrapをただ使うだけだとOOCSSとは言わんと思うよ。
OOCSSはSASSとかLESSとかあそこらへんで組まないと。

そうするとHTML変更する必要はなくなる。

477 名前:nobodyさん mailto:sage [2013/11/15(金) 14:27:39.11 ID:???]
OOCSSで一番悪なのはextendこれに気づかない奴が多い
extendが入るとOOCSSではなくてOOSSになることに気づかない

478 名前:nobodyさん mailto:sage [2013/11/15(金) 14:36:44.68 ID:???]
>>476
SASSとかLESSって結局は新たなCSSが作成されるわけだろ?
PHPで言えば、includeした後のファイル(HTML)になるというか。

だから、HTML側は
class="well"じゃなくて、class="weel-box"みたいに固有名になると思うんだが。
つまり、Bootstrapみたいな書き方にならないと思うんだが、間違ってる?

479 名前:nobodyさん mailto:sage [2013/11/15(金) 14:42:57.08 ID:???]
>>478
あってるよ。

Bootstrapは今はやってるようなただ使うってこともできるけど、
LESSのライブラリとして利用することもできる。



480 名前:nobodyさん mailto:sage [2013/11/15(金) 15:25:51.04 ID:???]
余所のスレでセマンティックしてくれ

481 名前:nobodyさん mailto:sage [2013/11/15(金) 19:56:55.32 ID:???]
ロマンティックは夜のデートで。

482 名前:nobodyさん mailto:sage [2013/11/15(金) 22:19:35.59 ID:???]
OOCSSをちゃんとやるには、Sassが必須ということ。
Sassを使わないでOOCSSをやろうとするとはメンテナンス性が
悪いものになってしまう。

そもそもSassはオブジェクト指向を取り入れて作ったCSS言語で
OOCSSで言ってることは、Sass利用者は普通にやっている。

で、Bootstrapの一般的なサンプルはSassを使わない
OOCSSになってるからメンテナンス性が悪い。

何がダメかというとclassに割り当てたいスタイルを羅列するやり方。
正しいCSSをメンテナンス性を保ちながら書くにはSassが必須。

まとめると、SassがCSSを超えた言語。これが基本。
OOCSSは考え方であって実態はない。
BootstrapはただのCSSデザイン集。

483 名前:nobodyさん mailto:sage [2013/11/15(金) 22:24:05.29 ID:???]
>>482
Sassはextendsがちまたで問題になってるし好きじゃない

484 名前:nobodyさん mailto:sage [2013/11/15(金) 22:26:24.01 ID:???]
>>482
出たSass信者
盲目って怖いね

485 名前:nobodyさん mailto:sage [2013/11/15(金) 22:30:06.73 ID:???]
>>483
extendsの問題って?Sassには@extendがあるが、
そのほかのextendsの話とごっちゃにしてるでしょ?
それか古いSassでPlaceholderがなかった頃の話をしてるとかだろうね。

>>484
でたSassアンチ
たいていこいつらは、
理由を何も言わないんだ。

486 名前:nobodyさん mailto:sage [2013/11/15(金) 22:33:30.11 ID:???]
しばらくsassのサイト見てなかったけど、
電話のお姉さんどこいった?w

487 名前:nobodyさん mailto:sage [2013/11/15(金) 22:36:21.54 ID:???]
「ある人に魚を一匹与えれば、その人は一日食える。
魚の取り方を教えれば、その人は一生を通して食える。」

という言葉がある。

Bootstrapは誰かが作ったCSS。
Sassは自分でCSSを作るよりよい方法。

488 名前:nobodyさん mailto:sage [2013/11/15(金) 22:58:23.33 ID:???]
>>485
Sassアンチなわけじゃないぞ
SassだけがOOCSSの答えじゃないって意味だ
普段もJS縛りがなければ使ってるし

extendが使えるって主張する人多いけど
書いてるコード量一緒、メンテナンス性一緒
吐かれるCSSが違うだけ

デザイナと仕事するときはLessの方がまだ理解してくれる

489 名前:nobodyさん mailto:sage [2013/11/15(金) 23:03:55.67 ID:???]
CSSの話しはスレ違いだからやめません?



490 名前:nobodyさん mailto:sage [2013/11/16(土) 00:37:07.43 ID:???]
>>488
lessもextend実装されそうな流れみたいだけど?

webtech-walker.com/archive/2012/10/less_extend_experimental.html

extendを使ったほうが自然な場合に
使えばいいだけじゃん。
無理して他のを使う必要はない。

extendが問題になってるって話じゃなかったの?
「extendじゃなくても同じことが出来る」という話は
exntedが問題になってる理由にはならないよ。

491 名前:nobodyさん mailto:sage [2013/11/16(土) 01:39:48.43 ID:???]
>>489
この話やめると過疎るしいいんじゃね。
CakePHPの質問がきたら誰かしら答えてるし。

492 名前:nobodyさん mailto:sage [2013/11/16(土) 03:00:40.54 ID:???]
この話にかぎらず、やめるとかやめないとか
そういうのは勝手にやるから
仕切っても無駄だよ。

493 名前:484 mailto:sage [2013/11/16(土) 07:54:37.23 ID:???]
>>490
他人の発言混ぜないで。

Lessにも実装か、PullRequestが結構昔に投げられてたもんね

494 名前:nobodyさん [2013/11/16(土) 22:07:19.93 ID:Rk/pBkL7]
これまでcakePHPのシェル(Console)実行は、TeraTermでWEBサーバに接続してシェルを実行していたのですが
これだと知識のある人しかできないので、

cakePHPの認証機構で構築されたシステムにログインし
【***処理実行】といったリンクがクリックされるとコマンドラインから実行するのと
同じ事をバックグラウンドでやりたいと考えています。

何か良い方法はありませんか?

495 名前:nobodyさん mailto:sage [2013/11/16(土) 22:23:02.69 ID:???]
テーブルの中に入力項目があり
検索ボタンを押して検索が走る仕組みにしています。

<form name="name_search" action="/hoge/search" method="post">
<table>
<!-- 入力項目〜略〜 -->
</table>
</form>
<input type="button" value="検索する" name="" style="">


どうもPOSTが走ってる気がしないのですが、
コードに間違いは無いでしょうか?

496 名前:nobodyさん mailto:sage [2013/11/16(土) 23:20:57.91 ID:???]
>>494
いい方法かどうかは知らんが、手っ取り早く、exec()とかsystem()すればいいんじゃないの?
ただ、お勧めはしないけど。

シェルでどんなことをしようとしてるのか知らないけど、開発中に使うbakeとかそういうのなら、
知識を付けろって話し。

ってか、そもそも、管理画面からクリックで実行する機能なら、シェルじゃなくて普通に実装したらええやん。
管理画面から実行できる機能が、cronからも実行したいみたいな話なら、まぁありえるし分かるんだけど。
その場合、コントローラーからもシェルからも使える場所にロジックを書けばいい。
そんなに複雑じゃないならモデルにかけるだろうし、無理そうなら普通のクラスで作ってlibにおいて
App::import()すればいいんじゃね。

497 名前:nobodyさん mailto:sage [2013/11/16(土) 23:23:16.88 ID:???]
>>495
CakePHPの前にHTMLから勉強しろw
inputがformの外にあるじゃねーか

498 名前:nobodyさん mailto:sage [2013/11/16(土) 23:29:51.46 ID:???]
www

499 名前:nobodyさん mailto:sage [2013/11/16(土) 23:42:15.65 ID:???]
>>494
現在teraterm でシェルを実行していたのなら
バッチファイルをダブルクリックさせて、
内部でSSHを呼び出してリモートのコマンドを
実行すればいいだけじゃん?



500 名前:nobodyさん mailto:sage [2013/11/16(土) 23:43:19.37 ID:???]
>>495は優秀。
再現可能なコードをちゃんと書いて
質問している。

501 名前:495 mailto:sage [2013/11/17(日) 01:46:08.06 ID:???]
>>497
formの中に入れてもう一度試してみます。


>>500
ありがとうございます。頑張ります。

502 名前:494 mailto:sage [2013/11/17(日) 10:01:58.45 ID:???]
>>496
なぜシェルで作っているかというと cronで回しているからです。
しかし、基本的にはcronでシェルをキックしていますが
特定の条件の時にはユーザが手動でシェルを実行する必要があるのです。

かといって一般ユーザにシェルを実行させるとかも
危険なので、シェルを管理画面上からも実行させたいと思っています。


※結構複雑な処理です。

>>499
そーいう手もありますね。。。
ですが管理画面上から一度に出来ないものかと。。。

503 名前:nobodyさん mailto:sage [2013/11/17(日) 15:42:23.43 ID:???]
>>502
ん?だから
> その場合、コントローラーからもシェルからも使える場所にロジックを書けばいい。
> そんなに複雑じゃないならモデルにかけるだろうし、無理そうなら普通のクラスで作ってlibにおいて
> App::import()すればいいんじゃね。

504 名前:nobodyさん mailto:sage [2013/11/18(月) 12:55:59.49 ID:???]
>>503
サンクス
> その場合、コントローラーからもシェルからも使える場所にロジックを書けばいい。
試してみます。

505 名前:nobodyさん mailto:sage [2013/11/18(月) 15:30:58.69 ID:???]
cakePHP2で検索を行うプログラムを書いています。
検索条件が複数項目あり、複数の組み合わせで指定可能な場合において
ユーザが指定をした検索条件で、conditionに動的に検索条件をバインドする良い方法はありますか?
現在は、毎度ifで分岐してcondtionコードを書いており効率の悪さを痛感しています。

@ユーザIDだけ指定した場合
'user_id' => '333'

AユーザID、年齢を指定した場合
'user_id' => '333',
'age' => '44'

BユーザID、性別を指定した場合
'user_id' => '333',
'sex' => '0'

506 名前:nobodyさん mailto:sage [2013/11/18(月) 17:02:23.94 ID:???]
>>505
サーチプラグイン使えばいいんじゃないの?

507 名前:nobodyさん mailto:sage [2013/11/18(月) 18:19:43.56 ID:???]
>>505
Searchプラグイン使わないとか、罰ゲーム?

508 名前:nobodyさん mailto:sage [2013/11/18(月) 18:53:39.61 ID:???]
>>506 >>507 
cakePHPだけではそういった機能は無いのですね。

Searchプラグインとかちゃんと動作するかちょっと心配だったりします。

509 名前:508 mailto:sage [2013/11/18(月) 18:56:37.22 ID:???]
サーバ変えた時とかめんどくさそうなので地道にif分岐
させてやる事にします。



510 名前:nobodyさん mailto:sage [2013/11/18(月) 19:01:09.34 ID:???]
>>509
意味わからん

511 名前:nobodyさん mailto:sage [2013/11/18(月) 19:07:25.95 ID:???]
>>509
の文章とか普通に分かり易いじゃん。
理解出来ない人って頭大丈夫かな。

512 名前:nobodyさん mailto:sage [2013/11/18(月) 19:14:07.40 ID:???]
いや俺も意味わからんし

513 名前:nobodyさん mailto:sage [2013/11/18(月) 19:14:32.25 ID:???]
>>511
サーバ変えたときに面倒になる実装ってどんなんだ?

514 名前:nobodyさん mailto:sage [2013/11/18(月) 19:16:28.18 ID:???]
サーバー変えたら何が変わるんですかね…

515 名前:nobodyさん mailto:sage [2013/11/18(月) 19:20:29.41 ID:???]
エスパーな511が何を分かったのか気になる

516 名前:nobodyさん mailto:sage [2013/11/18(月) 19:23:26.86 ID:???]
>>513
サーバ変えたらまた search プラグインの設定せねばならん
面倒だーって事でしょ。

それくらい小学生でも分かると思うけど。

517 名前:nobodyさん mailto:sage [2013/11/18(月) 20:09:16.65 ID:???]
>>516
お前だけ噛み合ってないぞw

518 名前:nobodyさん mailto:sage [2013/11/18(月) 22:03:29.92 ID:???]
あえて苦しい道を行くか・・・

519 名前:nobodyさん [2013/11/18(月) 22:41:02.59 ID:HBQEtXMZ]
サーバーごとに設定が必要な Search プラグインっていうのを教えて欲しい。
いや、やっぱりいいや。



520 名前:nobodyさん mailto:sage [2013/11/19(火) 00:24:04.47 ID:???]
cakephpやってりゃサーチプラグインは必須レベルだと思うんだけど。

521 名前:nobodyさん mailto:sage [2013/11/19(火) 00:31:47.95 ID:???]
>>520 が使ってるサーチプラグインてサーバーごとに設定が必要なの?

522 名前:nobodyさん mailto:sage [2013/11/19(火) 01:03:09.36 ID:???]
>>521
必要じゃないね

523 名前:nobodyさん mailto:sage [2013/11/19(火) 05:39:12.52 ID:???]
まあcakeやphpのバージョンがコロコロ変わってそのたびに使えなくなるんだろうなと思うと
プラグインに頼りたくない気持ちはわかる

524 名前:nobodyさん mailto:sage [2013/11/19(火) 10:30:58.16 ID:???]
まぁちゃんと調べて検証してから使ったほうがいいのは確か。
サーチはもう定番だと思うけど、同じCakeDCでもユーザープラグインはクソだし。

525 名前:nobodyさん mailto:sage [2013/11/19(火) 14:07:12.30 ID:???]
サーチプラグインはルーティングしていると困るときあるからな
今までIFでやっているならIFで独自コンポーネントでも作ればいいじゃん

526 名前:nobodyさん mailto:sage [2013/11/20(水) 09:40:20.78 ID:???]
findがネスト配列返してきて衝撃を受けたんだがパフォーマンスの問題なのか?
PHPが配列処理に強いから特性を活かすとかそういう話か?
なにも考えないで使うとコントローラーやヘルパーの肥満化を促進しそう

527 名前:nobodyさん mailto:sage [2013/11/20(水) 11:35:26.62 ID:???]
>PHPが配列処理に強いから特性を活かすとかそういう話か?
そうです

>なにも考えないで使うとコントローラーやヘルパーの肥満化を促進しそう
Hash クラスを使いましょう

Hash のコード見ると、こんなことするぐらいなら
オブジェクトで返しておけよ! と思うがなw

528 名前:nobodyさん mailto:sage [2013/11/20(水) 12:06:21.22 ID:???]
CakePHP3まで耐えるんだ

529 名前:nobodyさん mailto:sage [2013/11/20(水) 12:14:01.60 ID:???]
ただでさえPHPの配列遅いのに



530 名前:nobodyさん [2013/11/20(水) 19:29:25.32 ID:sxeXAx98]
CakePHP:save()を使ってテーブルのレコードをupdateしようとしていたのですが
そもそも、cakePHPの場合には、複数の主キーが設定されている場合には
saveメソッドを使ってupdateは出来ないのでしょうか?


id だけじゃなくて
id と sequence_number の2つが hoge テーブルの主キーの場合とか
って普通にSQL分を投げるしかないですか?

531 名前:nobodyさん mailto:sage [2013/11/20(水) 21:17:34.01 ID:???]
>>530
複合キーは使えないよ

裏技的なプラグインか何かがあった気がするが、失念

532 名前:nobodyさん mailto:sage [2013/11/20(水) 21:19:13.23 ID:???]
×複合キー
○複合主キー

533 名前:nobodyさん mailto:sage [2013/11/22(金) 13:52:04.15 ID:???]
艦これのサーバサイドってCakeだったのね

534 名前:nobodyさん [2013/11/22(金) 14:47:24.43 ID:V2BhDK+1]
>>531
そうなのね。諦めました。

地道にupdate分を投げます。

535 名前:nobodyさん mailto:sage [2013/11/22(金) 15:48:01.98 ID:???]
CakePHPに限らず、大抵のフレームワーク、というかORマッパーは、
複合主キーはサポートしないか、してても無理やり感のあるものだよね。

536 名前:nobodyさん [2013/11/22(金) 15:57:57.23 ID:W1kV2v2N]
なんで複合主キーはダメなのさ。

537 名前:nobodyさん mailto:sage [2013/11/22(金) 17:52:26.73 ID:???]
>>536
嫌なら使うな、というと厳しいが、
fw使うってそんなものだと思う。

538 名前:nobodyさん mailto:sage [2013/11/22(金) 18:01:15.94 ID:???]
>>533
ソースは?

539 名前:nobodyさん [2013/11/22(金) 18:26:27.31 ID:4CXM4jc6]
cake初心者なんですけど、リダイレクトしたらっていう条件式って作れますか?
すべてのページを指定するのは賢くないと思いまして…



540 名前:nobodyさん [2013/11/22(金) 18:40:09.88 ID:UUBP/xq0]
>>537
じゃ、諦めるわ。

541 名前:nobodyさん mailto:sage [2013/11/22(金) 20:34:04.53 ID:???]
複合主キー対応してないのってRailsもどきで対応できてない奴だけじゃない?

542 名前:nobodyさん mailto:sage [2013/11/22(金) 21:35:11.99 ID:???]
複合主キーにする設計自体どうなのかと思わないでもない

543 名前:nobodyさん mailto:sage [2013/11/22(金) 21:44:16.48 ID:???]
>>539
session 使うしか思いつかないが、
やってやれないことは無いと思う。

544 名前:nobodyさん mailto:sage [2013/11/22(金) 23:24:16.29 ID:???]
現在サクラインターネットを使っています。

そしてソースコード一式のバッグアップ処理にTeraTermマクロでログインし
手動で以下の様なコードを実行しています。

tar czvf file_1_2.tar.gz file_1 file_2


しかし、毎度手動でこのコマンドを実行するのは不便なので(かといってcronは使いたくない)
TeraTermマクロから自動でログインと同時に、特定のコマンドを発行する方法とかってありませんか?

545 名前:nobodyさん mailto:sage [2013/11/22(金) 23:27:18.44 ID:???]
Cake関係なさすぎワロタ

546 名前:nobodyさん mailto:sage [2013/11/23(土) 01:58:50.84 ID:???]
>>544
マクロなんか使う必要ない。

SSHの引数にコマンド書けばいいだけ。
ログインのパスワードはカギを使えばいいだけ。

547 名前:nobodyさん mailto:sage [2013/11/23(土) 12:13:55.44 ID:???]
>>546
詳しすぎわろた

548 名前:nobodyさん mailto:sage [2013/11/23(土) 12:27:27.10 ID:???]
あー、そっか、ワンライナーで書けるんだ。

549 名前:nobodyさん mailto:sage [2013/11/26(火) 03:02:20.11 ID:???]
一からサイト作るの好きなんだけど、
作ったサイトを改造するのが苦手なんだよね。

やっぱりみんなもそんな感じ?

人の作ったコードを触るのが先って人もいるのかな。



550 名前:nobodyさん mailto:sage [2013/11/26(火) 03:29:46.00 ID:???]
好きってひとも

551 名前:nobodyさん [2013/11/26(火) 05:56:36.78 ID:2m7znfvZ]
>>549
たぶん全員がそうだろ

552 名前:nobodyさん mailto:sage [2013/11/26(火) 08:59:27.15 ID:???]
まずコードの意図を読むのに時間かかるからね
数カ月前の自分が書いたコードでもたまに分からないし
テストが書いてあったらそれはとっても嬉しいなって

553 名前:nobodyさん mailto:sage [2013/11/26(火) 09:09:47.39 ID:???]
何らかの有名MVCフレームワークを利用したものなら
MVCという大枠とそのFWの規約とドキュメントがあるだけマシ

554 名前:nobodyさん mailto:sage [2013/11/26(火) 09:26:27.15 ID:???]
>>552
おれおれフレームワークなんて、わけがわからないよ。

555 名前:nobodyさん mailto:sage [2013/11/26(火) 11:33:42.73 ID:???]
俺はCake風(ただし1.3)のオレオレ作ってるから、割と理解できるな。
ただし、そこからカスタマイズ依頼とかされたら困るが。

556 名前:nobodyさん mailto:sage [2013/11/26(火) 12:09:28.97 ID:???]
オレオレやってしまうと、せっかくのオープンソースの魅力が半減する。

557 名前:nobodyさん mailto:sage [2013/11/26(火) 17:50:46.60 ID:???]
xampp
Cakephpvar2.3.10
でSmartyの3.1.15導入してみた。
tplファイルがない場合に選択されるctpファイルでの表示がおかしい。
HtmlHelper関連だと思うのだけどどなたか解決方法教えてください

558 名前:nobodyさん mailto:sage [2013/11/26(火) 18:08:22.89 ID:???]
>>553
wordpressのプラグインとか作ってても
ドキュメントに無いソースの奥に眠る関数とか探して調べるのにすごい疲れたわ

559 名前:nobodyさん mailto:sage [2013/11/26(火) 20:04:02.44 ID:???]
(WP早く滅びて)



560 名前:nobodyさん mailto:sage [2013/11/26(火) 20:20:25.47 ID:???]
>>559
わかるわー。
WordPressが無ければどれほどプログラマーが稼げてたか。

561 名前:nobodyさん mailto:sage [2013/11/26(火) 20:29:19.30 ID:???]
せめてまともなプログラマがWordPressを書いていれば…
あんな意味不明なぐちゃぐちゃなコードどうやってメンテしてんだろう

562 名前:nobodyさん mailto:sage [2013/11/26(火) 21:37:55.32 ID:???]
>>561
大成できないタイプだな

563 名前:nobodyさん mailto:sage [2013/11/26(火) 22:03:23.94 ID:???]
WP使えばなんでも安く・早く・簡単に出来ると思い込む奴ってなんなの?

564 名前:nobodyさん mailto:sage [2013/11/26(火) 22:05:01.70 ID:???]
プラグインの多さだけがとりえですしお寿司

565 名前:nobodyさん [2013/11/26(火) 22:30:57.24 ID:nldP7I2h]
wordpress って最高だよね。
無料でここまで何でも出来るCMSとかこのスレの馬鹿グラマには出来ないでしょうね。

566 名前:nobodyさん mailto:sage [2013/11/26(火) 22:48:15.61 ID:???]
お前らがWPに恨みたっぷりなのは分かった
せめてCakePHPで作られたCMSの話を……

567 名前:nobodyさん mailto:sage [2013/11/26(火) 22:50:57.41 ID:???]
>>557
Smartyを破棄する

568 名前:nobodyさん mailto:sage [2013/11/27(水) 00:18:20.01 ID:???]
CakeでもWPでも仕事するしおすし。
CakePHPベースのCMSは、なんかなぁ、
どうせCakeなら自分で好きなようにしたくなっちゃう感じする。

569 名前:nobodyさん [2013/11/27(水) 00:25:51.15 ID:Rk4EDw/d]
wordpress って素敵だなぁー



570 名前:nobodyさん mailto:sage [2013/11/27(水) 01:30:39.60 ID:???]
>>569
ユーザーから見える所はな

571 名前:nobodyさん mailto:sage [2013/11/27(水) 01:57:50.96 ID:???]
ユーザー数が多いからWordPressには安心感があるよ。
どんなにドツボにはまってても、
あぁ、この泥沼に世界中の見知ら人が
何万と埋もれてるんだろうなという
温もりがWordPressにはある。

572 名前:nobodyさん [2013/11/27(水) 03:22:25.52 ID:mdMZh+Ob]
最強に糞だったCMS

Moval Type

573 名前:nobodyさん mailto:sage [2013/11/27(水) 06:23:21.20 ID:???]
>>572
スペリング違うけど、クソなのは同意。2.xに初めて触ったときは感動したけど、4.xで卒業したよ。最近のは知らない

574 名前:nobodyさん mailto:sage [2013/11/27(水) 22:12:09.37 ID:???]
だからさぁ
cakeもプラグインをもっとメジャーにしようよ
wordpress派も流れて来るから

575 名前:nobodyさん mailto:sage [2013/11/28(木) 01:28:07.13 ID:???]
こないこない
wordpressはphpなんて知らない人用のもの

576 名前:nobodyさん mailto:sage [2013/11/28(木) 06:31:59.63 ID:???]
新人研修で、汚いプログラムの例としてWordPressのソース見せてる

577 名前:nobodyさん mailto:sage [2013/11/28(木) 10:50:04.35 ID:???]
うちの研修では、
商業的な成功には理念的な完成度は不要である例として
WordPressを引き合いに出してる。

578 名前:nobodyさん mailto:sage [2013/11/28(木) 11:11:40.35 ID:???]
WordPressって商業的に成功してんの?
無料配布でしょ?

579 名前:nobodyさん mailto:sage [2013/11/28(木) 11:35:10.00 ID:???]
allthingsd.com/20120425/automattic-grows-up-the-company-behind-wordpress-com-shares-revenue-numbers-and-hires-execs/

>>578
かなり儲かってるよ



580 名前:nobodyさん mailto:sage [2013/11/28(木) 11:36:57.69 ID:???]
www.crunchbase.com/person/matt-mullenweg

581 名前:nobodyさん mailto:sage [2013/11/29(金) 02:16:14.63 ID:???]
Fat Controllerはもちろんだめ。
Fat Modelになりすぎてもだめ。
むずかしいよ、最初からそんな見通せないから、ついモデルに書いて太らせてしまって、
行数増えすぎてからうあーってなるよ。
ComponentとBehaviorも、気軽に作ってると数ばっか増えて、煩雑になってくる。
特にComponentが、コントローラーにもモデルにもアクセスできちゃうから、
つい責任持たせすぎになっちゃうよ。

582 名前:nobodyさん mailto:sage [2013/11/29(金) 06:26:18.01 ID:???]
>>581
うあーってなるん?

583 名前:nobodyさん mailto:sage [2013/12/01(日) 15:08:36.60 ID:???]
会社のサイトに簡単なメールフォーム付けようと
久々に素のPHP書いたら、メチャクチャに面倒臭く感じた
でもそれだけにCakeとか使うのもなあ…。

584 名前:nobodyさん mailto:sage [2013/12/01(日) 16:08:25.46 ID:???]
>>583
ちょっと大きめのライブラリを導入した、ぐらいに思っておけば幸せかもよ

585 名前:nobodyさん mailto:sage [2013/12/01(日) 18:00:34.36 ID:???]
>>583
それ単に、メールの仕様が複雑なだけだから。

586 名前:nobodyさん mailto:sage [2013/12/01(日) 21:20:50.87 ID:???]
メールフォーム作るなら既存の小さいライブラリ使いたいな
メール用にはSwiftMailer選ぶんだけどバリデーションの部分はたまに悩む

Symfony2みたいなコンポーネントごとの独立性の高いFW知ってるなら
一部のコンポーネントだけ使えばいいらしいが

587 名前:nobodyさん mailto:sage [2013/12/01(日) 21:35:29.81 ID:???]
Cakeでも頑張ればいけるんじゃね
メール:CakeEmail
バリデーション:Model/Validator
フォーム:Formヘルパー

いや面倒だな`,、('∀`) '`,、

588 名前:nobodyさん mailto:sage [2013/12/01(日) 21:58:22.92 ID:???]
cake関係ないかもしれんけど、フルスクラッチっていうの?サイトのシステムを全部作り直すのってどれくらい経過してからやればいい?

cakephp1のシステムを1年前に作ったんだが2で作り変えるか。。。迷い中。

ヤフーとかグリーとかミクシーみたいなでかい企業はどれくらいの頻度でやってるんだろ?

589 名前:nobodyさん mailto:sage [2013/12/01(日) 22:06:14.84 ID:???]
>>588
そういう企業は複数のシステムを持ってるものだから、一気に全部を作り直したりはしない
少しずつ手を付けていく



590 名前:nobodyさん mailto:sage [2013/12/02(月) 00:36:17.56 ID:???]
お問い合わせフォームのように、一部だけCakeで作ろうとしても
大体は「全体のデザインの中にフォームがある」ってスタイルになるから、
レイアウトやテンプレートをCakeで作らなければいけない。

そうなると、元々ある静的な部分を更新したら当然Cake側も更新しないと
整合性が取れないわけで、手間やコストが2倍に膨らんでしまう。

結局、Cakeやフレームワークを使うなら、全てそれで管理しないといけなくなる。

591 名前:nobodyさん mailto:sage [2013/12/02(月) 09:12:38.83 ID:???]
Cake関係ない話だけど
ちょこっと導入できるような小さなメールフォームのライブラリが、案外ぐぐっただけじゃ見つからなくて
これ以上探す時間が勿体無いから自分で書こうと思った
CAPTCHAのライブラリはすぐ見つかったので、それはさくっと採用したけど

とにかくさっさと動くようにして終わらせたくて、テストも書かずに作ったので
ブラウザでいちいち動作確認して、面倒臭かった

592 名前:nobodyさん mailto:sage [2013/12/02(月) 09:38:56.13 ID:???]
>>587
CakePHPの一部をコンポーネント/ライブラリとして他所で使う例を調べようと思ったが
CakeのControllerのComponentの話とCakeにサードパーティのライブラリを導入する話しか出てこない

593 名前:nobodyさん mailto:sage [2013/12/02(月) 18:03:31.67 ID:???]
上でメールフォームの話題が出てるから試してみたんだけど、

/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]

こんな風にしてexample.com/contact.phpにアクセスしたんだけど、
「Contact.phpController could not be found.」ってエラーが出た。
やっぱ、public_htmlをアプリケーション化しないと無理なのかな?

594 名前:nobodyさん mailto:sage [2013/12/03(火) 00:14:57.84 ID:???]
突っ込みどころ満載すぎてどこから書けばいいのか

595 名前:nobodyさん mailto:sage [2013/12/03(火) 08:50:43.83 ID:???]
>>594
一個ずつ突っ込んでくれ

596 名前:nobodyさん mailto:sage [2013/12/03(火) 09:30:31.38 ID:???]
>>595
漫才みたいになるけどいい?

597 名前:nobodyさん mailto:sage [2013/12/03(火) 13:43:20.44 ID:???]
OK

598 名前:nobodyさん mailto:sage [2013/12/03(火) 14:19:05.43 ID:???]
まず、ファイルとかパスの名前を正しく書け。
全部小文字なわけがない。

599 名前:nobodyさん mailto:sage [2013/12/03(火) 16:50:09.45 ID:???]
>>598
え??



600 名前:nobodyさん mailto:sage [2013/12/03(火) 18:25:14.17 ID:???]
はい、ネタ続けて!

601 名前:nobodyさん mailto:sage [2013/12/04(水) 09:36:02.64 ID:???]
メールフォームだけ作るのって、逆に面倒でもはや他の人に投げたいレベル。
なんか公開されてるのでやろうと思っても、なんか古いCGIを思い出させるのしかないんだよねぇ。
ちょっとバリデーションのところをカスタマイズしたいなと思っても、手を入れにくいし・・・

602 名前:nobodyさん mailto:sage [2013/12/04(水) 09:51:23.15 ID:???]
PHPはいつまでも古い情報が検索の上位に出てくる
たとえ情報が間違っていて時代遅れでも検索上位にあるから初心者に利用されやすい
どんどん変なやり方や糞なプログラムが広がる負の連鎖を断ち切れなくなっている

The Right Wayみたいなベストプラクティスをまとめたサイトが現れるってことは英語圏でも事情は同じってことだな

603 名前:nobodyさん mailto:sage [2013/12/04(水) 09:55:24.07 ID:???]
PHPを書いている人はあまり小さいライブラリを活用しない印象があるなあ
素のPHPかフルスタックフレームワークか完成品かという感じ

604 名前:nobodyさん mailto:sage [2013/12/04(水) 09:57:37.43 ID:???]
どうでもいい雑談になっちゃうけど
htmlspecialchars_decode ってすごい関数名だよなあ
じわじわ笑いがこみ上げてきた、どうしてこうなったんだろ

605 名前:nobodyさん mailto:sage [2013/12/04(水) 10:09:33.35 ID:???]
>>603
メールフォーム程度だと悩む
まともにテストしてあるライブラリを探す手間を惜しんで
自分で全部書いてPHPの謎関数名や謎仕様を再び実感する羽目になる

606 名前:nobodyさん mailto:sage [2013/12/04(水) 10:49:10.54 ID:???]
だいたいメールフォームってPHPを勉強しだした頃に作るからな。
当然、その頃と今ではだいぶ書き方も変わってるわけで、
「昔自分が作ったプログラム」を使いたくないから、1から書きたくなる。

607 名前:nobodyさん mailto:sage [2013/12/04(水) 23:45:10.66 ID:???]
>>604
もともとオブジェクト指向ではなくて
名前空間がなかったから。
名前が被らないようにしようと思えば
どうしても名前は長くなる。

608 名前:nobodyさん mailto:sage [2013/12/04(水) 23:46:52.74 ID:???]
>>605
メール受信じゃなくて送信だろ?
HTMLメールや添付ファイル付きメールを
送ろうとでも思ってるの?

メールフォーム程度なら
文字をエンコードする程度で終わりだろ?

609 名前:nobodyさん mailto:sage [2013/12/05(木) 00:13:14.38 ID:???]
>>608
画像認証



610 名前:nobodyさん mailto:sage [2013/12/05(木) 00:24:35.97 ID:???]
真面目にやるなら外部からの入力は徹底的にチェックするのが基本だよな
GETほど手軽じゃないにせよPOSTのパラメータだってCookieだってリクエストヘッダだって好きにいじれるんだから
自分が書いたHTMLのフォームで設定した以外の値が送られてくる可能性は大いにある

それに一口にメールフォームと言っても入力が名前とコメントだけのものから企業のアンケートフォームまで色々ある
電話番号・郵便番号・メールアドレス・整数……よくある項目に対して毎回1から入力チェックを書く気はしないな
CSRF対策や二重送信防止・画像認証も1から書くのは時間の無駄だし

確かにCakeを持ち出すのは大げさかもしれんが馬鹿が素で書くよりマシじゃね

611 名前:nobodyさん mailto:sage [2013/12/05(木) 00:41:23.84 ID:???]
今どきメールフォームを1から書いて割に合うの?
Webサイト全体をCMSやFWで構築するって話だとフォームは標準装備って感じじゃない?
昔みたいにメールフォーム設置3万円〜とかまかり通らないでしょ?

おしえてぷろのひと

612 名前:nobodyさん mailto:sage [2013/12/05(木) 09:41:31.15 ID:???]
cake2系に対応したbaserCMS3がついにリリースされたそうな
ttp://basercms.net/news/archives/218

613 名前:nobodyさん mailto:sage [2013/12/05(木) 10:21:18.03 ID:???]
で、Cake3のリリースが迫っていると・・・

614 名前:nobodyさん mailto:sage [2013/12/05(木) 10:27:58.21 ID:???]
こないだやっと苦労してCake2にしたばかりなのに、もう3へ以降なんてやらんぞ

615 名前:nobodyさん mailto:sage [2013/12/05(木) 10:38:50.61 ID:???]
>>614
basercmsってcakephpプログラマーからして使いやすいん?
使ったこと一度もないわ。

616 名前:nobodyさん mailto:sage [2013/12/05(木) 10:45:00.73 ID:???]
CMSって言っても特別な機能が入ってるわけじゃないし、
cakeに慣れてる人はcake使うからなw

617 名前:nobodyさん mailto:sage [2013/12/05(木) 12:08:21.04 ID:???]
ようやくCakePHP2になったとはいえ、基本的に古いCakeになるから、
Cakeベースってとこも、最新のが使えないという不便さはあるしなー

618 名前:nobodyさん mailto:sage [2013/12/05(木) 12:23:17.69 ID:???]
今、静的ページと動的(Cakeベース)ページの共存作業をしてるんだが、
レイアウト使わないほうがいいな。
ヘッダー、フッター、サイドバーなんかはelementでまとめて
ピュアPHPのようにHTML上にコード埋め込む形の方が、
デザイナーとの共同作業時に捗るわ

619 名前:nobodyさん mailto:sage [2013/12/05(木) 13:37:55.86 ID:???]
baserCMSは触ってみたけどCakeなだけあってWPよりは断然構造把握しやすかった
カスタムできるお問い合わせフォームがついてるのは嬉しい

ただプラグインもテーマもまだまだ少なすぎる
デフォの機能で間に合うサイトなら使えなくもないかな―



620 名前:nobodyさん mailto:sage [2013/12/06(金) 02:33:30.99 ID:???]
>>618
それで捗る理由がわからん

621 名前:nobodyさん mailto:sage [2013/12/06(金) 09:58:37.69 ID:???]
>>620
レイアウトだとCakeの言語要素が強いから理解するまで難しいけど、、
elementだけなら、includeとかDreaweaverの挿入感覚で使用できるから、
Webデザイナーは一部の修正だけで済み、言語知識を必要としない。
故にWebデザイナーへの説明や、ビューの修正を依頼するときにわかりやすく、
自分の仕事(プログラミング)に専念できるから捗る。

ここまで書く必要ありましたかね・・・

622 名前:nobodyさん mailto:sage [2013/12/06(金) 10:13:37.67 ID:???]
>>621
わかりやすくて良い!

623 名前:nobodyさん mailto:sage [2013/12/06(金) 11:24:56.76 ID:???]
バーチャルホスト設定しているCentOSのサーバでCakePHPの勉強をしたいのですが、

/home/hoge/public_html
/home/fuga/public_html

こんな2つのディレクトリがあった場合、各public_html直下に
Cake本体のディレクトリを配置する感じになるんでしょうか?

624 名前:nobodyさん mailto:sage [2013/12/06(金) 12:02:18.41 ID:???]
>>621
レイアウトもエレメントも同じ仕組みで出来てるし、
その説明読んでも、あえて避ける必要性を感じないなぁ。
自分のアプリの見直してみても、
レイアウトもエレメントもビューも、全部HTMLに多少のifやforeachやヘルパーが入ってるだけで、
レイアウトだけなにか難しいってのは無いように見える。
てか良く考えたら、デザイン側の人にわかんねぇよって言われたこと無かった。

625 名前:nobodyさん mailto:sage [2013/12/06(金) 12:27:57.95 ID:???]
>>623
慣れるまで最初はそれでもいいかもしれんけど
複数のアプリを作ったりしたくて、サーバ丸ごと触れる環境なら
cakephp本体は/usr/local/libとかどこかに1つ置いて
ユーザーディレクトリの中にappの中身を置くようにするのがいいと思う

book.cakephp.org/2.0/en/installation/advanced-installation.html#sharing-cakephp-libraries-with-multiple-applications

626 名前:nobodyさん mailto:sage [2013/12/06(金) 13:57:26.35 ID:???]
>>625
レスありがとうございます。
こういう方法があるんですね。
試してみますー

627 名前:nobodyさん mailto:sage [2013/12/06(金) 19:30:44.10 ID:???]
>>624
「METAタグ挿入したいんだけどどうしたらいい?」
「CSSやJavascriptは?インラインで書きたい時もあるんだけど」
「titleタグもページごとに変更したいんだよね」
「そうそう、パンくずリストはどうするの?」

え〜まだまだ続ける?これら全てCakeの機能で実現できるけど、
Cakeを知らない人は出来ないよね。その前にPHPか。
デザインもプログラムも出来る人なら問題ないかもね。

628 名前:nobodyさん mailto:sage [2013/12/06(金) 19:57:56.87 ID:???]
デザイナにプログラム知識を要求するのは、プログラマの怠慢だと思うな。

629 名前:nobodyさん mailto:sage [2013/12/06(金) 23:30:47.19 ID:???]
プログラムを使ってでしか出来ないものを
やろうとするのが根本的な問題。

だから「お前には無理」で終わればいい。



630 名前:nobodyさん mailto:sage [2013/12/07(土) 02:09:10.25 ID:???]
>>628
プログラマーってのは、デザイナーのために仕事してんじゃねーんだよ。

631 名前:nobodyさん mailto:sage [2013/12/07(土) 03:04:09.81 ID:???]
>>630
それ、逆も言えるよね

632 名前:nobodyさん mailto:sage [2013/12/07(土) 03:05:33.58 ID:???]
仲良くしよう。
できるプログラマーは、デザイナーの事を考えて作る。
できるデザイナーは、プログラマーの事を考えてデザインする。

そう思うんだよね。

633 名前:nobodyさん mailto:sage [2013/12/07(土) 03:16:42.52 ID:???]
どちらも、ユーザーや客やクライアントのことを考えて仕事するべきだろ。
で、自分の領域の仕事をこなす上で必要な知識は身に付けていかないとダメだと思うんよ。

634 名前:nobodyさん mailto:sage [2013/12/07(土) 03:21:24.80 ID:???]
2ちゃんでは正論は伸びない

635 名前:nobodyさん mailto:sage [2013/12/07(土) 07:23:32.80 ID:???]
何の話かよくわからんが
かわいいデザイナーの娘と仕事がしたい

636 名前:nobodyさん mailto:sage [2013/12/07(土) 10:04:31.60 ID:???]
2.3なんだけど、shellのコマンドを実行すると、modelが見つからないとエラーが出ます。
これがいつもじゃなくて、時々起こります。
なんでだろ〜?

637 名前:nobodyさん mailto:sage [2013/12/07(土) 10:09:45.65 ID:???]
CakePHPのビューで読み込むJavaScriptのテストがしたい
ビューのテストはどうやればいいの?調べてもヘルパーのテスト方法しか出て来ない

638 名前:nobodyさん mailto:sage [2013/12/07(土) 10:30:48.05 ID:???]
>>635
まったくだな

639 名前:nobodyさん mailto:sage [2013/12/07(土) 12:21:40.57 ID:???]
なんかデザイナとプログラマを同列に考えてる人多いけど、デザイナのほうが上位だからな。
デザイナー様に無理難題ふっかけるなよ。



640 名前:nobodyさん mailto:sage [2013/12/07(土) 12:30:01.21 ID:???]
>>627
Cakeってそんなに使えないレイアウトのViewしかないんだっけ?

641 名前:nobodyさん mailto:sage [2013/12/07(土) 14:55:19.27 ID:???]
>>635
かわいいけど、HTMLとCSSもおぼつかないイラレ使いのデザイナーとなら、仕事したことある。

642 名前:nobodyさん mailto:sage [2013/12/07(土) 14:58:21.59 ID:???]
>>637
JavaScriptはJavaScriptとしてテストしたらええやん。
画面としてテストしたいならせれにうむを使うやん。

643 名前:nobodyさん mailto:sage [2013/12/07(土) 15:06:54.00 ID:???]
>>642
別にそれでもいいんだけど、テスト用のHTMLやJSはCake内のどこに置くのが定番なん?

644 名前:nobodyさん mailto:sage [2013/12/07(土) 16:41:30.86 ID:???]
>>640
使える・使えないの問題じゃなくて、
Cakeの仕様をデザイナーにも覚えさせるのか?
ってことだと思うが。

645 名前:nobodyさん mailto:sage [2013/12/08(日) 01:28:28.09 ID:???]
【質問】
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

646 名前:nobodyさん mailto:sage [2013/12/08(日) 17:12:58.59 ID:???]
HTTPレスポンスヘッダを持ってるのはCakeResponseな

$this->response->header(); //全取得
$this->response->header('Server'); //Serverの値取得
$this->response->header('Server', 'foo server'); //Server: foo serverをセット

647 名前:nobodyさん mailto:sage [2013/12/08(日) 17:17:32.39 ID:???]
$thisの意味わかってんのか心配になるな・・・いやまさか

648 名前:645 mailto:sage [2013/12/08(日) 20:13:36.09 ID:???]
レスありがとうございます。

>>646
CakeResponseの値を確認する場合は、
テストコード上ではHogeControllerのインスタンスはどのように持たせればよいでしょうか?

$this->testAction( '/hoge.json', $request ); 
$this->Hoge->response->header();

ModelでのテストではClassRegistry等を使ってsetupで
テスト側にインスタンスの持たせるかと思いますが、
Controllerのテストではどのようにインスタンスを持たせるのでしょうか?

649 名前:nobodyさん mailto:sage [2013/12/08(日) 20:20:56.25 ID:???]
>>648
ID出せよ



650 名前:nobodyさん mailto:sage [2013/12/08(日) 22:01:22.39 ID:???]
テストってのはさ、どんなものでもテストしてやるぞ!って
意気込みで望むものではなくてさ、
テストがしにくいものを無くすぞって考えてやるべき。

テストしにくい所のコードをついばんでいって、
テストしやすい形に抜き取っていって、
最終的にどうしてもテストしにくい部分だけ最小限にして残す。

テストしにくいと思ったら、そのままのコードで残したらダメだよ。
そのままのコードでテストするなんて愚の骨頂。

651 名前:nobodyさん mailto:sage [2013/12/08(日) 22:31:39.34 ID:???]
>>650
いい事言ってだんろうけど、わかりにくい。わかりやすくお願いします!

652 名前:nobodyさん mailto:sage [2013/12/08(日) 22:32:26.91 ID:???]
あーわかった。
ようは、テストもできねーようなコード書くなということか。

653 名前:nobodyさん mailto:sage [2013/12/08(日) 22:43:19.55 ID:???]
テストできるぐらいの役割に分割しないとね

654 名前:nobodyさん mailto:sage [2013/12/08(日) 23:02:00.09 ID:???]
テストがしにくいコードってのはあるし、
テストをする意味が無いコードもあるんだよ。

一連の処理の中から冗長なコードを取り除いていくと
最終的にはコードというより定義に近くなる。

PHPのスレだからまあ、WordPressのは例を出すと、
wp_config.php これは一応PHPのコードだろ?
だけどこれをテストする意味が俺にはわからない。

設定ファイルでもない限りここまで定義のみに
できることはないけどそれでもテストする意味あるのか?って
思えるほど減らすことは出来るよ。

テストは後付で加えるものじゃない。
テストが出来るようにコードを書いていくんだ。
テストがしにくいと感じたら、テストを書く技術を磨く前に
テストがしやすいコードを書く開発技術を身につけるんだ。

655 名前:nobodyさん mailto:sage [2013/12/08(日) 23:13:20.11 ID:???]
>>645なんてそういうことだよ。

> 【質問】
> PHPUnitでHttpヘッダーのステータスコードをチェックするテストコードを書きたいが、
> わからない。

> $this->response->statusCode( 400 );
って書けば、当然HTTPヘッダのステータスコードは400だろ?

「400という数値を与えれば、それがHTTPヘッダーになる」というテストは必要だよ?
でもそれはCakePHPが開発元がやってるテスト。
400を与えれば当然HTTPステータスは400だし、404って書いていれば当然404だろ?
これ、ただの定義じゃないか。そんなのテストする意味が無い。

ではなくて、本当にテストするべきなのは400になる原因の方だよ。
なんかのデータを引数にしてなんかの処理をやったらエラーになるんだろ?
それをテストするべき。

そのエラーを最終的に400としてクライアントに伝えるというのはただの定義でしかない。

656 名前:645 mailto:sage [2013/12/08(日) 23:53:33.88 ID:???]
>>655
(釈迦に説法ではありますが)RESTfulな設計思想で、エラーを発生させた場合にはエラーメッセージと共に
200以外のHttpステタースコードを投げるのは、異論はないと思います。

論点としては、「RESTful」な設計だとしても
エラーを発生させるような処理を確認するテストの場合に、
エラー発生を「HTTP status code等」でテスト結果を確認すべきか否か?
というところを言いたいのだと思いますが、、、、ここは議論の余地があるかと思います。

> そのエラーを最終的に400としてクライアントに伝えるというのはただの定義でしかない。
現状、クライアント側の実装でも、
「ステータスコードを見て処理を振り分ける」処理があるため、
テストをやっておいた方がいいのではないかと思った次第です。

>>648 についてですが、
testActionなどの後では、$this->controller でインスタンスに
触れるようですが、、、 responseの内容は相変わらず取得できません。

657 名前:nobodyさん mailto:sage [2013/12/09(月) 00:29:29.65 ID:???]
>>656
やらないよりはやったほうがいいけど、意味が少ないというだけ。
そして、費用対効果まで考えるとそこまでやる意味ないんじゃないってこと。

なぜなら400を返すまでのコードが正しければ絶対400返るでしょ?一回確認すれば十分じゃない?
その400を返すコードは400を返すという仕様そのものが変わらない限りもう変えることはないでしょ?
それよりも複雑なのは400を返すまでの仮定であってその仮定が正しければ400返すでしょ?

そういう難しくもなく安定したコードのために、どうやってテストをすればー
なんて言うのなら、やっても時間がかかるだけで効果が無いと思うよ。

> 現状、クライアント側の実装でも、
> 「ステータスコードを見て処理を振り分ける」処理があるため、
もしかしてサーバーとクライアント一緒にしてテストしてない?
サーバー側の実装がどうであれ、400が返って来た場合のテストをすればいい。
だから400を返すだけのアプリ(モック)を使えばいい。
もっと言えば、クライアントだけで400が返って来たかのようにエミュレートさせれば
クライアントだけでテストできる。

どんなものでもテストしてやるぞ。ではなくアプリに手を加えてテストが簡単にできる
ようにするというのはこういう話。

658 名前:645 mailto:sage [2013/12/09(月) 01:07:18.47 ID:???]
>>657
引き続き、お付き合いいただきありがとうございます。
全体的なテストの思想、手法のお話しについては概ね同意いたします。
(クライアント側はSinon等を使っており、おっしゃるようなテストを書いております)

ご教示いただいている、お話しについては
「○○のようなテストはやるべきか、やらないべきか?」という形に収束しつつありますので、
スレに添う、単純なCakePHPの
「○○の実装の方法は?」というような部分について引き続き、お知恵をお借りできれば幸いです。

659 名前:nobodyさん mailto:sage [2013/12/09(月) 01:10:16.11 ID:???]
>>658
無駄な努力を頑張れやw



660 名前:nobodyさん mailto:sage [2013/12/09(月) 01:43:48.55 ID:???]
api.cakephp.org/2.3/source-class-ControllerTestCase.html#195-287
わざわざ$this->headersに入れてるし、普通ならちゃんと入ってるものっぽい気がする。
でも入ってないって言うなら、testAction()からvar_dump()仕込んでって追いかけるしかないんじゃね?

661 名前:645 mailto:sage [2013/12/09(月) 01:53:31.21 ID:???]
自己解決しました。
ありがとうございました。

先の例では、
$this->testActionのあとに
$this->assertEqual( 400, $this->controller->response->statusCode() );
$this->assertEqual( "something", $this->controller->response->body() );
$this->assertEqual( "json" $this->controller->response->type() );
のような形で対応できました。

お騒がせしてすみません。

662 名前:645 mailto:sage [2013/12/09(月) 01:55:29.19 ID:???]
>>660

こちらの例では。
$this->headersはarray()になっており、
$this->controller->header() はNULLになっていました。

663 名前:nobodyさん mailto:sage [2013/12/09(月) 11:11:00.28 ID:???]
>>662
$this->controller->header() なんてのCakePHPに無いぞ?
そのリンク先にもそんなコードはないし、そもそもCakePHP本体のコードだし・・・

664 名前:nobodyさん mailto:sage [2013/12/09(月) 11:48:24.86 ID:???]
クラス名も書かず$this $thisって・・・メソッドで判断できるからまあいいけど
問題にしてるクラスが何かってことくらい明確に書いたほうが回答者が質問の意図わかりやすいと思うの

あとRESTfulかどうかってステータスコードの扱いと何か直接的な関係あるの?
ステータスコードを適切に設計するのはREST以前の問題でしょうに

665 名前:nobodyさん mailto:sage [2013/12/09(月) 12:09:57.41 ID:???]
チラ見しただけだけど
確かに>>660の言うとおりControllerTestCaseクラスの_testActionメソッドを見る限りは
ちゃんと$headersプロパティにレスポンスヘッダの情報が入るようにみえるね

その前の条件分岐によっては入らないケースがあるのかな?

666 名前:nobodyさん mailto:sage [2013/12/10(火) 18:08:28.36 ID:???]
PDOでCake風に使えるライブラリを書こうとしたけど、面倒で止めた

667 名前:nobodyさん mailto:sage [2013/12/10(火) 18:16:34.35 ID:???]
>>666
cakeを使おうと思わないのは何故なんだろう?

668 名前:nobodyさん mailto:sage [2013/12/10(火) 21:50:48.63 ID:???]
>>667
Cakeだと規模が大きくなりすぎるし、ファイル数も多い。
それに既に運用しているサイトだと、
Cake使わないほうが静的ファイルとの共存がしやすい。

669 名前:nobodyさん mailto:sage [2013/12/10(火) 22:48:38.38 ID:???]
俺、人の作ったcakephpとか触ったことないんだけど、みんなは、DB設計とかめちゃくちゃでも我慢してその上からコードを編集するの?



670 名前:nobodyさん mailto:sage [2013/12/11(水) 00:30:44.85 ID:???]
DB設計?モデルのことか?
プラグインなんか使う時は自分のやり方と違うから戸惑うけど、
気にせずに編集していくな。

671 名前:nobodyさん mailto:sage [2013/12/11(水) 10:49:31.96 ID:???]
引き継ぎ案件の話なんか?

672 名前:nobodyさん mailto:sage [2013/12/11(水) 16:23:21.68 ID:???]
DBの命名規則がよくわかりません。
例えばユーザテーブルを「users」という名前でつけたとして、
ユーザが所持しているアイテムを管理するテーブルを作りたいとします。
そういう場合は

user_items
users_items

どっちの名前が適切なんでしょうか?

673 名前:nobodyさん mailto:sage [2013/12/11(水) 16:53:19.79 ID:???]
>>672
ただの items

でitemsテーブルの中にuser_id

674 名前:nobodyさん mailto:sage [2013/12/11(水) 17:43:03.38 ID:???]
>>673
なるほど。
関連するテーブル名を連結させる必要はないんですね。
ありがとうございました。

675 名前:nobodyさん mailto:sage [2013/12/11(水) 19:34:39.55 ID:???]
接頭辞として使う場合もあるよ。
その際は、user_itemsが正しい名前になる。

676 名前:nobodyさん mailto:sage [2013/12/11(水) 20:01:39.21 ID:???]
>>671
引き継ぎ案件。
自分で昔作ったサイトとかもリニューアルする時、DBが複雑になってる時があって構造を直すんだけど相当手間だし、バグの原因になる。

こういう場合はみんなは
そのまま使うか、構造を変えるかどっち?

677 名前:nobodyさん mailto:sage [2013/12/11(水) 20:35:59.75 ID:???]
引き継ぎで、その後のメンテナンスの必要性が明確じゃない時は
なるべくそのままにしておく。

長期間の保守契約も含めた場合は話は別。

自分のサイトなら極限まで自分の好きにする。
じゃなきゃ自分でやる意味なくない?

678 名前:nobodyさん mailto:sage [2013/12/11(水) 21:44:14.31 ID:???]
>>677
ありがとう!

679 名前:nobodyさん mailto:sage [2013/12/11(水) 23:56:50.75 ID:???]
どういたしまして



680 名前:nobodyさん mailto:sage [2013/12/12(木) 01:28:30.30 ID:???]
>>679
誰だよお前w

681 名前:nobodyさん mailto:sage [2013/12/12(木) 01:30:43.56 ID:???]
>>680
俺だよ! 誰なのかあててみ!

682 名前:nobodyさん mailto:sage [2013/12/12(木) 03:41:11.74 ID:???]
>>681
俺かよ!マジかよ!ざけんなよ!

683 名前:nobodyさん mailto:sage [2013/12/12(木) 04:05:39.56 ID:???]
いや、ここは俺が。

684 名前:nobodyさん mailto:sage [2013/12/12(木) 05:30:01.88 ID:???]
ようじょ、ようじょ

685 名前:nobodyさん [2013/12/12(木) 11:49:32.21 ID:G/DBAFTk]
cakephp1.3で$this->Auth->user()でもってこれる情報って
1つか、もしくは全部?
idとusernameの二つの値を持ってきたいのですが、
どなたかご存知の方いたらお願い致します。

686 名前:nobodyさん mailto:sage [2013/12/12(木) 11:59:53.86 ID:???]
>>685
1レコードそのまま取れなかったっけ?

687 名前:nobodyさん mailto:sage [2013/12/14(土) 00:57:14.30 ID:???]
cakephp1を、そのままcakephp2にしてくれと言ったら、いくら取る?
俺なら最低20万円。

688 名前:nobodyさん mailto:sage [2013/12/14(土) 02:23:18.09 ID:???]
20万〜2000万ぐらいだな。

689 名前:nobodyさん mailto:sage [2013/12/14(土) 02:25:37.01 ID:???]
>>687
まぁ規模によるよね。



690 名前:nobodyさん mailto:sage [2013/12/14(土) 02:40:33.10 ID:???]
俺も今 php4 + CakePHP1.1 で稼働しているサイトを php5.4(以上)のサーバーで
稼働できるように頼まれるかもしれない。

工数が全く見えないんだけどどうやって見積もり取ればいいんだろう。

691 名前:nobodyさん mailto:sage [2013/12/14(土) 02:41:06.36 ID:???]
規模もだけど現在のコードによる。

cakephp2を考慮して正しく書かれたコードと
全く考慮しない上に、間違った使い方ばかりした
汚いコードでは100倍ぐらい差がでても不思議ではない。

692 名前:nobodyさん mailto:sage [2013/12/14(土) 02:44:20.85 ID:???]
>>690
移行ではなく、全部最初から作り直しの工数を見積もればいいよ。

仕様を0から考える時間 or 現在のシステムを理解するのにかかる時間
 +
0から開発した時の時間。

決して、今あるコードを再利用できるから
開発時間が短縮できると思ってはいけない。

再利用できるように使えるように作られたコードであれば再利用できるが、
使えるかもしれないというコードは、基本的に使えない。

693 名前:nobodyさん mailto:sage [2013/12/14(土) 03:06:53.02 ID:???]
問題は、自分が過去に作った場合だな。
蔵からしたら「お前が作ったものを新しくするだけだろ?」
ってなもんで、予算をとってもらえないことが多い。

だったら諦めろって話だが、そこで終わると仕事に繋がらないわけで、
結局は安く請け負ってしまうんだよな

694 名前:nobodyさん mailto:sage [2013/12/14(土) 03:30:14.45 ID:???]
>>691-693
おぉ、色々ありがとう!
参考にさせてもらう。

これ、たぶん、断るわw

695 名前:nobodyさん mailto:sage [2013/12/14(土) 10:36:42.60 ID:???]
>>693
そういう理解の客って、そもそもCakePHPを新しくするって発想すら出てこないんじゃないの?
目の前には動いてるプロダクトがあるわけで、やって欲しいのは機能の追加とかであって、
機能は増えないし変わらないけど、CakePHP2にするってことじゃないと思うんだが。
逆にCakePHP2にする事の意義を知ってる客なら、
それが簡単じゃない事も知ってるはずだと思った。

696 名前:nobodyさん mailto:sage [2013/12/14(土) 17:19:20.55 ID:???]
>>695
「もっと動作を早くしてほしい」とか「サーバを変えたい」って場合がある。
または、自分がCake2用の開発に切り替えてて、
ライブラリもCake2用に作っている・使用している場合とか。

つまり、「現状より良くしたい」という要求に対して
「開発方法を変えないと出来ません」
ってなったら客も怒るだろ?こっちの事情はともかくとして。

ずっと1.3系&PHP4系を使い続けるならともかく、
技術の進化と客の要求に対応するなら、
どこかで折り合いをつけなければいけない。

697 名前:nobodyさん mailto:sage [2013/12/14(土) 22:46:14.15 ID:???]
古いとセキュリティがどうのこうの…とか言ってみれば

698 名前:nobodyさん mailto:sage [2013/12/15(日) 00:01:11.18 ID:???]
cakeの1系->2系なんてほとんど互換性ないだろ。
バージョンアップのメリットないから。

699 名前:nobodyさん mailto:sage [2013/12/15(日) 01:04:45.89 ID:???]
>>696
開発方法を変えるなんて言う必要ないよ。
勝手に変えればいい。
どうせ客に言っても理解できない。



700 名前:nobodyさん mailto:sage [2013/12/15(日) 01:12:59.53 ID:???]
>>696
> 技術の進化と客の要求に対応するなら、
> どこかで折り合いをつけなければいけない。

なんか他人のせいにしているように聞こえるけど、
それ、技術力がないからだから。

君に足りない技術はね。今のコードを
新しいコードへ連続的に変化させていく技術だよ。
どうせ、今のを捨てて書きなおすことしか思いつかないんでしょ?

この変化させていく技術力があれば、1系でも2系でも動くコードがかける
PHP4系でもPHP5系でも動くコードがかける。
動かないコードを動くように変えることが出来る。
古いコードを新しいコードから利用できるように出来る。
新しいコードを古いコードから利用できるように出来る。

今の君は、このようなことをするのに何が必要かわからず
またわかったとしてもそれを実現するだけの力がない。
ゴールを見据えてそこまで至るルートを見つける力がない。
ルートがわからないからいつまでたってもゴールに辿りつけない。

701 名前:nobodyさん mailto:sage [2013/12/15(日) 01:13:50.99 ID:???]
>>699
その勝手に変える作業に金出してもらえないって話じゃないか?

702 名前:nobodyさん mailto:sage [2013/12/15(日) 01:15:42.18 ID:???]
>>701
そんなもん、普段の開発費に含めればいいじゃないか。

703 名前:nobodyさん mailto:sage [2013/12/15(日) 01:22:24.83 ID:???]
>>700
君の非難はちょっと違うと思うんだよ。
俺がオレオレフレームワークなり、ライブラリを作った上で
「PHPのバージョンが変わったら全て書き換えないといけない」
的な事を言い出すなら、「技術がないだけ」って切り捨てるのもわかる。

でも、CakePHPというフレームワークでの話だろ?
Cakeが1.3→2に変わっても、君の言うようにどのバージョンでも
動けるコードになっているかな?なっていないよね。

もちろん、「CakePHP選んだお前が悪い」っ
てのなら自身の選択ミスだ。俺が悪い。
だが、俺の言う「折り合いをつける」ってのは、
「なんだかんだ言われてもやる」なんだけどな。
>>693の書き込み見てくれればわかると思うが。

704 名前:nobodyさん mailto:sage [2013/12/15(日) 01:34:39.31 ID:???]
>>703
やっぱり技術力がないだけ。

CakePHPを選ぶのが間違いとかそういう話ではない。
何を選ぼうが未来がどうなるかはわからない。
安全な未来を選ぶ力が重要なのではなく、
どんな未来が来ても、そこに至るルートを見つける力が重要。

まず、フレームワークは使うが
本質的なコード=重要なコード=大部分のコード
というのはフレームワークに依存しないように作る。
(作れるのが技術力)

フレームワークにべったりくっついた設計にするのではなく

フレームワーク ⇔ 薄い中間層 ⇔ 大部分のコード
こういう設計にしておく。フレームワークは変わるのは
当たり前の話なんだから、最初からそうすべきと判断する
(これも技術力)

> Cakeが1.3→2に変わっても、君の言うようにどのバージョンでも
> 動けるコードになっているかな?なっていないよね。
フレームワークに依存しまくるから、動かないコードが”大量に"できる。

フレームワークに依存しない部分を大量にして、依存している部分を
最小限にしておけば、動かないコードを最小限の力で移行させられる。

CakePHP1.3の時代に、まだ見ぬ2に対応することは不可能だが、
CakePHP1.3の時代でも、フレームワークが無いとみなして作るのは可能だ。

705 名前:nobodyさん mailto:sage [2013/12/15(日) 01:43:20.20 ID:???]
フレームワーク等、バージョンが違ったとき
互換性が100%でないのは知っているし100%の互換性はないのが普通。

book.cakephp.org/2.0/ja/appendices/2-0-migration-guide.html
> 2.0 移行ガイド
> このページはプロジェクトを2.0に移行する手助けをする、
> CakePHP 1.3からの変更点の要約をします。 またこれは、コアへの
> CakePHP 1.3ブランチからの変更点への最新の開発者リファレンスともなります。
> 必ずこのガイドにある新機能とAPIの変更の全てのページを読んでください。

こういうのもある。たいていの有名どころであれば移行する手段は用意されている。
これを読めば、何が良くて何がダメでダメなものはどう対処すればいいかわかるはず。

こういうのを読んで、移行できない問題点を見つけて、すぐに諦めてるでしょ?

移行っていうのは、自分の作ったシステムのフレームワークを入れ替えて
そのままじゃ動かない。あーだめでした。もうお手上げだー。
移行できない。いつまで延命できるかなー。ってこういうものではない。

移行できないものをどうやれば移行できる形にできるか見つけて、
直して、必要ならば新旧両対応できる書き方に書き換えながら、
移行できない問題点を潰していくのが本当の移行の仕方だ。

これが技術力なんだよ。

706 名前:nobodyさん mailto:sage [2013/12/15(日) 01:47:21.85 ID:???]
>>704
君の非難を素直に受けるし、技術が無いのも確かだろう。
でも、怒りの矛先を向けるのは俺じゃないと思うんだが。

君は技術ありきで話をしているけど、話の最初は>>687だよ?
君が作った素晴らしいコードなら、1.3だろうと2だろうと3だろうと
チョチョイのチョイでバージョンアップできるから、困らないかもしれないね。

だから、バージョンアッップ後の更新作業をしてもお金取ろうとしないのかもね。
でも、そういう考えならやっぱり俺が提示する
「技術の進化と客の要求に対応して折り合いをつける」
ってな事にならないかな?

そもそもスレの流れをちゃんと見てるか?
ちゃんと見ないのに非難する人間って技術力高いのかなぁ。

707 名前:nobodyさん mailto:sage [2013/12/15(日) 01:51:11.60 ID:???]
>>706
> 君が作った素晴らしいコードなら、1.3だろうと2だろうと3だろうと
> チョチョイのチョイでバージョンアップできるから、困らないかもしれないね。

それは大きな勘違い。

未来なんてわからないし、最初は技術力低いのが当たり前
フレームワークなんて難しい物を、最初から完璧に使いこなすことなんて不可能。
最初から素晴らしいコードなんてかけるわけがない。

じゃあどうするか。
それが連続的に変化させていく技術力だよ。

高い開発技術ではなく
汚いコード(古いコード)から、綺麗なコード(新しいコード)へ
変化させていく技術力。

それが圧倒的に足りない。

708 名前:nobodyさん mailto:sage [2013/12/15(日) 01:52:59.47 ID:???]
具体的にどんなコード書いてるんだかw
全部ラップしてるんでしょ?オーバーヘッドえらいことになるやん

709 名前:nobodyさん mailto:sage [2013/12/15(日) 01:55:27.23 ID:???]
>>707
だったら、それを俺じゃなくて
「Cakeのバージョン変えたいけど、お金もほしい」
って奴に言ってくれよ。

俺はどちらかというと、あんたみたいな考え方だよ。
向上心もなく、単に金がほしいなら
「技術の進化と客の要求に対応して折り合いをつける」
ってな言い方はしないだろ?

どこがあんたの気に触ったのかしらないけど、
頼むからスレの流れを読んで非難してくれ。技術云々を語る前にな。



710 名前:nobodyさん mailto:sage [2013/12/15(日) 02:20:52.91 ID:???]
普通に考えて、必要なのは技術力でなく交渉力だと思うんだな。

711 名前:nobodyさん mailto:sage [2013/12/15(日) 03:25:11.57 ID:???]
金出せよ(直球

712 名前:nobodyさん mailto:sage [2013/12/15(日) 07:14:03.45 ID:???]
>>696
なんか俺へのレスから長々と続いてるみたいだけど、それは置いといて。

もっと動作を早くするとか、別のサーバーにのせるために、
CakePHP1から2にする必要があるなら、
それは客が負担するコストじゃね?
実際CakePHP2は1より早くなってるし、キャッシュエンジン使うとかリバースプロキシの導入とか、
他の手も考えてみて、CakePHP2化が有効なら、
後は普通に見積もって提案するのがいいと思った。

機能追加のために、CakePHP2用のライブラリが使えないことに関しても、
CakePHP2化してあれば、機能追加時に使えるライブラリの選択肢が増えて、
機能追加の見積もりが安くなるかもしれないから、コストかけてCakePHP2化しませんか?
って話にならんかね。
それで、CakePHP1のままって言われたら、機能追加は相対的に高めの見積もりになり続ける、と。
まぁCakePHP1で保守開発するのは、高めにもらってもあまりやりたくは無いけど。

713 名前:nobodyさん mailto:sage [2013/12/15(日) 13:49:38.36 ID:???]
全部ラップするくらいならオレオレフレームワーク作れよと。
フレームワークの上にフレームワーク乗っけてるようなもんだから
何がやりたいのかわけわからんわ。
どんなにラップしようがcakephpのバージョン上がったら
それに合わせて書き換えないと動かないんだから
それならはじめからラップなんてしなくていいのよ。
ビジネスロジックだけ分けておくとかならともかく。
ばかばかしいわ

714 名前:nobodyさん mailto:sage [2013/12/15(日) 15:02:58.71 ID:???]
>>713
御意。

715 名前:nobodyさん mailto:sage [2013/12/15(日) 21:35:08.31 ID:???]
>>713
> 全部ラップするくらいなら

誰がそんなこと言ってんの?

716 名前:nobodyさん mailto:sage [2013/12/15(日) 21:36:55.56 ID:???]
あぁ、こいつか。>>708

> 全部ラップしてるんでしょ?オーバーヘッドえらいことになるやん

いきなり的はずれなこと言い出したのはこいつだな。
こいつ以前にはラップという話は出てきていない。

なんでラップなんかするんだか。

717 名前:nobodyさん mailto:sage [2013/12/16(月) 13:36:53.84 ID:???]
上の方で、バージョンの差異を吸収出来る様に云々って言葉が出てきたから、
ラップって言ったんじゃない?

なんか言っている事はすごく正論なんだが、金という最も大事な項目を考えないで議論している人がいる気がする。
現実と理想とで議論しても何時までもかみ合わないというか。

718 名前:nobodyさん mailto:sage [2013/12/16(月) 17:10:04.70 ID:???]
>>712
みんな名無しなので話がややこしくなるが、
俺は>>693、696を書き、なぜか煽ってきた>>700
「他人(客)のせいにするのではなく、自身の技術の無さを問題視しろ!」
と言ってるわけだ。

だが、俺はそもそも技術云々なんて論じてないし、
出来ない(やらない)とも書いてない。

俺の意見としては>>696に書いたとおり、
「客がバージョンアップを希望する場合もあるし、
 だからといってその分のコストを請求し、納得させるのも難しいから、
 どこかで折り合いを付けなければいけないね」
と言った、中立的な発言をしたわけだ。

開発者としてはバージョンアップでもお金欲しいけど、
客は見た目変わらないからお金を出しづらいね、みたいな。

なのに、なぜか「技術が無いから対応できないんだ!}みたいな非難をされている。
きっとレスの流れを見ずに一部だけを切り取って腹が立ったのだろうけど、
未だに俺のレスの何が癇に障ったのかはわからない。

719 名前:nobodyさん mailto:sage [2013/12/16(月) 18:01:53.46 ID:???]
>>718
お金を出さない客のためになぜ働くんだろうか?



720 名前:nobodyさん mailto:sage [2013/12/16(月) 22:23:01.69 ID:???]
>>719
俺が1.3→2.2にした時は、
フレームワークのバージョンアップとは言わずに、
他の機能を追加する面目で対応したよ。
1.3のままだと不都合を感じたし、蔵も新機能が欲しかったからね。

だけど、バージョンアップだけで見積請求してもいいと思うし、
それに苦言を呈してくる客に対してメリットを感じなければ、
付き合いを止めればいい。それだけの話だよ。
どっちの言い分も考えた上で発言しているだけだから。

721 名前:nobodyさん mailto:sage [2013/12/17(火) 01:14:36.31 ID:???]
>>720
> 他の機能を追加する面目で対応したよ
それが普通

で、そういうことができないって言ってるんでしょ?
自分の書いたコードが1.3にがっつり依存してしまって
全部書き直しぐらいな、そうとう大変なことになってしまってるから。

だからフレームワークを使うのはいいが、
依存しまくらないようにしろという話。
それが出来ない奴は技術力無いってことよ。

そういったらなぜか全部ラップするとか言う
斜め上の対応策が出てきてワロタ。
そうか、技術力低いと、そういう間違った対応をするのか。

722 名前:nobodyさん mailto:sage [2013/12/17(火) 01:16:55.25 ID:???]
>>718
> なのに、なぜか「技術が無いから対応できないんだ!}みたいな非難をされている。

違う違う。「技術がないから金がかかるんだ」って非難してる。
CakePHPの1系から2系へのバージョンアップなんて
>>720みたいに、他の機能を追加する名目で対応しろよ。

723 名前:nobodyさん mailto:sage [2013/12/17(火) 04:19:56.51 ID:???]
>>722
どのくらい大変かは、アプリのボリュームにもよるだろうなぁ。
コンポーネントやビヘイビアをちゃんと書いて、DRYに作っていれば、
移行系は手を入れる必要がある箇所が少なくなって楽になるとは思うけど、
影響がある化も知れないアクションは全てだから、
ボリュームが大きいと、動作確認だけで大変になる。
テストを書いてたとしても、フロントの振舞いこみで確認しないと、
もしエンバグしたら事だからなぁ。
あと確か、1系から2系で、テストフレームワークが変更になった気がするし。

フレームワークのバージョンの移行なんて、ボタンひとつで出来るわけじゃないし、
時間を使う以上金はかかるよ。お仕事だもの。
単純に移行だけで、機能も増えないし見た目も変わらないとなると、
無知な客からすると、どんな見積もりを出しても高く見えるだろうけどね。
でも、無知な客はむしろよりコストを負担して欲しいわ。

724 名前:nobodyさん mailto:sage [2013/12/17(火) 11:07:41.43 ID:???]
誰が誰だかよくわからなくなってるなw

725 名前:nobodyさん mailto:sage [2013/12/17(火) 11:10:20.38 ID:???]
>>721
>で、そういうことができないって言ってるんでしょ?
「それが普通」って認めてるのに、出来ないって言ってるとは??

>>722
718=720なわけだが。レスの感じでわかると思ったけど。

726 名前:nobodyさん mailto:sage [2013/12/17(火) 20:14:25.92 ID:???]
結論、世の中、金。

727 名前:nobodyさん mailto:sage [2013/12/18(水) 02:28:32.22 ID:???]
かねくれかね

728 名前:nobodyさん mailto:sage [2013/12/18(水) 08:28:28.95 ID:???]
ここ数年、Cakeを卒業したいと思いつつ、やはり金と時間が大事で
Cakeを使い続けてるわ…

729 名前:nobodyさん mailto:sage [2013/12/18(水) 17:52:24.89 ID:???]
まあね、Cake以外を勉強する時間も
書籍に消える金も大切ですもんね。



730 名前:nobodyさん mailto:sage [2013/12/18(水) 23:54:54.14 ID:???]
そんなみみっちい

731 名前:nobodyさん mailto:sage [2013/12/30(月) 17:33:32.85 ID:???]
CakePHPよりいいフレームワークなんてないからね

732 名前:nobodyさん mailto:sage [2013/12/30(月) 18:23:15.55 ID:???]
皆さん、良いお年を

733 名前:nobodyさん mailto:sage [2013/12/30(月) 18:57:43.73 ID:???]
来年はPHP 6出ますように

734 名前:nobodyさん mailto:sage [2013/12/30(月) 19:49:29.10 ID:???]
来年はCakePHP卒業

735 名前:nobodyさん mailto:sage [2013/12/30(月) 19:50:02.15 ID:???]
ついでにPHPも卒業

736 名前:nobodyさん mailto:sage [2013/12/30(月) 21:52:42.70 ID:???]
そして2ちゃんも卒業

737 名前:nobodyさん mailto:sage [2013/12/30(月) 22:11:14.32 ID:???]
童貞も卒業

738 名前:nobodyさん mailto:sage [2013/12/30(月) 22:45:31.59 ID:???]
ブラックIT会社も卒業

739 名前:nobodyさん mailto:sage [2013/12/30(月) 22:46:21.83 ID:???]
人生も卒業



740 名前:nobodyさん mailto:sage [2013/12/31(火) 03:34:51.36 ID:???]
マジレスするとCake PHPよりゆるくて俺俺ができるフレームワークないからCake最強
ただし引き継ぎは出来ないと思う

741 名前:nobodyさん mailto:sage [2013/12/31(火) 04:17:37.80 ID:???]
Yii

742 名前:nobodyさん mailto:sage [2013/12/31(火) 09:57:07.65 ID:???]
ああYiiを忘れてた
ゆるゆる具合が素晴らしいな

743 名前:nobodyさん mailto:sage [2013/12/31(火) 11:56:15.23 ID:???]
ゆるいってどういう意味?

744 名前:nobodyさん mailto:sage [2013/12/31(火) 12:18:53.48 ID:???]
Cakeは緩すぎてダメだ
次のシステムは別なのにするわ

Viewがひとつの<?php ・・・ ?>で括られてたり、モデルやコンポーネントを呼んでゴリゴリロジック書いてたりするシステムのメンテはもう無理

745 名前:nobodyさん mailto:sage [2013/12/31(火) 13:22:04.12 ID:???]
>>744
URLに対応したファイルがあって、そこにあれこれ書かないと理解できない人たちの産物か

746 名前:PHPスレ127 [2013/12/31(火) 16:49:17.45 ID:4Xz0mw7Z]
PHPスレから来ました

Cakeで途中からMySQLのテーブルに列を増やしたんだがクエリがそれに追随して増えてくれん
そりゃ、$this->query()で直接書けばいいんだが、fetchなんかが増えた列に対応してくれん、、、
どこをなおせばいいんだ?
Model/*phpでdisplay属性に追加すればいいのか?

747 名前:nobodyさん mailto:sage [2013/12/31(火) 19:02:25.74 ID:???]
>>746
>クエリがそれに追随して増えてくれん

普通はフィールドの変更は即座に反映されるぞ。
もっと詳しく書かないと何も言えんがな。

「display属性」って、もう何が何だか・・・

748 名前:nobodyさん [2013/12/31(火) 20:06:02.40 ID:8qYMp9pv]
cakePHPだとどの位の大規模サイトまで耐えられるのかな?

749 名前:nobodyさん mailto:sage [2013/12/31(火) 20:13:53.91 ID:???]
コントローラーが400個あるぐらいのサイトまでなら仕事したことある



750 名前:nobodyさん mailto:sage [2014/01/01(水) 01:29:18.48 ID:???]
>>749
テーブル数はどのくらい?

751 名前:nobodyさん mailto:sage [2014/01/01(水) 01:39:21.82 ID:???]
>>746
CakePHPは、スキーマをコードにしないので、
普通にModelのfind()を使えば、増やしたカラムは取得できるよ。
CakePHPを使っててfetchというメソッドは書いたことが無いから、何のことかわからん。
注意点としては、実はスキーマはキャッシュとしては吐き出されてるから、
このキャッシュが残ってて、カラム追加が反映されないというのはある。
運用モードのdebug 0だと、それなりの時間キャッシュされてる。
開発中ならdebug 2にしてるはずだから、それならキャッシュは毎回生成されるはずなので問題ない。

752 名前:nobodyさん mailto:sage [2014/01/06(月) 13:53:28.04 ID:???]
3.0ついにきたか。

753 名前:nobodyさん mailto:sage [2014/01/06(月) 17:42:05.41 ID:???]
Cakeで使わないフォルダって削除してる?
TestとかVendorとかLibとか。
それともデフォルトのままにしてる?

754 名前:nobodyさん mailto:sage [2014/01/06(月) 18:02:00.84 ID:???]
使うから削除しない

755 名前:746 [2014/01/06(月) 22:30:53.31 ID:nz1Q23oZ]
>>753
Libは要るだろw

756 名前:nobodyさん [2014/01/07(火) 00:08:21.82 ID:uOROpRea]
皆様の高い知見を期待してスレ違いの質問をさせていただきます。

世界中に事業者ユーザーを持っているサイトを運営しています。
ただ、ばかばかしいことに、彼らが本当に存在しているのか確信がありません。

本来であれば、事業者ユーザーの申請があったときに、手紙でアクティベート用のコードを送る云々などが本人確認には最適だと思うのですが、
実はこれ、費用が莫大になります。

実在する事業者だけを集めたい場合、何か優れた認証方法はないでしょうか?

757 名前:nobodyさん mailto:sage [2014/01/07(火) 01:53:19.80 ID:???]
>>756
サイトを止めてみて、クレームをあげてきたのが本物のユーザー

758 名前:nobodyさん mailto:sage [2014/01/07(火) 02:26:20.62 ID:???]
>>753
消す必要ないしなぁ

759 名前:nobodyさん mailto:sage [2014/01/07(火) 02:28:06.56 ID:???]
>>756
登記簿謄本でも送ってもらえば?



760 名前:nobodyさん mailto:sage [2014/01/07(火) 02:59:18.00 ID:???]
>>752
まだ開発版の最初期だ
今のペースだと今年いっぱいかかるだろ
パッと見た感じ、かなり変化してるな

761 名前:nobodyさん [2014/01/07(火) 04:15:26.41 ID:uOROpRea]
>>759
グローバルで展開しているので・・・

762 名前:nobodyさん mailto:sage [2014/01/07(火) 09:48:08.32 ID:???]
3.0安定版になってもたぶん2.4のままで行きそうだ

763 名前:nobodyさん mailto:sage [2014/01/07(火) 12:32:14.31 ID:???]
>>756
本人確認だけならTwilioとか使って電話応答確認すれば
ある程度のフルイにはかけられるんじゃないかと思うが。

実体のある事業者かどうかなんてことは、
それこそ地方自治の役所ですら把握しかねるだろうから
諦めたほうが良いんじゃねぇの?

それじゃなきゃそんだけ採算取れる事業ってことなら
結局は金かけて調べるってことにしかならないと思う

むしろ安価でそれを調査できる仕組みを作ればそれだけで飯が食えるだろ

764 名前:nobodyさん [2014/01/07(火) 15:04:00.93 ID:uOROpRea]
>>763
twilio、私も昨日の深夜に辿り着いて、色々調べていました
電話は他の一般ユーザーに登録させているので、その電話番号から認証すればOKということにするのが次善策なのかなと思いました。
事業者が一般ユーザーを装って、先回りで電話番号を登録してたら偽装しほうだいですが。

一般ユーザーに監視させ、疑いがある場合は手紙(住所)での認証を求めようかな。手紙は日本国内向けとそんなに変わらないので、件数さえ押さえれば何とかなります。

仰るように、日本の役所ですら全部把握するのは難しいですし、ある程度割り切りが必要ですね。

ありがとうございました。

765 名前:nobodyさん mailto:sage [2014/01/07(火) 17:44:06.60 ID:???]
>>756
それってCakeで作ってるの?

766 名前:nobodyさん [2014/01/11(土) 15:05:10.50 ID:+1e/PKP4]
Cake も PHPも初心者です。

ここを参考に写経しているんだけど、リダイレクト引数がわたってくれません。
ttp://libro.tuyano.com/index3?id=738001&page=5

自分が書いたコード
 codepad.org/PM79JO8d

other の出力が dummy になってしまうので、引数がわたってないってことですよね?
redirectを2通りの方法で書いてますがどっちも同じ.

環境は Win8 + Web Matrix です。

767 名前:nobodyさん mailto:sage [2014/01/11(土) 15:46:24.87 ID:???]
よくわからんがとりあえず、その仕組みはCakePHPの用語で言うところの
passed argumentsなので、リダイレクトはおいといてそれだけで確認してみたらどうだろう。

わかってるとは思うけど、デフォルトのルーティング設定なら、

example.com/contrllers/action/passed_arguments

こういうURLになるので、

example.com/sample/other/foo

これでアクセスして、送られた値= foo となるかどうか。

これが動く場合、リダイレクトした結果のURLと、上で確認したURLを見比べたら何かわかるかもしれない。

768 名前:766 mailto:sage [2014/01/11(土) 16:02:01.38 ID:???]
時刻フォーマット H:i:s のコロンがいけないみたいだと分かった。H_i_s ならうまくいく。
でも urlencode してるんだけどな。。。
IEの問題かとも疑ったけど、firefoxでも同じだった。

769 名前:nobodyさん mailto:sage [2014/01/11(土) 16:26:13.52 ID:???]
>>768
ああ、そういうことか。
CakePHPにはpassed argumentsのほかにNamed parametersという仕組みがある。
これはkeyとvalueをコロンで区切ったものなんだ。
詳しくはドキュメント参照。

book.cakephp.org/2.0/en/development/routing.html#named-parameters

おそらく、/で区切られたディレクトリのようなURLでありつつ、
key:valueなパラメーターを渡すために用意された仕組みなんだろうけど、
通常のクエリーストリングとできること被ってるし、
CakePHP3では廃止されると聞いてる。
実際のところはよく知らんけど。



770 名前:nobodyさん mailto:sage [2014/01/11(土) 22:11:29.88 ID:???]
>>768
特におかしな所無さそうと思ってコピペしてやってみたら普通に動いたけども
Mac Safari / Chrome共

771 名前:nobodyさん mailto:sage [2014/01/11(土) 22:16:34.58 ID:???]
ちなみにController::redirect() に
$this->autoRender = false; が既に書かれているんで
リダイレクト時にはわざわざ書く必要はないっすよ

772 名前:746 [2014/01/11(土) 23:04:18.40 ID:2cCSIQxG]
モデルのアソシエーションって必要?
クエリで結合させてquery()に渡せば同じ事なの?

773 名前:nobodyさん mailto:sage [2014/01/11(土) 23:47:21.89 ID:???]
>>772
絶対的に必要だと思うよ。
時間かけてでも学ぶべき。

query直でも同じ結果だろうけど、それじゃドライじゃないね。

774 名前:nobodyさん mailto:sage [2014/01/12(日) 07:53:33.34 ID:???]
>>766
質問と関係ないけど
private function now_time(){
は、
private function _now_time(){
がいいよ。
public以外は関数名に_をつけるっていう。
あと文末の?>は不要。

775 名前:nobodyさん [2014/01/12(日) 10:51:35.14 ID:vGoVpF+Z]
[mysql5 apache cakephp2]
バッチ処理中にテーブルロックをかけており、
バッチ処理中はクライアントからのselectをエラーとして返したいです。

こちらで試したものは、
innodb_lock_wait_timeoutを設定し、selectをタイムアウトさせる
というものでしたが
タイムアウトしませんでした。

どのようにすればタイムアウト(もしくはテーブルロックを検知)できるのでしょうか?

776 名前:nobodyさん mailto:sage [2014/01/12(日) 15:44:58.79 ID:???]
よくわからんけどWRITEロックすればええんちゃうの?

777 名前:nobodyさん mailto:sage [2014/01/12(日) 17:33:27.87 ID:???]
シェルからcakephpのcron動かす場合って、ブラウザ経由では動かないような重い処理でも動く?
共用サーバー、vpsの両方を使ってますが。教えて下さい。

778 名前:nobodyさん mailto:sage [2014/01/12(日) 18:18:22.27 ID:???]
>>777
無理

779 名前:nobodyさん mailto:sage [2014/01/12(日) 18:20:25.36 ID:???]
>>778
ありがとうございます。



780 名前:746 [2014/01/12(日) 19:23:52.45 ID:eraGilbY]
じゃぁアソシエーションで外部結合ってどうやってかくの?

781 名前:746 [2014/01/12(日) 19:51:04.52 ID:eraGilbY]
あ、モデルの片側にしか書かなきゃいいのか>>アソシエーションと外部結合

782 名前:775 [2014/01/12(日) 19:54:19.20 ID:vGoVpF+Z]
>>776
バッチ処理側でlock writeをしているので、
クライアント側からselectするとタイムアウトすると思われたのですが、
タイムアウトすることなく、ずっとクエリ結果を待っている。
さらに、クライアント側が結果を待っている間に、
バッチ処理側でunlockをすると、
クライアント側にphp実行時間オーバーというエラーが表示されます。

783 名前:nobodyさん mailto:sage [2014/01/13(月) 03:03:19.61 ID:???]
>>777
重いってのがどの程度のことを言ってるのかわからないけど、
ユーザーを待たせすぎるような時間のかかる処理や、
集計みたいなユーザーのリクエストに拠らないし、時間のかかる処理は、
CakePHPのシェルで書いてcronから起動するってのはよくやるよ。

784 名前:nobodyさん mailto:sage [2014/01/13(月) 03:04:51.41 ID:???]
>>782
ロックとかしないからよくわからんわ。
まぁ、その辺はPDOとMySQLの間の問題だろうし、
MySQLかPHPのスレで聞いたほうがいいじゃない?

785 名前:nobodyさん mailto:sage [2014/01/13(月) 10:17:24.81 ID:???]
>>783
ブラウザ越しにやると、
30秒メモリーなんたらというエラーを吐く処理ですね。

786 名前:746 [2014/01/13(月) 10:36:55.49 ID:tHg0j5+R]
あれ、やっぱり外部結合がわからん、どーやってquery関数を使わずに
外部結合を実現させるんだ?

787 名前:nobodyさん mailto:sage [2014/01/13(月) 10:57:22.69 ID:???]
>>786
find のパラメーターのjoinsをいじる

788 名前:nobodyさん mailto:sage [2014/01/13(月) 11:54:04.96 ID:???]
>>786
has one
belongs to
has many

をググってみよー

789 名前:nobodyさん mailto:sage [2014/01/13(月) 12:26:21.11 ID:???]
アソシエーションはCakeの最初の壁



790 名前:nobodyさん mailto:sage [2014/01/13(月) 13:08:06.60 ID:???]
>>785
なんかエラーメッセージが混ざってる気がするが、
cronから起動したとしてもPHPが使えるメモリ上限はphp.iniに設定されているし、
実行時間上限も、確かされていたような気がする。
そのどちらも、ini_set()で変更可能だし、確かCLI用のphp.iniを用意する方法もあった気がする。
ともあれ、ブラウザ越しでは有効な実行時間上限とメモリ上限より、
大きい上限を設定してやればいい。

設定でメモリ上限を無限にすることもできるけど、当然積んでるメモリを使い切ったらダメだから、
重すぎる処理はダメ。
あと、VPSは仮にもroot権限あるだろうからいいけど、共用は無いと思うので、
メモリ上限とかを変更できるかどうかは、鯖しだいじゃね。

791 名前:nobodyさん mailto:sage [2014/01/13(月) 13:12:00.94 ID:???]
has manyはJOINをしてるわけじゃないけどな

792 名前:nobodyさん mailto:sage [2014/01/13(月) 14:00:43.33 ID:???]
>>790
詳しくありがとうございます。
助かりました。

793 名前:775 [2014/01/13(月) 15:02:01.49 ID:qnOxD/aG]
>>784
回答ありがとうございます。
他スレで質問してきます。

794 名前:nobodyさん [2014/01/17(金) 13:54:07.36 ID:G1JYixnY]
みんな定数ってどうやって書いてる?
Model 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とか使わないとできなくて多少面倒なんだ

何かうまい書き方があったら教えてくれ

795 名前:nobodyさん mailto:sage [2014/01/17(金) 15:47:12.66 ID:???]
>>794
たしかphpも5から定数に配列をつかえるようになったんじゃないっけ?

俺もあなたと同じ方法でやってます。

796 名前:nobodyさん mailto:sage [2014/01/17(金) 16:20:23.00 ID:???]
Configure ディレクトリ下に単純なgetterクラスの
ConfigureGender クラスみたいなのを作るというのは?

797 名前:nobodyさん mailto:sage [2014/01/17(金) 16:23:24.34 ID:???]
俺も>>794みたいな配列作って1からmanに変換とmanから1に変換する関数をそれぞれ自前で書いてる
getKeyByValue( 'Gender', 'man' ) // 1が返る
getValueByKey( 'Gender', 1 ) // 'man'が返る
みたいな
こういう自前関数を1クラスにまとめてLib以下に置いてbootstrapでApp::usesしてる

798 名前:nobodyさん mailto:sage [2014/01/17(金) 17:29:25.79 ID:???]
もうモデルにしちゃいなよ

799 名前:nobodyさん mailto:sage [2014/01/17(金) 18:22:00.66 ID:???]
>>797
俺もほぼ一緒。
俺の場合、まとめ先がHelperになってる。



800 名前:nobodyさん mailto:sage [2014/01/18(土) 01:54:27.23 ID:???]
>>794
って感じに書くと1と3は実現できるんだけど2の文字列からキーの取得が
array_keysとか使わないとできなくて多少面倒なんだ

Key/Valueだし仕方なくね?

というか、3のようにして作ったoptionタグから帰ってくるのは、値のほうじゃなく、keyである数字のほうでさ、
それをDBに入れるし、取り出して使うときは1の取得で文字列にして表示だから、困った経験があまり無いぞ。
2の取得をするって機会があんまないきがする。

あってもarray_flip()でひっくり返せば配列アクセスできるし、そんなに面倒かね?

801 名前:794 mailto:sage [2014/01/18(土) 19:26:16.46 ID:???]
多数のレスありがたい
値からキーを取るのは定数定義とは別に書いた方が良さそうだね

>>800
たとえばこんな感じでコントローラーやビューで使いたい
ビューで使わないのなら>>798の言うようにモデルに任せるのが一番いいんだろうけど
if ($gender == Configure::read('Gender.man'))

802 名前:nobodyさん [2014/01/19(日) 10:13:44.22 ID: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' => ''
);
}
-----------------------------------------

803 名前:nobodyさん mailto:sage [2014/01/19(日) 15:30:52.90 ID:???]
>>802
エラーメッセージを、読め!

804 名前:nobodyさん mailto:sage [2014/01/19(日) 15:33:16.41 ID:???]
>>801
あーなるほどね。
確かにそういう使い方はしたいな。
納得はしたけど、すまんけど特に提案できる方法はもってなかった。
Configureが内部的にarray_flipしたのを持ってたりして、keyからでもvalueからでも取れればいいのになー

805 名前:nobodyさん mailto:sage [2014/01/19(日) 16:02:35.99 ID:???]
Cakeで開発するとDBスキーマがいちいちキャッシュされてめんどい
(テーブルにカラム増やしてもキャッシュが効いてて反映されない)
モデルキャッシュを無効化する方法ないの?

806 名前:nobodyさん mailto:sage [2014/01/19(日) 16:34:55.98 ID:???]
Modelの$cacheSource

807 名前:nobodyさん mailto:sage [2014/01/19(日) 23:36:21.74 ID:???]
CakeEmailってめっちゃ便利なんだが、送信したあとの本文を
データベースとかに保存しておきたい場合、どうすればいいんだろう。

808 名前:nobodyさん mailto:sage [2014/01/20(月) 00:26:36.62 ID:???]
message()っつうメソッドがあってだな

809 名前:nobodyさん mailto:sage [2014/01/20(月) 00:29:49.05 ID:???]
マッサージか



810 名前:nobodyさん mailto:sage [2014/01/20(月) 00:48:11.93 ID:???]
シャッチョさんヤスイヨー

811 名前:746 [2014/01/20(月) 02:15:34.59 ID:WMGmZL6V]
gmailでfromを書き換えたい・・・>>CakeEmail
ま、出来ないのはCakeEmailだけじゃないけどさ

812 名前:nobodyさん mailto:sage [2014/01/20(月) 09:19:53.03 ID:???]
出来ますが?

813 名前:nobodyさん mailto:sage [2014/01/20(月) 13:51:40.06 ID:???]
Twitter Bootstrap3でいいスケルトンどっかに無い?Bake用の。

814 名前:nobodyさん mailto:sage [2014/01/20(月) 14:00:14.69 ID:???]
使ったこと無いけど、BoostCakeはどうなん?

815 名前:nobodyさん mailto:sage [2014/01/20(月) 14:01:05.46 ID:???]
>>814
いいよ!

816 名前:nobodyさん mailto:sage [2014/01/20(月) 14:13:36.53 ID:???]
BoostCakeはいいけど、Bake用のスケルトンはいってなくない?
前身のやつにはあったんだけど、あれはbootstrap2だし。

817 名前:nobodyさん mailto:sage [2014/01/23(木) 13:12:43.27 ID:???]
質問
$this->request->queryってコントローラのコンストラクタの中じゃ参照できないのか?
俺の勘違いだったらいかんから、お前らも試してみてくれ

818 名前:nobodyさん mailto:sage [2014/01/23(木) 13:22:37.04 ID:???]
教えてください。
1.3で作成したAPIに、SecurityコンポーネントでBasic認証をかけたいと思っています。

そこで1.3の該当マニュアルを読んで進めておりますが、
requireAuth()
requireLogin()
loginCredentials(string $type)

この3つのどれを使うのが良いのか分かりません。
違いと実装の例など教えていただけませんか。

819 名前:nobodyさん mailto:sage [2014/01/23(木) 23:16:39.26 ID:???]
>>817
parent::__construct();が抜けてんじゃねーの?



820 名前:nobodyさん mailto:sage [2014/01/24(金) 00:03:19.65 ID:???]
コントローラのコンストラクタなんて触ったこと無いな。
変わったことやってんのか?

821 名前:nobodyさん mailto:sage [2014/01/24(金) 01:25:22.59 ID:???]
>>818
1.3なんてもう覚えてないけど、認証はAuthコンポーネントじゃないの?
CakePHP2ではAuthだぞ。
SecurityコンポーネントはCSRF対策とか、そういうの用だと思うが。

822 名前:nobodyさん [2014/01/24(金) 08:54:07.70 ID:OhuU+SsS]
cakePHPの入門書でオススメあったら教えてくだしあ><

823 名前:nobodyさん mailto:sage [2014/01/24(金) 09:17:20.30 ID:???]
>>821
ありがとう。CakeでウェブAPIをつくっているので、Authコンポーネントではなく、
Securityのベーシック認証にしたいのです。

824 名前:746 [2014/01/25(土) 00:27:35.89 ID:fnA/g+QM]
コントローラをFacadeパターンにして実務処理は自作のちっさいコントローラクラスにやらせれば良いの?
クラス設計するなら

825 名前:nobodyさん mailto:sage [2014/01/25(土) 00:34:45.21 ID:???]
Model だろ普通

826 名前:nobodyさん mailto:sage [2014/01/25(土) 00:38:00.50 ID:???]
CakeがMVC2の勘違いをkskする

827 名前:nobodyさん mailto:sage [2014/01/25(土) 00:42:48.60 ID:???]
>>822
これ、というのは無いなぁ
ただ、「CakePHP事典」と「レシピ119」だっけ?
あれはひと通り目を通すといいと思う。
CakePHPの機能を結構カバーできてる。
ただ、レシピの方は今ひとつ癖があるなぁって思った。
まぁ、ひとつの参考としては良いと思うよ。

網羅性に欠けるけど「実践」もいい。

まぁ、この3冊に全部目を通して損はないと思うよ。

828 名前:746 [2014/01/25(土) 00:46:35.74 ID:fnA/g+QM]
あ、モデルだよなw
CakeでモデルつーとDBのテーブルを連想してしまってた

829 名前:822 mailto:sage [2014/01/25(土) 05:12:01.03 ID:???]
>>827

あざっす m(_ _)m



830 名前:746 [2014/01/25(土) 13:37:17.68 ID:fnA/g+QM]
いきなりbakeを使わせる本を入門書には向かないと思うが>>実践

831 名前:nobodyさん mailto:sage [2014/01/25(土) 13:56:53.37 ID:???]
知らない

832 名前:nobodyさん mailto:sage [2014/01/25(土) 14:52:32.45 ID:???]
>>828
CakePHPのモデルはDBとくっつきすぎていて、
そこにロジックを入れるのはちょっと違う感じもするようになった。

833 名前:nobodyさん mailto:sage [2014/01/25(土) 14:55:02.37 ID:???]
CakePHP辞典も入門としては使えないと思った。
いやいい本だし、入門時でも慣れてきても、
ソースコードを見るかCakePHP辞典を見るかって時はあるから、
持っといて損はないと思うけど。
あれで入門しようというのは難しいとおも。

834 名前:nobodyさん mailto:sage [2014/01/25(土) 15:06:07.31 ID:???]
だから、コレというのはないと言ったんだ。
1系の時みたいな手取り足取りのチュートリアル本は無いからな。

もし本当に初心者で一からCakePHPをやりたいっていうんなら
ブログチュートリアルを暗記できる程度まで繰り返し覚えろとしか言えない。

ただ、実践本が初心者向けでないことは確かだった。あれは奨めない。

835 名前:nobodyさん mailto:sage [2014/01/25(土) 15:07:52.67 ID:???]
ActiveRecord=モデルみたいな誤解を広めたRailsが全ての元凶
Cakeは犠牲になったのだ

836 名前:827, 834 mailto:sage [2014/01/25(土) 16:41:20.78 ID:???]
「はじめてのCakePHP (I・O BOOKS)」っていう本があるみたい。
読んでないんでなんとも言えないけど、
Amazonの書評とサンプルコードダウンロードしてみた感じ、
入門書として、ひょっとしたら良いかもしれない。
コードの一部が古いので注意する必要ありだろうけど。

(パッと見て、コントローラのプロパティ宣言キーワードに public を使わずに var を使ってるのはヤバイわ)

837 名前:827, 834 mailto:sage [2014/01/25(土) 17:56:10.31 ID:???]
そういえばCakePHP辞典って正誤表を公開するって
随分前に著者がツイッターで言ってたんだけど
音沙汰なしだな。。。

838 名前:nobodyさん mailto:sage [2014/01/25(土) 18:59:02.53 ID:???]
>>837
まさぴーだな。
あの人のソースが一番わかりやすいし綺麗。
本もわかりやすい。
俺はお勧め。

839 名前:nobodyさん mailto:sage [2014/01/25(土) 22:40:50.09 ID:???]
CakePHP2でvarを使ってるってだけで敬遠したい。



840 名前:746 [2014/01/26(日) 00:18:39.58 ID:2eFTwFkL]
メンバ変数、みたいなのは$componentsに入れなきゃダメなのか?
コントローラで $this->hogehoge みたいな使い方したい場合

841 名前:746 [2014/01/26(日) 00:27:11.25 ID:2eFTwFkL]
多少、誤植とかあるけど
WebデザイナーのためのCakePHPビューコーディング入門
ttp://www.amazon.co.jp/dp/4798033146/
はプログラマ向け入門書としてもそこそこよかったと思った。前半しか読んでねーが

842 名前:nobodyさん mailto:sage [2014/01/26(日) 00:45:57.89 ID:???]
>>839
俺もvarだけどなんかダメなん?

843 名前:nobodyさん mailto:sage [2014/01/26(日) 02:18:11.54 ID:???]
>>842
PHP5になって何年たったと思ってるんだ。

844 名前:nobodyさん mailto:sage [2014/01/26(日) 02:19:40.46 ID:???]
>>798
俺モデルにstaticで関数作って使うクラスだけapp::usesして使ってるけど(bootstrapまわりのグローバル層には置かない)
これって少数派なのかね

845 名前:nobodyさん mailto:sage [2014/01/26(日) 02:20:44.56 ID:???]
>>746
あなたの書き込み最初から読ませてもらったけど、
フレームワークって、あなたの思ってる「プログラミング」にくらべると
すごく不自由なもんだと自覚した方が吉。

何しろ他人が「型」を作って、それに自分を嵌めこむ作業だから。

特にCakePHPはCodeIgniterやYiiなんかと比べるとその傾向は強いと言われる。

まずは開発者の意図を極力咀嚼して定形と言われる方法で開発するところから始められないなら、
フレームワークなんて使う意味ないよ。

846 名前:nobodyさん mailto:sage [2014/01/26(日) 02:25:24.29 ID:???]
array()はまだいいけど、varはさすがにちょっと…。

847 名前:nobodyさん mailto:sage [2014/01/26(日) 02:25:56.65 ID:???]
>>840
PHP初心者なのか。
メンバ変数って単語を知っててなぜそうなるのか疑問だが、

class Foo{
public $foo = 1;
public function bar(){
return $this->foo;
}
}



848 名前:nobodyさん mailto:sage [2014/01/26(日) 02:26:09.48 ID:???]
>>844
全然いいんじゃない?
static ならテスト書きやすいし
ただ、Modelに入れずにLibに入れるかってのはある。
Modelにしちゃうと色々副作用とか考慮する必要もあるし。

849 名前:nobodyさん mailto:sage [2014/01/26(日) 02:32:12.27 ID:???]
>>848
とっ散らかるのイヤだなーとモデルごとに置いてて、今まで特に問題は起きてないけど
Lib層の使いこなしは考えていきたいね
ロジックはMVCで分けても、定義まわりは汎用的に使いまわしたいこと多いしな



850 名前:nobodyさん mailto:sage [2014/01/26(日) 02:51:45.24 ID:???]
マジか!もうvar使わないのか。
時代が流れるの早いなー!

851 名前:nobodyさん mailto:sage [2014/01/26(日) 03:30:04.12 ID:???]
>>847
いや、>>840 が言ってるのは Component のオブジェクトプロパティを
直接指定できないかってことでしょ。
で、フレームワークが $components の内容を参照して勝手にセットする
しか方法がないのかってことにイラついてるんだろ。

852 名前:nobodyさん mailto:sage [2014/01/26(日) 04:22:27.54 ID:???]
>>851
ああそういうことか。
じゃぁ

$this->Foo = $this->Components->load('Foo');

853 名前:nobodyさん mailto:sage [2014/01/26(日) 04:25:33.67 ID:???]
>>850
おいおい、俺がこの業界にまだ入りかけで、アルバイトでPHP書いてたときですら、
アクセス修飾子書いてたぞ。
もう5年以上は前の話だ。

854 名前:nobodyさん mailto:sage [2014/01/26(日) 04:51:42.85 ID:???]
>>853
PHP歴、俺は10年以上だな。おっさんだ。。。
プログラムだけは経験多くても新しいのについてけないとダメだな。

var でも privateでもpublicでも何も変わらん気がするんだけどどうなん?
で、varが3文字で無難だからという理由で使ってるんだけど。
教えてください。

855 名前:nobodyさん mailto:sage [2014/01/26(日) 05:06:46.50 ID:???]
>>854
テスト書いてる?

変えちゃいけないインターフェース(public){=テストする}と
変えてもいい内部でだけで使うメソッド(private){=テストはpublicメソッド経由で行う}を
varでどうやって区別するんだい?

どっちでもちゃんと動くからいいというものではなく、
重要なのは、コードに"意図"を記述できるかどうかだよ。

856 名前:nobodyさん mailto:sage [2014/01/26(日) 05:09:49.74 ID:???]
>>855
すげー!
そんな違いがあるのか。
勉強になりました。
テストは書いてないです。
ありがとう。

857 名前:nobodyさん mailto:sage [2014/01/26(日) 05:21:51.60 ID:???]
>>854
アルバイトが長かっただけで俺もそれなりにおっさんだけど。
varで書かれたコードは見た目が気に食わない。

というのも、varは互換性のためpublicと同じになるから、
private, protectedが使えないわけだけど、
JavaScriptみたくアクセス修飾子がないけどうまくやってる言語もあったりするから。

とはいえ、途中参加のPHPプロジェクトに入ったりしたら、既存のコードを読むときに、
publicなのかそうじゃないかは、コードを読むときに手がかりにするし、
というかpublicメソッドだけ追ったほうが概要がつかみやすいと思う。

まぁ、1人で作ってたり少人数チームだったりすると、アクセス修飾子なんてなくても、
なんとなくわかったりするし、privateには _ つけるといった運用カバー的方法もあったりするし、
どうしても徹底しないととは、正直言いづらい。
だから、見た目が気に食わない。

858 名前:nobodyさん mailto:sage [2014/01/26(日) 09:20:27.99 ID:???]
>>854
varもpublicも変わらんというならまだしも、
privateとpublicが何も変わらんと思ってるってことは、手続き型しかやってなさそう。
テストの無い数千行の神クラス・・・。

859 名前:746 [2014/01/26(日) 10:00:51.56 ID:2eFTwFkL]
>>847
> >>840
> PHP初心者なのか。

PHPもCakeも3ヶ月くらいしか経験はない
練習で掲示板を作ったくらいだ

>
> class Foo{
> public $foo = 1;
> public function bar(){
> return $this->foo;
> }
> }

できるんだな。サンクス
今作らされてる仕事でコントローラーばかりにコードを書くとクラスが肥大してヤだから
URLから呼ばれるコントロールをFacadeにして個別機能を小さくクラスわけて new したいな、
と思ってる所なんだ



860 名前:nobodyさん mailto:sage [2014/01/26(日) 10:25:55.73 ID:???]
>>859
じゃぁ

コントローラをFacadeにするのは正解。
ビジネスロジックを別クラスにするのも正解。
一般的に、ビジネスロジックはModelに書くのが良いとされている。
一つのModelばかりになんでも詰め込んで肥大化させるのはあまり良くない。
複数のモデルで共通する振る舞いはBehaviorを作るのが正解。
Modelとテーブルの関係を外して新たなModelを書くのはOK。
Libに新しいクラス作ってもいいよ。

ってところ。

861 名前:746 [2014/01/26(日) 10:42:05.01 ID:2eFTwFkL]
>860
ありがとう。少し光が見えてきた

862 名前:nobodyさん mailto:sage [2014/01/26(日) 12:35:40.50 ID:???]
作るものにもよるかもしれんけど、コントローラーやモデルに、
そんな沢山書かないとな場合て、そんなにないよな。

もしそうなら、コントローラーも、新たに作ったコントローラーもモデルも、
数行しか書いてないみたいには、しないほうがいいと思うよ。

find2回して、片方をforeachでまわしてちょっと加工して、
あとは表示なんてのは、そのページでしか使わないんだったら、
もうコントローラーに書いておけばいいと思ってる。

863 名前:nobodyさん mailto:sage [2014/01/26(日) 12:57:42.83 ID:???]
>>862
それだと、テストが難しくなる。

864 名前:nobodyさん mailto:sage [2014/01/26(日) 13:08:34.52 ID:???]
>>863
すべてをテストする必要はないんじゃね。
find2 foreach1だけなら、ほぼ間違えないし、
テスト可能にする事も含めて、テストのコストのほうが高いと思う。
foreachの中身が1行2行という想定だけど、
もしこれが複雑なものなら、foreachのとこだけ切り出してテストできるようにはしてもいいと思うけど。

865 名前:nobodyさん mailto:sage [2014/01/26(日) 15:09:54.48 ID:???]
>>860
Cakeって案外不親切だよな
自由度が高いといえば聞こえはいいが

866 名前:nobodyさん mailto:sage [2014/01/26(日) 17:52:52.45 ID:???]
CakePHPは自由度高くないでしょ

867 名前:nobodyさん mailto:sage [2014/01/27(月) 08:26:21.27 ID:???]
2014年にもなって「varって何が悪いの?」レベルのことを言う経験10年って・・
不勉強とかそういうレベルじゃねーだろ

868 名前:nobodyさん mailto:sage [2014/01/27(月) 09:15:59.49 ID:???]
化石だな

869 名前:nobodyさん mailto:sage [2014/01/27(月) 10:27:59.61 ID:???]
(俺も正確に理解せずに使ってた、なんて言えない・・・)



870 名前:nobodyさん mailto:sage [2014/01/27(月) 13:43:50.37 ID:???]
var使ってますってのは
私はいまだにOOも理解してない手続き型しか書けない老害です
って宣言と同義

871 名前:nobodyさん mailto:sage [2014/01/27(月) 17:32:39.84 ID:???]
アクセス権はOOに必須ではないがな

872 名前:nobodyさん mailto:sage [2014/01/28(火) 09:32:01.09 ID:???]
カプセル化はOOのキモだと思う

873 名前:nobodyさん mailto:sage [2014/01/28(火) 11:26:46.25 ID:???]
そりゃそうだ

874 名前:nobodyさん mailto:sage [2014/01/28(火) 12:09:08.34 ID:???]
全部publicにstaticに…ってただのファイル分割だわ
そういやそんなおじさんがいたな…

875 名前:nobodyさん mailto:sage [2014/01/28(火) 12:36:13.58 ID:???]
varおじさん

876 名前:746 [2014/01/29(水) 08:28:57.79 ID:4MhCoapX]
アクション名と違うファイル名のctpを使うにはどうしたらいいの?
アクション名がかぶりそうなんだよ

877 名前:nobodyさん mailto:sage [2014/01/29(水) 08:47:04.63 ID:???]
Viewフォルダ内をコントローラごとにフォルダ分け
同一コントローラで名前がかぶりそうなら設計があやしい

878 名前:nobodyさん mailto:sage [2014/01/29(水) 17:13:25.95 ID:???]
>>876
コントローラの中で

$this->render('任意の名前');

879 名前:nobodyさん mailto:sage [2014/01/29(水) 22:52:44.55 ID:???]
かっこいいbake用skeletonどこにありますかね…
なかなか見つかりません



880 名前:746 [2014/01/29(水) 23:39:01.19 ID:4MhCoapX]
>>878
サンクス。調べてたら$layerの使い方もなんとなくわかった気がしてきた

881 名前:nobodyさん mailto:sage [2014/01/30(木) 02:58:52.18 ID:???]
Amazonみたいにさ、
この商品を見た人は、以下の商品も見ています。

ってのを作りたい場合、どのように作ればいいか教えてもらえませんか?

882 名前:nobodyさん mailto:sage [2014/01/30(木) 03:35:25.70 ID:???]
閲覧ページのURL、ページ遷移、滞在時間とかを取得して、
統計データから商品Aから商品Bへのスコアを計算して、
閾値を設定して、それを超えたものをスコア順に並べる

みたいな感じじゃないの?

883 名前:nobodyさん mailto:sage [2014/01/30(木) 03:39:02.25 ID:???]
FacebookとかAmazonレベルだと複雑なスコア算出の式をしてるだろうが、
とりあえず何らかの指標で弾き出したスコアを元にリストアップってのはどこも同じはず。

884 名前:nobodyさん mailto:sage [2014/01/30(木) 07:39:44.50 ID:???]
オライリーから、集合知プログラミングって本が出てたはず
わりとそのものズバリな内容が書いてあった
中のコードはphpじゃないけどpythonだから読みやすいし

885 名前:nobodyさん mailto:sage [2014/01/30(木) 09:24:11.61 ID:???]
奥が深い分野だから、Amazonと同じ精度出すだけでも、
難易度相当高いよ。

886 名前:nobodyさん mailto:sage [2014/01/30(木) 09:35:06.95 ID:???]
同じ精度出す必要無いよ。過剰実装だ。
単純に文字通り受け取って、リファラから商品IDを集計すれば良いだけだろ。

887 名前:nobodyさん mailto:sage [2014/01/30(木) 10:50:07.49 ID:???]
>>884
881じゃないけど横からサンキュー

888 名前:746 [2014/01/31(金) 01:19:24.89 ID:nps2dTDl]
アクションとURLの関連性を任意にしたい場合、config/route.phpのRoute::connectで指定してやればいいの?

889 名前:nobodyさん mailto:sage [2014/01/31(金) 09:22:20.73 ID:???]
>>888
おっけーです



890 名前:nobodyさん mailto:sage [2014/01/31(金) 13:18:43.14 ID:???]
CakePHPがあまり関係ない+そんな基礎的なことをと言われそうだけど、
よく見てるスレってここくらいだし、一応CakePHP使って作るし、質問させてくれ。

入力、確認、完了というよくあるフローの投稿機能なんだけど、
入力の段階でテキストやプルダウンなどのほかに、画像アップロードがあるんだ。
確認ページでは画像アップロードは完了させて、確認できるように表示する。
完了すれば、画像は所定のディレクトリに保持されて、ファイルパスが他のテキストとあわせてDBに入る。
確認の段階で戻ったり、完了に到達しなかったら、テキストも画像も保持しない。

良くある話だとは思うけど、確認ページ+画像アップロードが、なんか久しぶりで、
さらにcronが使えないサーバーで動かす予定なんだ。
前やったときは、daily cronで完了に至らなかったケースの画像を削除してたんだけど、
その方法が使えないから、どうしたものかと悩んじゃって。

この画像の後始末って、普通どうやってやるもんなのかな?

891 名前:nobodyさん mailto:sage [2014/01/31(金) 21:38:59.99 ID:???]
>>890
俺ならcron使えるサーバー使う。

892 名前:nobodyさん mailto:sage [2014/01/31(金) 21:40:33.68 ID:???]
>>890
というか、いちいち俺は削除しないな。
下手に削除プログラム走らせるとバグの原因になる。
ゴミデータあっても誰も見ないし。

893 名前:nobodyさん mailto:sage [2014/01/31(金) 22:07:45.62 ID:???]
トリガなんてなんでもええやろ
ユーザリクエストでもいいし外部Cronでもいいし脳ミソ0か

894 名前:nobodyさん mailto:sage [2014/02/01(土) 01:04:49.93 ID:???]
乱数でハズレ引いたユーザーに負担してもらう

895 名前:nobodyさん mailto:sage [2014/02/01(土) 11:45:31.12 ID:???]
>>890
俺は正式アップロード用のフォルダとそうでないのと分けてるよ。
後から手動で消しても大差ないし、SSHからなら一瞬だしな。

896 名前:nobodyさん mailto:sage [2014/02/01(土) 12:00:34.17 ID:???]
今まさに正式アップロードになろうとしてるやつを手動で消さないように注意ね

897 名前:nobodyさん mailto:sage [2014/02/01(土) 14:32:58.78 ID:???]
それは日付指定して削除すればいいだけだよね

898 名前:nobodyさん mailto:sage [2014/02/01(土) 14:57:34.78 ID:???]
解決
しゅーーりょーー!






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<225KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef