【PHP】フレームワーク CakePHP 16ホール目【v2.4】at PHP
【PHP】フレームワーク CakePHP 16ホール目【v2.4】 - 暇つぶし2ch357:nobodyさん
13/11/06 22:29:20.54
>>356
Authコンポーネントを良く調べろ。

358:nobodyさん
13/11/06 22:32:14.86
>>357
'loginAction' => Array('controller' => 'tops', 'action' => 'index'),

色々と試したみたのですが、これでOKですか?

359:nobodyさん
13/11/06 22:39:31.12
>>358
URLリンク(book.cakephp.org)

360:nobodyさん
13/11/07 00:07:19.08
Google Cromeで指定した文字列をクリップボードに
コピーするプログラムを作っています。

$('#id_hoge' ).click( function()
{
var str_text = "あいうえお";
var copyArea = $("<textarea/>");
copyArea.text(str_text);
$("body").append(copyArea);
copyArea.select();
document.execCommand("copy");
copyArea.remove();
});


"あいうえお" がクリップボードにコピーされると思ってたのですが
なぜかされません。cromeでは使えないのでしょうか?

361:nobodyさん
13/11/07 03:12:22.57
プラグインの日本語情報が異常に少ないんだよね
これじゃなかなか広まらないな

362:nobodyさん
13/11/07 14:17:00.21
広まらないっていうか、これからどんどん情報減ると思うよ。
自分で調べて情報公開したりするような開発者は、
もうCakePHPなんて飽きてるだろうし。
今は、普通に使えるようになってる人が、普通に仕事をこなすのに使ってる感じじゃね。
書籍も一時期は沢山出てたけどいまはそうでもないしな。

363:nobodyさん
13/11/07 14:34:27.14
猫も杓子もcakephpの時代が異常だっただけ
今はいいフレームワークがいっぱいあるし
あえてcakephpを選ぶ理由がないからね

364:nobodyさん
13/11/07 14:44:14.56 cHcjC9vh
FWはもう、cakePHPに統一しようぜ。

365:nobodyさん
13/11/07 14:52:19.69
統一するとしてもcakephpだけはやめて
codeigniter, fuelphp, laravel, yiiのどれかで

366:nobodyさん
13/11/07 14:52:21.96
cakephpは日本が異常だっただけよ
今もオフショア先では大人気

367:nobodyさん
13/11/07 14:55:55.60
>>365
fuelphpはpsr-0に対応しなかったこととかいろいろあって人気つかないな
codeigniter、laravel、yiiは世界では人気だけど日本だと微妙

368:nobodyさん
13/11/07 15:04:27.70
URLリンク(www.techempower.com)

cakeぼろぼろだ
昔のライバルsymfonyには辛うじて勝利

369:nobodyさん
13/11/07 16:27:36.49 urHtWp+p
FWといよりプログラマのスキルによるんじゃねーの。
レスポンスとかさぁ。

370:nobodyさん
13/11/07 18:19:09.69
codeigniterとか作りが前時代的過ぎてなぁ・・・
その4つの中ならlaravelがいいな

371:nobodyさん
13/11/07 18:25:45.15
Sinatra風のルーティングは見やすいんだが
PHPとは相性が悪い
リクエストの度にパスの数だけClosureオブジェクトを作ってると考えたらぞっとする

372:nobodyさん
13/11/07 20:37:01.47
Sinatra風ルーティングは、マイクロFW系向きじゃないかな

373:nobodyさん
13/11/07 20:55:50.09 TVGLaC0N
悪い事は言わない

Yiiを使える、進めるヤツはせめてToeic 800点位とってから使おうな。
英語も出来ないのに間隔で変な名前をあちこちに量産されたら迷惑

374:nobodyさん
13/11/07 23:10:35.42
>>373
なんでYii限定?

375:nobodyさん
13/11/07 23:33:39.73
TOELCといえばYii

376:nobodyさん
13/11/07 23:35:41.14
わけがわからないよ

377:nobodyさん
13/11/08 02:55:52.80
漢字もちゃんと使えてない人に言われてもなー

378:nobodyさん
13/11/08 19:07:09.93
話題のbakeを試してみたんだけど、命名規則通りにテーブルを作って
cake bake all モデル名 とやったんだけど、
Error: Table ないテーブル名 for model ないモデル名 was not found in datasource default.
とエラー。生成されたモデルを見てみると、勝手に存在しないモデルの$belongsToが書かれてた。
これは何?なんでそうなるのでしょう。

379:nobodyさん
13/11/08 19:51:29.62
>>378
テーブル名書けよ

380:nobodyさん
13/11/08 22:22:57.25
テーブル名だけじゃなくてスキーマ全部と、
DATABASE_CONFIG::$default['prefix'] の値も忘れずに

381:nobodyさん
13/11/09 01:13:36.00
IISにそのままCake載せただけじゃ動かないですよね?
どうすりゃいいんですか?

382:nobodyさん
13/11/09 02:28:19.11
IISなんて知らんがな

383:nobodyさん
13/11/09 11:02:53.97
>>381
チュートリアルに書いてるじゃん

384:nobodyさん
13/11/09 22:59:18.49
え、IISかい。Apache使わないの?

385:nobodyさん
13/11/10 08:55:33.38 0LvUSNX1
すみません教えて頂ければ幸いです
CakePHP2.3でフォームで確認画面を制作しているのですがバリデーションが効きません
自分で調べていったんモデルにはセットするとの事で
$this->Model->set($this->request->data);
if($this->Model->validates()){成功の時の処理}
上記の様にしているのですがエラー等も全く出ずただバリデーションが効いていない形です
よろしければどなたか教えて頂けませんか

386:nobodyさん
13/11/10 11:47:08.36
どんなコードを書いているかも分からないのに答えようがない

