[表示 : 全て 最新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

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
その勝手に変える作業に金出してもらえないって話じゃないか?






[ 続きを読む ] / [ 携帯版 ]

前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