387:nobodyさん
13/11/10 19:22:06.34
より高度なRoRに引っ越しすることをお勧めしよう
Railsスレで質問すれば俺が答えてあげよう
その代わり最大限の敬意を示し、パソコンの前で土下座したまえ
そお誠意が俺まで伝わってきたら答えてあげる

多くの有力企業が採用するRoRにようこそ

388:nobodyさん
13/11/10 20:12:12.51
今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」
URLリンク(blog.sumyapp.com)

389:nobodyさん
13/11/10 20:28:10.59
>>388
書いてある内容がイマイチわからん。

390:nobodyさん
13/11/10 21:34:39.51
人の作ったプログラム触るのcakephpでも嫌なんだけど、俺だけ?
できれば一から作りたいと思ってしまう。

391:nobodyさん
13/11/10 22:07:59.18
>>389
CakePHPやる前にPHPはちゃんと理解してんだろうな?てことじゃないかな

392:nobodyさん
13/11/10 23:43:46.77
というか勉強しなきゃ使えないようなものか?て気がする

393:nobodyさん
13/11/11 01:04:57.32
cakephpやりながらphp覚えてもいいと思うね

394:nobodyさん
13/11/11 02:24:03.68
ここはやはりだめだ、Stackoverflowで聞いてくる

395:nobodyさん
13/11/11 06:16:43.22
それが2chというものだよ

396:nobodyさん
13/11/11 11:04:10.26
捨て台詞残さずにさっさと消えろよ

397:nobodyさん
13/11/11 12:40:31.09
>>394
解決していないのはどの質問だろうか?

398:nobodyさん
13/11/12 00:26:13.49 O3AZzxQU
1つだけのチェックボックスをcakePHPヘルパーを使ってレンダリングしようとしています。
その為に次のコードを記述し
echo $this->Form->input( 'totaling' , array(
'type' => 'checkbox',
'label' => false,
)); ・・・①

実行すると

<div class="input checkbox">
<input type="hidden" name="data[User][totaling]" id="UserTotaling_" value="0">
<input type="checkbox" name="data[User][totaling]" value="1" id="UserTotaling">
</div>

こんなコードが生成されてしまいます。

本当は次の様なタグが生成される事を想定しています。
①のコードの何処に問題があるのでしょうか?

<input type="checkbox" name="data[User][totaling]" checked="checked" id="UserTotaling">

399:nobodyさん
13/11/12 00:56:26.23
ヘルパーでタグ生成とかやめてほしいわ。
調べてみたけど、Railsもそうなんだろ?

HTMLはウェブデザイナーのもの
だからプログラミング要素を極限まで減らすべき。
そういった考えで作られた
フレームワーク(テンプレートエンジン)って
無いものかねぇ。

でも低機能なフレームワークを求めてるんじゃないんだ。
こういうinputみたいなものはそのままHTMLでかけて
面倒な部分を改善できるそんなフレームワーク

400:nobodyさん
13/11/12 01:00:45.10
あぁ、ぐちっちゃった。

>>398
その質問の答はCakePHP使ってないんで知らないけど、
なんでそんなコードが出力されるか知ってる?

それはチェックボックスは、
チェックしたらdata[User][totaling]=1が送られてくるけど、
チェックしなかった時data[User][totaling]=0ではなく、
なにも送られてこないんだよ。最終行のコードではね。

それの対策が 、「こんなコード」なわけ。
ここまで言えば、どうすればいいかわかるんじゃない?

そう、チェックしない場合に値を送る機能を
OFFにする設定があるはずだ。

401:nobodyさん
13/11/12 02:01:30.93
>>399
formヘルパーは使った方がいいと思うよ。htmlヘルパーは使わない方がいいかもだけど。

402:nobodyさん
13/11/12 02:22:03.84
同じくFormHelperやHtmlHelper嫌い。
でも、使わないとハマったり困ることあるから、しぶしぶ使ってる。

403:nobodyさん
13/11/12 08:35:49.27
>>399
JavaにはほぼHTMLをテンプレートに使えるのあるけどPHPは無理だろうな

404:nobodyさん
13/11/12 09:05:04.81
bakeのビューのテンプレートで、どこかにかっこいいの落ちてたりしないでしょうか
まあデフォルトのでもOKっちゃOKなんだけど

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

406:nobodyさん
13/11/12 11:37:30.04
>>403
Javaってどれのことだ?

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

407:nobodyさん
13/11/12 11:41:20.37
>>399
もはや、デザイナーとの役割分担のラインは変わってるよ
旧態依存の開発やってれば別だろうが

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

409:nobodyさん
13/11/12 13:42:41.13
Cakeのヘルパーみたいなローカルルール、外注のコーダーに教え込んで使わせる気にはとてもならんから
ヘルパー使ったこと無いわ

410:nobodyさん
13/11/12 16:29:44.75
>>403
まさかMayaaのことじゃないだろうな?

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

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

412:nobodyさん
13/11/12 17:02:26.87 GncxjoFv
プログラマ=コーダーだろ

413:nobodyさん
13/11/12 17:14:40.96
>>412
別の意味での旧態依存の世界の話だ

414:nobodyさん
13/11/12 17:33:48.33
どう考えてもフレームワークいじる奴とビュー作る奴は分担した方がいい

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

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

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

416:nobodyさん
13/11/12 21:11:38.61
>>415
URLリンク(getbootstrap.com)

417:nobodyさん
13/11/12 21:17:21.91
>>415
Bootstrapとかの上からデザインしてくれるデザイナーがいっぱいいるよ

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

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

419:nobodyさん
13/11/12 21:39:26.80
>>418 PHPと全然関係ないけど、平面構成の本とか読んでみるのはどうかしら

420:nobodyさん
13/11/12 21:48:23.37
bootstrapのステマが酷い
スルー推奨

421:nobodyさん
13/11/12 22:04:10.58
ほれ bakeの解説

URLリンク(hijiriworld.com)

422:nobodyさん
13/11/12 22:16:50.91
なんかうまく読み込めないな、そのブログ
無駄にJS使うのやめて欲しいなあ、ただのブログのくせに

423:nobodyさん
13/11/12 22:23:23.76 jQBt36at
>>419読んでみます。

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

424:nobodyさん
13/11/12 22:35:23.88
読んだけど初歩的なことしか書いてなかった
誰でも知ってることを丁寧に解説しても無価値だな

425:nobodyさん
13/11/12 22:36:21.38
まずは、グリッドデザインを勉強すればいいよ。
それがある程度できれば、崩してかっこいいデザインが出来るようになる。

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

427:nobodyさん
13/11/12 23:57:17.43 SAG0peet
ケースバイケース

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

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

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

429:nobodyさん
13/11/13 00:21:37.21
時間がないのに2chで質問は出来るんだな

430:nobodyさん
13/11/13 01:39:40.82
>>407

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

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

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

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

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

431:nobodyさん
13/11/13 03:01:46.38
純粋な善意でもステマと言われるこのご時勢
嫌だね~

432:nobodyさん
13/11/13 08:46:45.51
役割分担が変わったのは自社サービスやってるとことかだろ
JavaScriptの問題だろ

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

433:nobodyさん
13/11/13 09:09:21.54
JavaScript?

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

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

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

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

435:nobodyさん
13/11/13 09:35:30.68
受託だろ

436:nobodyさん
13/11/13 09:39:16.24
お金のあるなし関係あるだろな。
デザイナにCSSもHTMLも任せた方が安上がり。

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

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

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

439:nobodyさん
13/11/13 12:57:43.60
>>438
役割分担のJavaScript部分で噛み付いてるから、もろ問題にしてる

440:nobodyさん
13/11/13 13:27:54.87 1DbvJ5ZT
>>437
なかなかいない。どちらかよりだろ。

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

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

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

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

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

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

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

444:nobodyさん
13/11/13 21:38:36.71
>>442
> デザイナに今求められてるのって、主なテンプレ系で作られたサイトに
> CSS被せてデザインする能力

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

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

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

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

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

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

445:nobodyさん
13/11/13 21:51:20.71
受託だろ

446:nobodyさん
13/11/13 21:52:31.94
>>443
>$('#hoge').css()

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

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

447:nobodyさん
13/11/13 22:17:37.75
htaccess使えないサーバでもCake2系を使う方法ってありませんか?

448:nobodyさん
13/11/14 01:37:31.90
あれ?PATH_INFOを使って動かなかったっけ?

449:nobodyさん
13/11/14 01:57:11.42
bootstrap3ってどう?
ここだとboostcakeか

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

451:nobodyさん
13/11/14 02:04:40.49
ありゃ、それはダメだね

452:nobodyさん
13/11/14 02:53:48.18
bootstrapはセマンティックじゃないから
使う気がしねぇ。
CSSの文化に逆行してる。

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


454:nobodyさん
13/11/14 05:08:41.87
・・・流石に呆れて閉口だわ

455:nobodyさん
13/11/14 05:10:58.85
>>453
使えるよ

456:nobodyさん
13/11/14 11:45:51.79
>>452
そういうのをこだわる人は
Bootstrapで使ってるLessを読み込んで
セマンティックに使うことができますよ

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

457:nobodyさん
13/11/14 12:14:49.49
ロマンティック

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

459:nobodyさん
13/11/14 15:30:11.14
>>458
使い方の問題。
ああいう系のCSSそのまま使ったら
どういう作り方、使い方してもセマンティックにならない

460:nobodyさん
13/11/14 15:32:38.35
URLリンク(semantic-ui.com)

どう思う?

461:nobodyさん
13/11/14 15:50:12.29
>>460
<main class="ui three column grid">

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

462:nobodyさん
13/11/14 15:56:57.10
>>458
echo '.main-box { .box; .line; .red; }' > less/my-components.less
echo '@import "my-components.less";' >> less/bootstrap.less
grunt

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

463:nobodyさん
13/11/14 16:15:36.03
>>458
の1行目が理解できないのだが

464:nobodyさん
13/11/14 17:05:51.55
Bootstrapのスレ荒らしてた奴と
セマンティックって騒いでる奴が同じ奴に思える

465:nobodyさん
13/11/14 17:18:19.93 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さん
13/11/14 17:37:41.41
>>465
cookbookでAuthの説明読めよ
$this->Auth->deny('edit');
を書いて、認証が必要なページを指定すればいいだろ

467:nobodyさん
13/11/14 23:18:44.29
>>464
俺にはお前が、そのBootsrapのスレで
こてんぱんにやられた奴に見えるよw

468:nobodyさん
13/11/14 23:28:19.13
>>467
負けてたのおまえのほうじゃん

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

470:nobodyさん
13/11/15 00:33:55.48
そもそも「負けてた」ってのから、何と戦ってるんだって話だがw

471:nobodyさん
13/11/15 00:44:32.60
俺ROMってたけど
SASSとBootstrapという
場違いの喧嘩を売ってた奴がいたって感じだったな

472:nobodyさん
13/11/15 01:33:42.42
まぁそんなにセマンティックとかに明るくない俺でも、
Bootstrapは使ってみると、騒がれてるほど洗練されてないなとは思った。

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

473:nobodyさん
13/11/15 04:03:21.24
ただ問題は、HTMLが醜くなるのと
メンテナンス性が下がるっってところだよな。

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

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

474:nobodyさん
13/11/15 11:12:17.32
Bootstrapとかああいう系がセマンティックなはずがない

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

476:nobodyさん
13/11/15 14:27:36.43
>>475
Bootstrapをただ使うだけだとOOCSSとは言わんと思うよ。
OOCSSはSASSとかLESSとかあそこらへんで組まないと。

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

477:nobodyさん
13/11/15 14:27:39.11
OOCSSで一番悪なのはextendこれに気づかない奴が多い
extendが入るとOOCSSではなくてOOSSになることに気づかない

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

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

479:nobodyさん
13/11/15 14:42:57.08
>>478
あってるよ。

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

480:nobodyさん
13/11/15 15:25:51.04
余所のスレでセマンティックしてくれ

481:nobodyさん
13/11/15 19:56:55.32
ロマンティックは夜のデートで。

482:nobodyさん
13/11/15 22:19:35.59
OOCSSをちゃんとやるには、Sassが必須ということ。
Sassを使わないでOOCSSをやろうとするとはメンテナンス性が
悪いものになってしまう。

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

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

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

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

483:nobodyさん
13/11/15 22:24:05.29
>>482
Sassはextendsがちまたで問題になってるし好きじゃない

484:nobodyさん
13/11/15 22:26:24.01
>>482
出たSass信者
盲目って怖いね

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

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

486:nobodyさん
13/11/15 22:33:30.11
しばらくsassのサイト見てなかったけど、
電話のお姉さんどこいった?w

487:nobodyさん
13/11/15 22:36:21.54
「ある人に魚を一匹与えれば、その人は一日食える。
魚の取り方を教えれば、その人は一生を通して食える。」

という言葉がある。

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

488:nobodyさん
13/11/15 22:58:23.33
>>485
Sassアンチなわけじゃないぞ
SassだけがOOCSSの答えじゃないって意味だ
普段もJS縛りがなければ使ってるし

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

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

489:nobodyさん
13/11/15 23:03:55.67
CSSの話しはスレ違いだからやめません?

490:nobodyさん
13/11/16 00:37:07.43
>>488
lessもextend実装されそうな流れみたいだけど?

URLリンク(webtech-walker.com)

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

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

491:nobodyさん
13/11/16 01:39:48.43
>>489
この話やめると過疎るしいいんじゃね。
CakePHPの質問がきたら誰かしら答えてるし。

492:nobodyさん
13/11/16 03:00:40.54
この話にかぎらず、やめるとかやめないとか
そういうのは勝手にやるから
仕切っても無駄だよ。

493:484
13/11/16 07:54:37.23
>>490
他人の発言混ぜないで。

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

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

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

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

495:nobodyさん
13/11/16 22:23:02.69
テーブルの中に入力項目があり
検索ボタンを押して検索が走る仕組みにしています。

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


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

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

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

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

497:nobodyさん
13/11/16 23:23:16.88
>>495
CakePHPの前にHTMLから勉強しろw
inputがformの外にあるじゃねーか

498:nobodyさん
13/11/16 23:29:51.46
www

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

500:nobodyさん
13/11/16 23:43:19.37
>>495は優秀。
再現可能なコードをちゃんと書いて
質問している。

501:495
13/11/17 01:46:08.06
>>497
formの中に入れてもう一度試してみます。


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

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

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


※結構複雑な処理です。

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

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

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

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

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

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

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

506:nobodyさん
13/11/18 17:02:23.94
>>505
サーチプラグイン使えばいいんじゃないの?

507:nobodyさん
13/11/18 18:19:43.56
>>505
Searchプラグイン使わないとか、罰ゲーム?

508:nobodyさん
13/11/18 18:53:39.61
>>506 >>507 
cakePHPだけではそういった機能は無いのですね。

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

509:508
13/11/18 18:56:37.22
サーバ変えた時とかめんどくさそうなので地道にif分岐
させてやる事にします。

510:nobodyさん
13/11/18 19:01:09.34
>>509
意味わからん

511:nobodyさん
13/11/18 19:07:25.95
>>509
の文章とか普通に分かり易いじゃん。
理解出来ない人って頭大丈夫かな。

512:nobodyさん
13/11/18 19:14:07.40
いや俺も意味わからんし

513:nobodyさん
13/11/18 19:14:32.25
>>511
サーバ変えたときに面倒になる実装ってどんなんだ?

514:nobodyさん
13/11/18 19:16:28.18
サーバー変えたら何が変わるんですかね…

515:nobodyさん
13/11/18 19:20:29.41
エスパーな511が何を分かったのか気になる

516:nobodyさん
13/11/18 19:23:26.86
>>513
サーバ変えたらまた search プラグインの設定せねばならん
面倒だーって事でしょ。

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

517:nobodyさん
13/11/18 20:09:16.65
>>516
お前だけ噛み合ってないぞw

518:nobodyさん
13/11/18 22:03:29.92
あえて苦しい道を行くか・・・

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

520:nobodyさん
13/11/19 00:24:04.47
cakephpやってりゃサーチプラグインは必須レベルだと思うんだけど。

521:nobodyさん
13/11/19 00:31:47.95
>>520 が使ってるサーチプラグインてサーバーごとに設定が必要なの?

522:nobodyさん
13/11/19 01:03:09.36
>>521
必要じゃないね

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

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

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

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

527:nobodyさん
13/11/20 11:35:26.62
>PHPが配列処理に強いから特性を活かすとかそういう話か?
そうです

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

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

528:nobodyさん
13/11/20 12:06:21.22
CakePHP3まで耐えるんだ

529:nobodyさん
13/11/20 12:14:01.60
ただでさえPHPの配列遅いのに

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


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

531:nobodyさん
13/11/20 21:17:34.01
>>530
複合キーは使えないよ

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

532:nobodyさん
13/11/20 21:19:13.23
×複合キー
○複合主キー

533:nobodyさん
13/11/22 13:52:04.15
艦これのサーバサイドってCakeだったのね

534:nobodyさん
13/11/22 14:47:24.43 V2BhDK+1
>>531
そうなのね。諦めました。

地道にupdate分を投げます。

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

536:nobodyさん
13/11/22 15:57:57.23 W1kV2v2N
なんで複合主キーはダメなのさ。

537:nobodyさん
13/11/22 17:52:26.73
>>536
嫌なら使うな、というと厳しいが、
fw使うってそんなものだと思う。

538:nobodyさん
13/11/22 18:01:15.94
>>533
ソースは?

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

540:nobodyさん
13/11/22 18:40:09.88 UUBP/xq0
>>537
じゃ、諦めるわ。

541:nobodyさん
13/11/22 20:34:04.53
複合主キー対応してないのってRailsもどきで対応できてない奴だけじゃない?

542:nobodyさん
13/11/22 21:35:11.99
複合主キーにする設計自体どうなのかと思わないでもない

543:nobodyさん
13/11/22 21:44:16.48
>>539
session 使うしか思いつかないが、
やってやれないことは無いと思う。

544:nobodyさん
13/11/22 23:24:16.29
現在サクラインターネットを使っています。

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

tar czvf file_1_2.tar.gz file_1 file_2


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

545:nobodyさん
13/11/22 23:27:18.44
Cake関係なさすぎワロタ

546:nobodyさん
13/11/23 01:58:50.84
>>544
マクロなんか使う必要ない。

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

547:nobodyさん
13/11/23 12:13:55.44
>>546
詳しすぎわろた

548:nobodyさん
13/11/23 12:27:27.10
あー、そっか、ワンライナーで書けるんだ。

549:nobodyさん
13/11/26 03:02:20.11
一からサイト作るの好きなんだけど、
作ったサイトを改造するのが苦手なんだよね。

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

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

550:nobodyさん
13/11/26 03:29:46.00
好きってひとも

551:nobodyさん
13/11/26 05:56:36.78 2m7znfvZ
>>549
たぶん全員がそうだろ

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

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

554:nobodyさん
13/11/26 09:26:27.15
>>552
おれおれフレームワークなんて、わけがわからないよ。

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

556:nobodyさん
13/11/26 12:09:28.97
オレオレやってしまうと、せっかくのオープンソースの魅力が半減する。

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

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

559:nobodyさん
13/11/26 20:04:02.44
(WP早く滅びて)

560:nobodyさん
13/11/26 20:20:25.47
>>559
わかるわー。
WordPressが無ければどれほどプログラマーが稼げてたか。

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

562:nobodyさん
13/11/26 21:37:55.32
>>561
大成できないタイプだな

563:nobodyさん
13/11/26 22:03:23.94
WP使えばなんでも安く・早く・簡単に出来ると思い込む奴ってなんなの?

564:nobodyさん
13/11/26 22:05:01.70
プラグインの多さだけがとりえですしお寿司

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

566:nobodyさん
13/11/26 22:48:15.61
お前らがWPに恨みたっぷりなのは分かった
せめてCakePHPで作られたCMSの話を……

567:nobodyさん
13/11/26 22:50:57.41
>>557
Smartyを破棄する

568:nobodyさん
13/11/27 00:18:20.01
CakeでもWPでも仕事するしおすし。
CakePHPベースのCMSは、なんかなぁ、
どうせCakeなら自分で好きなようにしたくなっちゃう感じする。

569:nobodyさん
13/11/27 00:25:51.15 Rk4EDw/d
wordpress って素敵だなぁー

570:nobodyさん
13/11/27 01:30:39.60
>>569
ユーザーから見える所はな

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

572:nobodyさん
13/11/27 03:22:25.52 mdMZh+Ob
最強に糞だったCMS

Moval Type

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

574:nobodyさん
13/11/27 22:12:09.37
だからさぁ
cakeもプラグインをもっとメジャーにしようよ
wordpress派も流れて来るから

575:nobodyさん
13/11/28 01:28:07.13
こないこない
wordpressはphpなんて知らない人用のもの

576:nobodyさん
13/11/28 06:31:59.63
新人研修で、汚いプログラムの例としてWordPressのソース見せてる

577:nobodyさん
13/11/28 10:50:04.35
うちの研修では、
商業的な成功には理念的な完成度は不要である例として
WordPressを引き合いに出してる。

578:nobodyさん
13/11/28 11:11:40.35
WordPressって商業的に成功してんの?
無料配布でしょ?

579:nobodyさん
13/11/28 11:35:10.00
URLリンク(allthingsd.com)

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

580:nobodyさん
13/11/28 11:36:57.69
URLリンク(www.crunchbase.com)

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

582:nobodyさん
13/11/29 06:26:18.01
>>581
うあーってなるん?

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

584:nobodyさん
13/12/01 16:08:25.46
>>583
ちょっと大きめのライブラリを導入した、ぐらいに思っておけば幸せかもよ

585:nobodyさん
13/12/01 18:00:34.36
>>583
それ単に、メールの仕様が複雑なだけだから。

586:nobodyさん
13/12/01 21:20:50.87
メールフォーム作るなら既存の小さいライブラリ使いたいな
メール用にはSwiftMailer選ぶんだけどバリデーションの部分はたまに悩む

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

587:nobodyさん
13/12/01 21:35:29.81
Cakeでも頑張ればいけるんじゃね
メール:CakeEmail
バリデーション:Model/Validator
フォーム:Formヘルパー

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

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

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

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

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

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

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

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

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

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

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

593:nobodyさん
13/12/02 18:03:31.67
上でメールフォームの話題が出てるから試してみたんだけど、

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

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

594:nobodyさん
13/12/03 00:14:57.84
突っ込みどころ満載すぎてどこから書けばいいのか

595:nobodyさん
13/12/03 08:50:43.83
>>594
一個ずつ突っ込んでくれ

596:nobodyさん
13/12/03 09:30:31.38
>>595
漫才みたいになるけどいい?

597:nobodyさん
13/12/03 13:43:20.44
OK

598:nobodyさん
13/12/03 14:19:05.43
まず、ファイルとかパスの名前を正しく書け。
全部小文字なわけがない。

599:nobodyさん
13/12/03 16:50:09.45
>>598
え??

600:nobodyさん
13/12/03 18:25:14.17
はい、ネタ続けて!

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

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

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

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

604:nobodyさん
13/12/04 09:57:37.43
どうでもいい雑談になっちゃうけど
htmlspecialchars_decode ってすごい関数名だよなあ
じわじわ笑いがこみ上げてきた、どうしてこうなったんだろ

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

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

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

608:nobodyさん
13/12/04 23:46:52.74
>>605
メール受信じゃなくて送信だろ?
HTMLメールや添付ファイル付きメールを
送ろうとでも思ってるの?

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

609:nobodyさん
13/12/05 00:13:14.38
>>608
画像認証

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

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

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

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

おしえてぷろのひと

612:nobodyさん
13/12/05 09:41:31.15
cake2系に対応したbaserCMS3がついにリリースされたそうな
URLリンク(basercms.net)

613:nobodyさん
13/12/05 10:21:18.03
で、Cake3のリリースが迫っていると・・・

614:nobodyさん
13/12/05 10:27:58.21
こないだやっと苦労してCake2にしたばかりなのに、もう3へ以降なんてやらんぞ

615:nobodyさん
13/12/05 10:38:50.61
>>614
basercmsってcakephpプログラマーからして使いやすいん?
使ったこと一度もないわ。

616:nobodyさん
13/12/05 10:45:00.73
CMSって言っても特別な機能が入ってるわけじゃないし、
cakeに慣れてる人はcake使うからなw

617:nobodyさん
13/12/05 12:08:21.04
ようやくCakePHP2になったとはいえ、基本的に古いCakeになるから、
Cakeベースってとこも、最新のが使えないという不便さはあるしなー

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

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

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

620:nobodyさん
13/12/06 02:33:30.99
>>618
それで捗る理由がわからん

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

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

622:nobodyさん
13/12/06 10:13:37.67
>>621
わかりやすくて良い!

623:nobodyさん
13/12/06 11:24:56.76
バーチャルホスト設定しているCentOSのサーバでCakePHPの勉強をしたいのですが、

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

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

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

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

URLリンク(book.cakephp.org)

626:nobodyさん
13/12/06 13:57:26.35
>>625
レスありがとうございます。
こういう方法があるんですね。
試してみますー

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

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

628:nobodyさん
13/12/06 19:57:56.87
デザイナにプログラム知識を要求するのは、プログラマの怠慢だと思うな。

629:nobodyさん
13/12/06 23:30:47.19
プログラムを使ってでしか出来ないものを
やろうとするのが根本的な問題。

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

630:nobodyさん
13/12/07 02:09:10.25
>>628
プログラマーってのは、デザイナーのために仕事してんじゃねーんだよ。

631:nobodyさん
13/12/07 03:04:09.81
>>630
それ、逆も言えるよね

632:nobodyさん
13/12/07 03:05:33.58
仲良くしよう。
できるプログラマーは、デザイナーの事を考えて作る。
できるデザイナーは、プログラマーの事を考えてデザインする。

そう思うんだよね。

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

634:nobodyさん
13/12/07 03:21:24.80
2ちゃんでは正論は伸びない

635:nobodyさん
13/12/07 07:23:32.80
何の話かよくわからんが
かわいいデザイナーの娘と仕事がしたい

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

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

638:nobodyさん
13/12/07 10:30:48.05
>>635
まったくだな

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

640:nobodyさん
13/12/07 12:30:01.21
>>627
Cakeってそんなに使えないレイアウトのViewしかないんだっけ?

641:nobodyさん
13/12/07 14:55:19.27
>>635
かわいいけど、HTMLとCSSもおぼつかないイラレ使いのデザイナーとなら、仕事したことある。

642:nobodyさん
13/12/07 14:58:21.59
>>637
JavaScriptはJavaScriptとしてテストしたらええやん。
画面としてテストしたいならせれにうむを使うやん。

643:nobodyさん
13/12/07 15:06:54.00
>>642
別にそれでもいいんだけど、テスト用のHTMLやJSはCake内のどこに置くのが定番なん?

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

645:nobodyさん
13/12/08 01:28:28.09
【質問】
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さん
13/12/08 17:12:58.59
HTTPレスポンスヘッダを持ってるのはCakeResponseな

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

647:nobodyさん
13/12/08 17:17:32.39
$thisの意味わかってんのか心配になるな・・・いやまさか

648:645
13/12/08 20:13:36.09
レスありがとうございます。

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

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

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

649:nobodyさん
13/12/08 20:20:56.25
>>648
ID出せよ

650:nobodyさん
13/12/08 22:01:22.39
テストってのはさ、どんなものでもテストしてやるぞ!って
意気込みで望むものではなくてさ、
テストがしにくいものを無くすぞって考えてやるべき。

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

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

651:nobodyさん
13/12/08 22:31:39.34
>>650
いい事言ってだんろうけど、わかりにくい。わかりやすくお願いします!

652:nobodyさん
13/12/08 22:32:26.91
あーわかった。
ようは、テストもできねーようなコード書くなということか。

653:nobodyさん
13/12/08 22:43:19.55
テストできるぐらいの役割に分割しないとね

654:nobodyさん
13/12/08 23:02:00.09
テストがしにくいコードってのはあるし、
テストをする意味が無いコードもあるんだよ。

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

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

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

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

655:nobodyさん
13/12/08 23:13:20.11
>>645なんてそういうことだよ。

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

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

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

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

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

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

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

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

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

657:nobodyさん
13/12/09 00:29:29.65
>>656
やらないよりはやったほうがいいけど、意味が少ないというだけ。
そして、費用対効果まで考えるとそこまでやる意味ないんじゃないってこと。

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

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

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

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

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

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

659:nobodyさん
13/12/09 01:10:16.11
>>658
無駄な努力を頑張れやw

660:nobodyさん
13/12/09 01:43:48.55
URLリンク(api.cakephp.org)
わざわざ$this->headersに入れてるし、普通ならちゃんと入ってるものっぽい気がする。
でも入ってないって言うなら、testAction()からvar_dump()仕込んでって追いかけるしかないんじゃね?

661:645
13/12/09 01:53:31.21
自己解決しました。
ありがとうございました。

先の例では、
$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
13/12/09 01:55:29.19
>>660

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

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

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

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

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

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

666:nobodyさん
13/12/10 18:08:28.36
PDOでCake風に使えるライブラリを書こうとしたけど、面倒で止めた

667:nobodyさん
13/12/10 18:16:34.35
>>666
cakeを使おうと思わないのは何故なんだろう?

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

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

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

671:nobodyさん
13/12/11 10:49:31.96
引き継ぎ案件の話なんか?

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

user_items
users_items

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

673:nobodyさん
13/12/11 16:53:19.79
>>672
ただの items

でitemsテーブルの中にuser_id

674:nobodyさん
13/12/11 17:43:03.38
>>673
なるほど。
関連するテーブル名を連結させる必要はないんですね。
ありがとうございました。

675:nobodyさん
13/12/11 19:34:39.55
接頭辞として使う場合もあるよ。
その際は、user_itemsが正しい名前になる。

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

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

677:nobodyさん
13/12/11 20:35:59.75
引き継ぎで、その後のメンテナンスの必要性が明確じゃない時は
なるべくそのままにしておく。

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

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

678:nobodyさん
13/12/11 21:44:14.31
>>677
ありがとう!

679:nobodyさん
13/12/11 23:56:50.75
どういたしまして

680:nobodyさん
13/12/12 01:28:30.30
>>679
誰だよお前w

681:nobodyさん
13/12/12 01:30:43.56
>>680
俺だよ! 誰なのかあててみ!

682:nobodyさん
13/12/12 03:41:11.74
>>681
俺かよ!マジかよ!ざけんなよ!

683:nobodyさん
13/12/12 04:05:39.56
いや、ここは俺が。

684:nobodyさん
13/12/12 05:30:01.88
ようじょ、ようじょ

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

686:nobodyさん
13/12/12 11:59:53.86
>>685
1レコードそのまま取れなかったっけ?

687:nobodyさん
13/12/14 00:57:14.30
cakephp1を、そのままcakephp2にしてくれと言ったら、いくら取る?
俺なら最低20万円。

688:nobodyさん
13/12/14 02:23:18.09
20万~2000万ぐらいだな。

689:nobodyさん
13/12/14 02:25:37.01
>>687
まぁ規模によるよね。

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

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

691:nobodyさん
13/12/14 02:41:06.36
規模もだけど現在のコードによる。

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

692:nobodyさん
13/12/14 02:44:20.85
>>690
移行ではなく、全部最初から作り直しの工数を見積もればいいよ。

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

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

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

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

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

694:nobodyさん
13/12/14 03:30:14.45
>>691-693
おぉ、色々ありがとう!
参考にさせてもらう。

これ、たぶん、断るわw

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

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

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

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

697:nobodyさん
13/12/14 22:46:14.15
古いとセキュリティがどうのこうの…とか言ってみれば

698:nobodyさん
13/12/15 00:01:11.18
cakeの1系->2系なんてほとんど互換性ないだろ。
バージョンアップのメリットないから。

699:nobodyさん
13/12/15 01:04:45.89
>>696
開発方法を変えるなんて言う必要ないよ。
勝手に変えればいい。
どうせ客に言っても理解できない。

700:nobodyさん
13/12/15 01:12:59.53
>>696
> 技術の進化と客の要求に対応するなら、
> どこかで折り合いをつけなければいけない。

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

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

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

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

701:nobodyさん
13/12/15 01:13:50.99
>>699
その勝手に変える作業に金出してもらえないって話じゃないか?

702:nobodyさん
13/12/15 01:15:42.18
>>701
そんなもん、普段の開発費に含めればいいじゃないか。

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

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

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

704:nobodyさん
13/12/15 01:34:39.31
>>703
やっぱり技術力がないだけ。

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

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

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

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

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

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

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

705:nobodyさん
13/12/15 01:43:20.20
フレームワーク等、バージョンが違ったとき
互換性が100%でないのは知っているし100%の互換性はないのが普通。

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

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

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

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

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

これが技術力なんだよ。

706:nobodyさん
13/12/15 01:47:21.85
>>704
君の非難を素直に受けるし、技術が無いのも確かだろう。
でも、怒りの矛先を向けるのは俺じゃないと思うんだが。

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

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

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

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

それは大きな勘違い。

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

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

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

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

708:nobodyさん
13/12/15 01:52:59.47
具体的にどんなコード書いてるんだかw
全部ラップしてるんでしょ?オーバーヘッドえらいことになるやん

709:nobodyさん
13/12/15 01:55:27.23
>>707
だったら、それを俺じゃなくて
「Cakeのバージョン変えたいけど、お金もほしい」
って奴に言ってくれよ。

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

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

710:nobodyさん
13/12/15 02:20:52.91
普通に考えて、必要なのは技術力でなく交渉力だと思うんだな。

711:nobodyさん
13/12/15 03:25:11.57
金出せよ(直球

712:nobodyさん
13/12/15 07:14:03.45
>>696
なんか俺へのレスから長々と続いてるみたいだけど、それは置いといて。

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

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

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

714:nobodyさん
13/12/15 15:02:58.71
>>713
御意。

715:nobodyさん
13/12/15 21:35:08.31
>>713
> 全部ラップするくらいなら

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

716:nobodyさん
13/12/15 21:36:55.56
あぁ、こいつか。>>708

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

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

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

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

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

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

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

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

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

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

719:nobodyさん
13/12/16 18:01:53.46
>>718
お金を出さない客のためになぜ働くんだろうか?

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

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

721:nobodyさん
13/12/17 01:14:36.31
>>720
> 他の機能を追加する面目で対応したよ
それが普通

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

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

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

722:nobodyさん
13/12/17 01:16:55.25
>>718
> なのに、なぜか「技術が無いから対応できないんだ!}みたいな非難をされている。

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

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

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

724:nobodyさん
13/12/17 11:07:41.43
誰が誰だかよくわからなくなってるなw

725:nobodyさん
13/12/17 11:10:20.38
>>721
>で、そういうことができないって言ってるんでしょ?
「それが普通」って認めてるのに、出来ないって言ってるとは??

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

726:nobodyさん
13/12/17 20:14:25.92
結論、世の中、金。

727:nobodyさん
13/12/18 02:28:32.22
かねくれかね

728:nobodyさん
13/12/18 08:28:28.95
ここ数年、Cakeを卒業したいと思いつつ、やはり金と時間が大事で
Cakeを使い続けてるわ…

729:nobodyさん
13/12/18 17:52:24.89
まあね、Cake以外を勉強する時間も
書籍に消える金も大切ですもんね。

730:nobodyさん
13/12/18 23:54:54.14
そんなみみっちい

731:nobodyさん
13/12/30 17:33:32.85
CakePHPよりいいフレームワークなんてないからね

732:nobodyさん
13/12/30 18:23:15.55
皆さん、良いお年を

733:nobodyさん
13/12/30 18:57:43.73
来年はPHP 6出ますように

734:nobodyさん
13/12/30 19:49:29.10
来年はCakePHP卒業

735:nobodyさん
13/12/30 19:50:02.15
ついでにPHPも卒業

736:nobodyさん
13/12/30 21:52:42.70
そして2ちゃんも卒業

737:nobodyさん
13/12/30 22:11:14.32
童貞も卒業

738:nobodyさん
13/12/30 22:45:31.59
ブラックIT会社も卒業

739:nobodyさん
13/12/30 22:46:21.83
人生も卒業

740:nobodyさん
13/12/31 03:34:51.36
マジレスするとCake PHPよりゆるくて俺俺ができるフレームワークないからCake最強
ただし引き継ぎは出来ないと思う

741:nobodyさん
13/12/31 04:17:37.80
Yii

742:nobodyさん
13/12/31 09:57:07.65
ああYiiを忘れてた
ゆるゆる具合が素晴らしいな

743:nobodyさん
13/12/31 11:56:15.23
ゆるいってどういう意味?

744:nobodyさん
13/12/31 12:18:53.48
Cakeは緩すぎてダメだ
次のシステムは別なのにするわ

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

745:nobodyさん
13/12/31 13:22:04.12
>>744
URLに対応したファイルがあって、そこにあれこれ書かないと理解できない人たちの産物か

746:PHPスレ127
13/12/31 16:49:17.45 4Xz0mw7Z
PHPスレから来ました

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

747:nobodyさん
13/12/31 19:02:25.74
>>746
>クエリがそれに追随して増えてくれん

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

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

748:nobodyさん
13/12/31 20:06:02.40 8qYMp9pv
cakePHPだとどの位の大規模サイトまで耐えられるのかな?

749:nobodyさん
13/12/31 20:13:53.91
コントローラーが400個あるぐらいのサイトまでなら仕事したことある

750:nobodyさん
14/01/01 01:29:18.48
>>749
テーブル数はどのくらい?

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

752:nobodyさん
14/01/06 13:53:28.04
3.0ついにきたか。

753:nobodyさん
14/01/06 17:42:05.41
Cakeで使わないフォルダって削除してる?
TestとかVendorとかLibとか。
それともデフォルトのままにしてる?

754:nobodyさん
14/01/06 18:02:00.84
使うから削除しない

755:746
14/01/06 22:30:53.31 nz1Q23oZ
>>753
Libは要るだろw

756:nobodyさん
14/01/07 00:08:21.82 uOROpRea
皆様の高い知見を期待してスレ違いの質問をさせていただきます。

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

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

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

757:nobodyさん
14/01/07 01:53:19.80
>>756
サイトを止めてみて、クレームをあげてきたのが本物のユーザー

758:nobodyさん
14/01/07 02:26:20.62
>>753
消す必要ないしなぁ

759:nobodyさん
14/01/07 02:28:06.56
>>756
登記簿謄本でも送ってもらえば?

760:nobodyさん
14/01/07 02:59:18.00
>>752
まだ開発版の最初期だ
今のペースだと今年いっぱいかかるだろ
パッと見た感じ、かなり変化してるな

761:nobodyさん
14/01/07 04:15:26.41 uOROpRea
>>759
グローバルで展開しているので・・・

762:nobodyさん
14/01/07 09:48:08.32
3.0安定版になってもたぶん2.4のままで行きそうだ

763:nobodyさん
14/01/07 12:32:14.31
>>756
本人確認だけならTwilioとか使って電話応答確認すれば
ある程度のフルイにはかけられるんじゃないかと思うが。

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

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

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

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

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

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

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

765:nobodyさん
14/01/07 17:44:06.60
>>756
それってCakeで作ってるの?

766:nobodyさん
14/01/11 15:05:10.50 +1e/PKP4
Cake も PHPも初心者です。

ここを参考に写経しているんだけど、リダイレクト引数がわたってくれません。
URLリンク(libro.tuyano.com)

自分が書いたコード
 URLリンク(codepad.org)

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

環境は Win8 + Web Matrix です。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch