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


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

【PHP】フレームワーク CakePHP 14ホール目【v2.1】



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

※他フレームワークとの比較等はスレ違いです
テンプレは>>1-5くらい には無いかも

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

■日本語公式
cakephp.jp/
フォーラム
cakephp.jp/modules/newbb/
cookbook(マニュアル)
book.cakephp.org/ja

前スレ
【PHP】フレームワーク CakePHP 13ホール目【v2.0】
kohada.2ch.net/test/read.cgi/php/1320768310/

403 名前:nobodyさん mailto:sage [2012/07/25(水) 11:51:23.40 ID:???]
>>398
おい、これどうなった!やっぱないのかい?

404 名前:nobodyさん mailto:sage [2012/07/25(水) 20:40:10.91 ID:???]
>>403

viewの中でdebug($this);
あとはわかるな?

405 名前:nobodyさん mailto:sage [2012/07/25(水) 22:22:16.55 ID:???]
>>402
きっとDispatcher周りの大改造が必要になるぜ

無理とは言えないが、かなり仕様を理解しないとだめだろうな

この程度の質問にすらすら答えられるようじゃないとドツボにハマるよ

まぁでもどうなるのか見てみたい

進捗を報告してくれ

406 名前:nobodyさん mailto:sage [2012/07/25(水) 22:44:54.46 ID:???]
>>404
フォームヘルパーちゃうやん!!!!!

407 名前:nobodyさん mailto:sage [2012/07/25(水) 22:56:14.30 ID:???]
なにをごちゃごちゃ言ってんだこのキチガイは
まとめたのを出すメソッドがないから何なんだ

408 名前:nobodyさん mailto:sage [2012/07/25(水) 23:27:27.44 ID:???]
>>407
ちゃぶだいひっくり返すなよ^^;

409 名前:nobodyさん [2012/07/27(金) 13:43:34.69 ID:Ij5uT65n]

-----
・名前を入力してください
・メールアドレスを入力してください
-----

名前[       ]
!名前を入力してください

都道府県[▼東京都 ]

メールアドレス[       ]
!メールアドレスを入力してください


inputの下には自動で出してくれるんですが、
一番上にあるようなエラーの一覧が欲しいんです
本当にお願いします。

410 名前:nobodyさん mailto:sage [2012/07/27(金) 13:57:29.16 ID:???]
>>409
しつこい
>>404で解決済み

411 名前:nobodyさん mailto:sage [2012/07/27(金) 14:01:38.23 ID:???]
たしかvalidationErrorsってのに入ってた気がする
>>404してvalidationErrorsで検索してみ



412 名前:nobodyさん [2012/07/27(金) 15:54:14.68 ID:Ij5uT65n]
>>411
ありがとうございます。入っていました。
ただ、 $this->Model->validationErrors にアクセスできません
themeView に Modelオブジェクトが無いと言われます

413 名前:nobodyさん mailto:sage [2012/07/27(金) 15:59:54.55 ID:???]
409が求めてるのは、$form->errorAll('Post')
みたいなメソッドが無いか?って事だろ?

で、結論としては「無い」んだよ。
>>409みたいなことがやりたいなら$form->errorを全て書くか
>>404をしろよ。そこをまずは納得しろ。

414 名前:nobodyさん mailto:sage [2012/07/27(金) 16:11:56.02 ID:???]
2.0でちゃちゃっと今見てみたらviewのthis->validationErrorsに入ってあるんだけど、
1.3じゃあ入ってないの?

415 名前:nobodyさん [2012/07/27(金) 16:11:58.09 ID:Ij5uT65n]
>>413
分かりやすい説明ありがとうございます。
無いんですね。

> >>409みたいなことがやりたいなら$form->errorを全て書くか
あ、これでいいですね。
$form->error('inpu1');
$form->error('inpu2');
$form->error('inpu3');
$form->error('inpu4');
まだ試してないですけど、こうやればおkですよね。

これでいきます。
ありがとうございました!

416 名前:nobodyさん mailto:sage [2012/07/27(金) 16:13:04.99 ID:???]
それでいいのかよw

417 名前:nobodyさん mailto:sage [2012/07/27(金) 16:27:39.79 ID:???]
敢えて俺にも言わせてくれ

それでいいのかよw

418 名前:nobodyさん mailto:sage [2012/07/27(金) 17:06:53.00 ID:???]
>>404どころか>>362の時点で終わってた

419 名前:nobodyさん mailto:sage [2012/07/27(金) 17:18:46.30 ID:???]
モデルのフィールド一覧を取得してループさせて、
コピペじゃない方法でやることもできそうですね
誰か頼みました!w

420 名前:nobodyさん [2012/07/27(金) 17:21:02.41 ID:Ij5uT65n]
>>416-418
いや、エラー一覧を出してくれるのがベストでしたが、
無いというので、もうこれで妥協しました

421 名前:nobodyさん [2012/07/27(金) 17:59:17.31 ID:QJsfcWiv]
Cakephp2.2を使っているのですが、
Authのログイン認証で手間取っています。
usernameとpassword以外にも、
certificationというフィールドが1かどうか、確かめさせてからログインさせたいのですが、

$this->Auth->userScope = array('certification'=>1);

をfunction beforeFilter()に追加しても、
実際のsql文的には追加されていないようで、certification関係なく、ログインできてしまいます。

どこがいけないでしょうか?



422 名前:nobodyさん mailto:sage [2012/07/27(金) 18:54:38.02 ID:???]
全然確認しないで答えるけど
this->Auth->authenticateあたりに変更されたのって関係ない?

423 名前:nobodyさん mailto:sage [2012/07/27(金) 21:36:25.39 ID:???]
>>415
ほっこりした


424 名前:nobodyさん [2012/07/28(土) 05:06:27.70 ID:NZVlXbv8]
>>422

$this->Auth->authenticate = array(
'Form' => array(
'scope' => array('User.certification'=>2)
)
);

でできました!
これで10時間以上格闘してたので本当に嬉しいです
ありがとうございました

425 名前:nobodyさん mailto:sage [2012/07/29(日) 20:58:02.94 ID:???]
初歩中の初歩かもしれませんが、教えてください。
cakephp1.3で、独自ドメインを取得、サーバーはロリポップレンタルです。
いままでは yyy.yyy.com/test/ にcakeをインストールしていましたが、
xxx.xxx.com/ でアクセスしたいと思い、
.htaccessを修正し、xxx.xxx.com でアクセスできるところまではいきました。

そこから、
いままで yyy.yyy.com/test/controller/ でアクセスしていたところも
xxx.xxx.com/controller でアクセスできるかな?と思ったら、URL直打ちならいけました。
でも、$html->link('test', array('controller' => 'controller') としても、実際にレンダリングされる
HTMLでは、xxx.xxx.com/test/controller にリンクされています。
これを、testの部分をなくすことはできないでしょうか?

426 名前:nobodyさん mailto:sage [2012/07/29(日) 21:07:28.25 ID:???]
連投ですいません

前にテストしていた yyy.yyy.com/ は、既に他のファイルがいろいろあったので
cakephpテスト用に 
yyy.yyy.com/test/app/...
yyy.yyy.com/test/cake/...
みたいな構成にしてたんですが、
今回はcakephpを一つ動かすだけのサイトにするつもりです。
で、前と同じように
xxx.xxx.com/test/app/...
xxx.xxx.com/test/cake/...
みたいに配置しているんですが、そもそも、xxx.xxx.com/app/にすべきだったんでしょうか?
.htaccessは、ドメイン直下、test/直下、app/直下、app/webroot直下の4つを修正しました。


427 名前:nobodyさん mailto:sage [2012/07/29(日) 21:28:07.68 ID:???]
何度もすいません・・・
結局インストールディレクトリをかえて、
xxx.xxx.com/app/になるように配置したら
期待したとおり、xxx.xxx.com/controller とHTMLに吐き出すようになりました。
これでいこうと思うのですが、
この配置がドメイン直下での運用の場合は正解なんでしょうか。


428 名前:nobodyさん mailto:sage [2012/07/29(日) 23:35:13.63 ID:???]
まず例示するときに変なドメイン使うのやめれ。
ひとつだけなら
example.com

もうひとつなら
example.org

サブドメインは自由

429 名前:nobodyさん mailto:sage [2012/07/29(日) 23:45:55.88 ID:???]
勝手に使うとexample.comドメインの中の人に怒られるよ

430 名前:nobodyさん mailto:sage [2012/07/30(月) 00:12:58.18 ID:???]
ネタにマジレスもなんだが
>>429
tools.ietf.org/html/rfc2606

431 名前:nobodyさん mailto:sage [2012/07/30(月) 00:18:16.96 ID:???]
>>427
URIとファイルパスの書き方がぐちゃぐちゃだな。
ディレクトリ構造の記述にはプロトコルは関係ないだろ。

そんな質問の仕方をしてるってことはマニュアルを全然読めていない証拠だから
誰も真剣に答えてくれんよ。



432 名前:nobodyさん mailto:sage [2012/07/30(月) 00:29:32.30 ID:???]
あとひとこと言わせてもらえば、マニュアル読め。
そして「マニュアル通り」にしろ。
ほとんどのことはそれで解決できる。
それでも無理なときはもう一度マニュアル読め。

つまり、たいていのケースに対しての定石が既に用意されている。
ルールに縛られるのが窮屈だからといって安易に定石を離れることは
一時しのぎは出来るかも知れないが結局遠回りになる。

ブログの記事なんかを参考にする場合は、
マニュアルの読み方や定石の解説をしているものならいいが、
小ネタの披露などの類は定石を一通りマスターしてからだ。

433 名前:nobodyさん mailto:sage [2012/07/30(月) 11:01:11.94 ID:???]
>>425-427 です
レスありがとうございます。
指摘いただいたことを修正して改めて質問させてください。

example.com/ でアクセスしたいのですが、
マニュアルでは
/cake_install/
 ├/app
 └/cake
と配置して、
DocumentRoot /cake_install/app/webroot
と設定すればいいとなっていました。

レンタルサーバーのため、httpd.confはいじれないので、
.htaccessにRewriteBaseを設定しました。
すると確かにexample.com/でアクセスできるのですが、
cakeから出力されたHTMLでは、コントローラーへのアクセスURLが
example.com/cake_install/controller/
になっていました。
これを、example.com/controller/にしたかったんです。

そこで、cake_installのディレクトリを作らずに
/app
/cake
にしたところ、うまくいきました。
これが正しい配置なんでしょうか?

434 名前:nobodyさん mailto:  [2012/07/30(月) 13:14:23.48 ID:???]
下がり過ぎなのでageます

435 名前:nobodyさん mailto:sage [2012/07/30(月) 15:31:19.13 ID:???]
>>433
要するに解凍した cake ディレクトリの中身をそのまま ftp での一番上にぶちまけたってことかな?
ならば、公開時の設定としては推奨されていないが、
正常に動くかどうかという点に関してはOK。

ここ見れば分かるよね?
book.cakephp.org/1.3/ja/view/913/%E9%96%8B%E7%99%BA-Development


>すると確かにexample.com/でアクセスできるのですが、
>cakeから出力されたHTMLでは、コントローラーへのアクセスURLが
>example.com/cake_install/controller/
>になっていました。

これはどこか設定が間違ってる

436 名前:nobodyさん mailto:sage [2012/07/30(月) 16:35:51.07 ID:???]
Cakeのヘルパーとか真面目に使ってる奴いるのか…
2以降はマシになったんかな?
でもctpテンプレに使うとかうちはなしだなあ、デザイナにコーディング頼めないじゃん

437 名前:nobodyさん mailto:sage [2012/07/30(月) 17:55:19.65 ID:???]
フォームヘルパーは使っているけど、HTMLヘルパーは使ってないな

438 名前:nobodyさん mailto:sage [2012/07/30(月) 18:06:30.07 ID:???]
テンプレの話題なんか出すとまたSmarty厨がくるぞ…



439 名前:nobodyさん mailto:sage [2012/07/30(月) 20:03:51.92 ID:???]
テンプレにSmarty使う話しもしたいのに、
厨とか悪いことのような言い方されるから言い出しにくい雰囲気・・・

440 名前:nobodyさん mailto:sage [2012/07/30(月) 21:12:22.01 ID:???]
ヘルパーも含めてビューは2になってから使いやすくなったと思う

処理が明確になったんじゃないかな
引き換えに、コーディング工程数というか、タイプするキーの数は増えたけど

441 名前:nobodyさん [2012/07/30(月) 21:15:21.67 ID:qcTCojeX]
AzureにcakePHP2.0  入れて動くかな?
動かした事のある人いる?



442 名前:nobodyさん mailto:sage [2012/07/30(月) 21:31:34.90 ID:???]
動かしてる。今なら簡単。

443 名前:nobodyさん mailto:sage [2012/07/30(月) 21:59:05.68 ID:???]
>>435
そうです、cakeディレクトリを中身だけトップに入れました。
マニュアルの指定されたページを見ると、
www.example.com/cake_1_3/ でアクセスできますよね?ってことですが
/
└cake_1_3
  ├app
  └cake
の構成だと、確かにwww.example.com/cake_1_3/でアクセスできました。

> >すると確かにexample.com/でアクセスできるのですが、
> >cakeから出力されたHTMLでは、コントローラーへのアクセスURLが
> >example.com/cake_install/controller/
> >になっていました。
>
> これはどこか設定が間違ってる
やっぱりなんか間違ってるんですね…

444 名前:nobodyさん mailto:sage [2012/07/31(火) 08:43:55.59 ID:???]
2.xの場合は各所にある index.php、APP/Cosole/cake.php にあるパスの記述を一通り済ませば
webroot, APP, CAKE をどこにおいても問題なく動く。
2.x の経験から言えば、 >>443 はパスの設定は自分で書かないとダメなんじゃないかな?

1.3のマニュアル読んだことはあまりないんで間違えてるかもしれんけど。
いまさら1.3には興味がわかないんであとは自分で調べてくれ。

445 名前:nobodyさん mailto:sage [2012/07/31(火) 21:30:00.08 ID:???]
>>444
ありがとうございます。
index.phpの設定ですが、
cake1.3のマニュアルによると、
/app
 └/webroot
/cake
といった、普通の?配置にしない場合は、確かにindex.phpで場所を設定できるようでした。
book.cakephp.org/1.3/ja/view/915/%E5%BF%9C%E7%94%A8%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

今回は配置は/cake_install以下に上記の通り配置して、
www.example.com/ でアクセスできるんですが、
$html->link('aaa', array('controller' => 'cont')
で出力されたURLがwww.example.com/cake_install/cont になってしまうのを www.example.com/cont にしたいのです…。


446 名前:nobodyさん mailto:sage [2012/07/31(火) 22:02:44.89 ID:???]
>>445
ちなみにその
www.example.com/cake_install/cont
では動作してるの?

それと
www.example.com/cont
ではどんな挙動になるの?

447 名前:nobodyさん mailto:sage [2012/07/31(火) 22:07:17.42 ID:???]
>>446
両方自分が期待しているページで同じページが出ます。


448 名前:nobodyさん mailto:sage [2012/07/31(火) 22:13:47.14 ID:???]
あぁ、$html ってHtmlHelperなのか。よく分からんかった。2と結構違うんだな。

HtmlHelper::link() のふるまいに問題があるのか。
ちょっとソース見てみる。

449 名前:nobodyさん mailto:sage [2012/07/31(火) 22:18:13.20 ID:???]
ありがとうございます。
今気づいたんですが、妙な挙動になっていました。

トップページは、routes.phpの設定でpages_controllerのindexアクションを呼ぶようにしています。
Router::connect('/', array('controller' => 'pages', 'action' => 'index'));

www.example.com/ にアクセスしたとき、$html->link('controller', '/cont/')は、
www.example.com/cake_install/cont と出力されますが、それをクリックして
www.example.com/cake_install/contに遷移すると、
$html->link('controller', '/cont/')は、
www.example.com/cont と出力されていました。
これをクリックすると、また元に戻り、これを繰り返します。
ちなみに、トップページに戻るための出力も、$html->link('top','/')としてましたが、
www.example.com/になったり、www.example.com/cake_install になったりするようです。


450 名前:nobodyさん mailto:sage [2012/07/31(火) 22:20:01.18 ID:???]
分かった。 Router の設定だな

HtmlHelper::link()
 ↑
Helper::url()
 ↑
Router::url()


451 名前:nobodyさん mailto:sage [2012/07/31(火) 22:25:10.66 ID:???]
ちょっとローカルに1.3インストールしてみるわw



452 名前:nobodyさん mailto:sage [2012/07/31(火) 22:26:19.86 ID:???]
すいません、ありがとうございます!

453 名前:nobodyさん mailto:sage [2012/07/31(火) 22:51:02.56 ID:???]
何度も申し訳ないですが、
Router::url()のソースが挙動の操作をしているとのことで、少し見てみましたが
<?php echo $html->base; ?>をすると、
/cake_install がでたり、何もでない(空文字)だったりするようです。


454 名前:nobodyさん mailto:sage [2012/07/31(火) 23:13:11.82 ID:???]
もう一度.htaccessを見直し、

/.htaccess
RewriteBase /cake_install

/cake_install/.htaccess
RewriteBase /

/cake_install/app/.htaccess
RewriteBase /app

/cake_install/app/webroot/.htaccess
RewriteBase /app/webroot

にしたところ、www.example.com/controller のページでは、
常に正しく www.example.com/controller と出力するようになりました。
($html->base に何も入らなくなりました)
が、トップページ www.example.com/ にアクセスした場合だけ、
$html->base に cake_install が入り、
www.example.com/cake_install/controller となっています。



455 名前:nobodyさん mailto:sage [2012/07/31(火) 23:37:04.27 ID:???]
>>454
わかった
bootstrap.php
に、

Configure::write( 'App.base', '/' );

で、どう?

456 名前:nobodyさん mailto:sage [2012/07/31(火) 23:37:52.23 ID:???]
>>454
.htaccess は最初のままでいいよ、たぶん。

457 名前:nobodyさん mailto:sage [2012/07/31(火) 23:47:04.93 ID:???]
メモ:


HtmlHelper::link で吐き出すURLは Router::url で生成されてるんだけど、
ベースURLはRouterのインスタンスの$__paths[0]['base'] に保存されてる。
で、これは Dispatcher::baseUrl() の戻り値。

この Dispatcher::baseUrl() をみてやると、
最初の方に Configure に書き込んだ設置を展開していて、
もしそこに 'base' があればそれを優先する仕組み。

デフォはこれは設定されていないんで、 dirname( env( 'PHP_SELF' ) ) から算出してるってこと


458 名前:nobodyさん mailto:sage [2012/07/31(火) 23:49:45.96 ID:???]
指摘いただいた内容でやってみたところ、
確かに /cake_install だったのが / に変わり、$html->linkも、cake_installなしで
出力されましたが、UploadPackというプラグインの画像出力が
<img src="//uploaddir/image.png"> のようになり、画像がでなくなりました…
これはプラグインのソースを修正する必要があるのかもしれません。

そして、色々やっていただいて本当に申し訳ないのですが、
ドキュメントルート直下の /.htaccess の記述が間違っていたようで、
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cake_install
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
としていたのを、
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^$ cake_install/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ cake_install/$1 [L]
</IfModule>
と変更すると、うまくいきました!
修正後の記述も、ネットから拾ってきたものでよく理解はしていないのですが、
なんとかこれで動きそうです。

本当にありがとうございました&すいませんでした。

459 名前:nobodyさん mailto:sage [2012/07/31(火) 23:50:05.45 ID:???]
とにかく .htaccess の設定とか体当たりで確かめるのはやめれw
身体もたないぞw

460 名前:nobodyさん mailto:sage [2012/07/31(火) 23:51:50.45 ID:???]
メモまで丁寧にありがとうございます!
$__paths[0]['base'] に値が入ってるのがダメなような気はしたんですが
それがどこでどうセットされてるかまでは見れなかったんで
今後の参考にさせていただきます!!

461 名前:nobodyさん mailto:sage [2012/08/01(水) 00:09:50.35 ID:???]
> とにかく .htaccess の設定とか体当たりで確かめるのはやめれw
> 身体もたないぞw
まさにそのとおりでした。

実は
/cake_install
 ├/app
 └/cake
でインストールしたあと、うまくいかなかったんで
/app
/cake
で直下にぶちまけて動かしてたんです。
で、先ほどからずっと/cake_installの方のファイルをさわったりしてたんですが
.htaccessの修正で対応できた!と思い、
/app
/cake
の方を消したら、また元に戻りました。
URLがころころ変わってたのも、環境が複数あったのが問題だったようで…
そして、指摘された Configure::write( 'App.base', '/' ); を入れて、
リンクURLは問題なく出力されていますが、
先ほど書いた通りプラグインのUploadPackの画像出力URLが//になることだけが問題になりました。
UploadPackのソースを確認してみます



462 名前:nobodyさん mailto:sage [2012/08/01(水) 00:56:24.96 ID:???]
センスのかけらもないコーディングですが、
プラグインのuploadpackを下記の通り修正し、今回の一連の問題が解決しました。
ありがとうございました。

function image($data, $path, $options = array(), $htmlOptions = array()) {
$options += array('urlize' => false);
// src="//imageurl" になって出力されるのを修正
// 生成されたタグから、"//example/example.png" の最初の / を一本削除
// return $this->output($this->Html->image($this->url($data, $path, $options), $htmlOptions));
$imgtag = $this->Html->image($this->url($data, $path, $options), $htmlOptions);
$imgtag = str_replace('//', '/', $imgtag);
  return $this->output($imgtag);
}

463 名前:nobodyさん mailto:sage [2012/08/02(木) 17:37:50.48 ID:???]
DBでビューを管理したいのですが、
ググっても情報が1.2や1.3系で古いです。

2.x系ではどうすればいいのでしょうか?
DBでビュー管理ししている人が居たら教えてください。

464 名前:nobodyさん mailto:sage [2012/08/02(木) 20:48:40.47 ID:???]
どこまでDBに任せるのか分からないけど、View の描画ロジックそのものが
ファイルシステムと分離されていないからコアを変更することになるけどいいの?

もっとも、PHPのソースコードをDBに格納してそれを取り出して云々て話だったら1.3系であろうが2.x系であろうが同じ。

465 名前:nobodyさん [2012/08/02(木) 20:51:57.55 ID:kl7SocZ+]
>>442
Azure上でcake入れてるとの事ですけど
動作は安定してますか?

DBは、SQL Azure?
それとも Webロール側に Windows版のMySQLを入れてますか?

あと、Azure上にcakeを入れる方法とかを解説しているサイトがあったら教えて下さい。

466 名前:nobodyさん mailto:sage [2012/08/02(木) 21:02:45.91 ID:???]
>>464
ブログのテンプレート編集ってあるじゃないですか?
ああいうことをしたいと思っているんです。
公開画面ではCakeのビューは使わずにDBのみで対応するとか

467 名前:nobodyさん mailto:sage [2012/08/02(木) 21:07:49.84 ID:???]
>>466
DBにする必要あんの?

468 名前:nobodyさん mailto:sage [2012/08/02(木) 21:08:00.72 ID:???]
>>466
テーマ使えばいいんじゃないか?
baserCMSのテーマ管理が参考になると思うよ

469 名前:463 mailto:sage [2012/08/02(木) 21:20:15.13 ID:???]
>>467-468
ファイルを直接編集するよりもDBの方が修正しやすいと思いまして。
初期化やコピーする場合とか。

470 名前:nobodyさん mailto:sage [2012/08/02(木) 21:40:40.11 ID:???]
その程度のことなら実体はファイルのままにしておいた方が良い。

パスの情報をコアに教えるのは簡単だし結合は緩いんで、
ディレクトリの構造を工夫して、パスの管理をDBに委ねるっていうのがいいと思うが。
あと、更新履歴なんかはDBに任せられるな。

471 名前:nobodyさん mailto:sage [2012/08/02(木) 21:44:35.65 ID:???]
ちなみにテンプレートファイルを呼び出してるロジックがどこにあるか分かってる?



472 名前:nobodyさん mailto:sage [2012/08/02(木) 22:09:38.31 ID:???]
>>465
最近Azureが更新されて、Linuxの仮想サーバを立てられるようになったり、
仮想ネットワークが組めるようになってる。データの永続化のしきいも下がってる。
俺が試したのはLinuxの仮想サーバ上。CentOS6.2だから素直な環境が組める。
これからPHPの運用環境をAzureに組むなら、どういう基盤が良いか再考したほうがいいよ。

473 名前:nobodyさん [2012/08/02(木) 22:13:49.40 ID:kl7SocZ+]
>>472
サンキュー

個人的にはAWSで行きたいんだけど
お上からの指令でAzureでやんちゃくちゃならない案件なんだよね。

474 名前:463 mailto:sage [2012/08/03(金) 01:19:17.08 ID:???]
>>470
例えばなんですが、ブログのテンプレ(テーマ)って
修正しても元に戻したり、別の物を選べるじゃないですか?
それをファイルで管理するって事は、元ファイルをwebroot以外の場所に置いて、
使用する時に/app/views/themed/以下にコピーするって事でしょうか?
そして、/app/views/themed/に作ったテーマのソースを
file_get_contentsで取得してfopen→fwriteで編集するみたいな。

そうであれば、DBに記録するのも、
ファイルとして用意するのも同じような気がしますね・・・
更新履歴宿のテーマを使うかだけをDBに記録するだけで良いのかなぁ

475 名前:nobodyさん mailto:sage [2012/08/03(金) 07:21:24.39 ID:???]
>>463
WPしか知らんが、あれはファイルの本体があって、更新履歴はDBに保存してる。
テーマの管理はファイルの記述ルールにのっとってリクエストのたびに解決してる。

それをたとえばCakePHPでやりたいんなら、更新履歴の管理はコアとは関係のない実装が可能なので、
コアの拡張はテンプレートのファイル構造の変更だけで済む。
で、それ(ファイル構造)だけならコアの設計ですでに綺麗に切り離されてるから
アプリケーションで対応できると思う。

あと、コアの変更に関してはアプリケーション側でほとんどのコアライブラリファイルを
上書きできるようにしてあるわ。
俺の知識不足だった。
すまん。

476 名前:463 mailto:sage [2012/08/03(金) 14:43:49.29 ID:???]
>>475
詳しく教えていただいたのに恐縮ですが、
おっしゃる意味がいまいち想像できず、理解できませんでした・・。

ここでいう「更新履歴」とは、「どのユーザがどのファイルを更新した」
と言う情報のみを記録するデータでしょうか?
それとも、ソース毎管理するのでしょうか?

当初、私が>>463で記載した「DBをビューで管理したい」が、
別にDBでなくても、もっと便利で簡単な方法があるなら
DBにこだわりはありません。

最終的な目的としては、ブログのように
複数のデザインを切り替えて編集できる機能を持ちたいのです。
それを管理画面から操作したいと思っています。
(そう言う点で言えばWordpressと同じなのかもしれません

477 名前:nobodyさん mailto:sage [2012/08/03(金) 15:25:35.11 ID:???]
お前らに質問です。

ちょっとしたシステムを作る場合とかだと

cakePHP とかのFWを使わずにpure php を使って組んだ方が

環境構築時間を短縮出来て効率が良いと思うんだけど、

お前らはどう思いますか?


478 名前:nobodyさん mailto:sage [2012/08/03(金) 15:33:52.08 ID:???]
フレームワークを使うやつはアホ

479 名前:nobodyさん mailto:sage [2012/08/03(金) 15:44:57.43 ID:???]
>>477
「ちょっとしたシステム」の規模が、掲示板とかお問い合わせフォームとか
その程度の物を指すなら、cake使わなくて良いと思う。

ただ、オープンソースや自作ライブラリを使いながら作るから、
pure phpと違うとは思うけど。

480 名前:nobodyさん mailto:sage [2012/08/03(金) 16:14:27.55 ID:???]
>>477
もちろん場合によります。
当たり前です。

481 名前:nobodyさん mailto:sage [2012/08/03(金) 16:15:48.17 ID:???]
>>478
使う阿呆に使わぬ阿呆
同じ阿呆なら使わにゃそんそん



482 名前:nobodyさん [2012/08/03(金) 18:12:50.67 ID:S+tv8I6e]
>>478

483 名前:nobodyさん [2012/08/03(金) 18:13:45.87 ID:S+tv8I6e]
>>479
自作ライブラリを使った方が
あらゆる機能を把握出来るから
カスタマイズもスムーズに行くと思うんだよね。

>>480
あたりまえだのくらっかー

今回の案件は、オレオレFWで行きますぜ。

484 名前:nobodyさん mailto:sage [2012/08/03(金) 19:08:06.08 ID:???]
オレオレ作って使いたいんだけど、どうしても時間がないから
渋々Cake使ってる
まあ確かに開発は速い、動作は遅い

485 名前:nobodyさん mailto:sage [2012/08/03(金) 19:36:57.12 ID:???]
>ここでいう「更新履歴」とは、「どのユーザがどのファイルを更新した」
>と言う情報のみを記録するデータでしょうか?
>それとも、ソース毎管理するのでしょうか?

そんなことは好きにやればいいじゃん。
CakePHPのコアから見れば全く関係ない。
テンプレートファイルのパスさえ渡してくれたらちゃんと処理してくれる。

分かってるとは思うけど、やろうとしていることはどっちかっていうと、
Cakeが本来想定していない使用方法という意味において応用レベルだよ。
少なくともコアの通常のロジックを一通り理解していないと対応できないんじゃないかなぁ

なんとなく質問のレベルと目指す目標が離れすぎてる気がする。。。
まぁ発想としては面白いんで頑張ってw

あと、WPの更新履歴に関しては勘違いしていた。実際には履歴は保存されていなかった。
でも、それを実装したいならさっき書いたようにDBで保存すればいいんじゃない?

486 名前:nobodyさん mailto:sage [2012/08/03(金) 19:51:51.79 ID:???]
>485 は、>>476 のレスね

ちなみに
>それとも、ソース毎管理するのでしょうか?
は、俺の脳内ではソースを丸ごと保存するイメージ

487 名前:463 mailto:sage [2012/08/03(金) 20:25:43.13 ID:???]
>>485-486
わかりました。アドバイスいただいたことを参考に、試してみます。

488 名前:nobodyさん [2012/08/05(日) 01:21:49.66 ID:R26XMbHJ]
ようやく さくら にcake2 の設定ができたわ。

嘘っぱちの情報を公開しているブログのせいで苦戦したぜw

489 名前:nobodyさん [2012/08/05(日) 19:11:15.04 ID:R26XMbHJ]
Config/routes.php を弄っているのですが何か罪悪感を感じます。
このファイルって弄ってもよいものなのでしょうか?

490 名前:nobodyさん mailto:sage [2012/08/05(日) 19:33:36.03 ID:???]
むしろいじるものだよ

491 名前:nobodyさん [2012/08/05(日) 19:43:03.99 ID:R26XMbHJ]
サンクス。

しっかしcakePHP2.0の設定ってメンドクサイね。
もっと手軽にならないものか。



492 名前:nobodyさん [2012/08/05(日) 22:12:43.47 ID:R26XMbHJ]
下記ページを参考にcakePHPでログイン認証機能にチャレンジしています。

weble.org/2012/03/22/cakephp-2x-auth

ページに記載されている内容を一通り設定し
テストしようと /admin/add にアクセスしようとするとエラーが出てしまいます。

hogehoge.com/admin/add
※tmp/logs/error.log を確認しましたが
エラーに関係しそうなログはありませんでした。

< アクセス時にブラウザに表示される内容 >
Internal Server Error
The server encountered an internal error or
misconfiguration and was unable to complete your request.

Please contact the server administrator, support@sakura.ad.jp
and inform them of the time the error occurred,
and anything you might have done that may have caused the error.

どこに問題があるのでしょうか?

493 名前:492 [2012/08/05(日) 22:28:47.42 ID:R26XMbHJ]
いろいろと試してみたところ、ログイン認証以前の問題が発生している様です。
コントローラ+アクションを作成したにも関わらずブラウザにURLを指定するとInternal Server Errorが起きてます。
助けてぇええええ

★関連する各種ソース
【Config/routes.php】
Router::connect('/', array('controller' => 'tops', 'action' => 'index'));

【TopsController.php】
<?php
class TopsController extends AppController
{
public function index()
{
//デフォルトレイアウト
$this->layout = "ps-default";
}
}
?>

★アクセスパターン@
hogehoge.com/
→正常にアクセス出来てます。

★アクセスパターンA
hogehoge.com/tops/index/
→ Internal Serve Error が表示されてしまいます。


494 名前:nobodyさん mailto:sage [2012/08/05(日) 23:00:58.57 ID:???]
.htaccess とかいじり倒してない?

495 名前:nobodyさん mailto:sage [2012/08/05(日) 23:04:47.87 ID:???]
十中八九設置ミス。
ディレクトリの配置、各種パスの設定をもう一度見直してみたら?

496 名前:nobodyさん [2012/08/06(月) 00:51:05.79 ID:sAYEX+TS]
>>494
デフォルトの侭でも@は正常に動作していましたので
.htaccessへの修正は、 ファイル指定が無い場合には index.php にアクセスさせる様にしただけです。
rewritebase等は全てそのままです。

>>495
うーん。。。
設置ミスですかぁー。


ちなみに実は以前、 cakePHP2.0を別のサクラ鯖に入れた時には
一応動作していました。

実は若干気がかりな点がありまして、cakePHPをDLして解凍した中身※
※cakephp-cakephp-e0b6f86\app\webroot ← この中身
の配置なんですが、現在はCに入れてます。(マルチドメインの中に丸ごと突っ込んでます。)

以前さくらに入れた際にはBで正常に動作していましたが
webrootの正しい配置場所はやはりBなのでしょうか?

B /home/www/{user_name}/{domain_name}/app/webroot/{favicon.ico や index.php...etc}
C /home/www/{user_name}/{domain_name}/{favicon.ico や index.php ...etc}

実は、Bへの配置が本当は正しく無かったと思い、今回はCに配置しました。
それが仇となったのかな?

497 名前:nobodyさん mailto:sage [2012/08/06(月) 02:18:43.07 ID:???]
いや、どっちも正しいよ。
っていうか、ほぼどんなパターンも間違いではない。

ブラウザの要求が webroot の index.php に渡せて、
なおかつ webroot/index.php がアプリケーションを実行できて、
tempディレクトリ内に書き込み権限があれば
どんなパターンでも動く。

で、そういう柔軟な配置に対応させうるために、index.php とかにパスの指定をするようになっている。
中にはデフォルトではコメントアウトしてるのもあったりするので、
量はそう多くないから実行するファイルの順に一度目を通したらいいと思う。

いずれにせよ、それらを逐一順にきっちり設定すれば動くように設計されてる。
むしろ、動かないパターンを見つけて報告すれば話題になるかもしれんよ。
コメントは英語だけど簡単だから絶対読める。

498 名前:nobodyさん mailto:sage [2012/08/06(月) 02:31:25.59 ID:???]
>index.php とかにパスの指定をする

補足すると、公開するWebページの設定だけなら webroot/index.php の設定
Shell を実行するときは App/Console/cake.php の設定
Webページのテストするときは webroot/test.php の設定

で OK だったと思う。
1.3に比べたらかなり設定は楽になってる。

499 名前:nobodyさん mailto:sage [2012/08/06(月) 14:34:51.02 ID:???]
CakePHP の1.3を最後に使ってから2年以上経過して、
今その後継のサイトを作る話が出てるんだけど、
やっぱ最新版を使うべきだよね?

噂では3が出るとかでないとかって話もあるんだけど、それは時期尚早かな?

まだ企画段階で、実際に制作に入るのは10月頃だと思うんだけど。

ちなみにうちは基本、デザインの会社なんで
フレームワーク触れる人間が俺しかいないという惨状 orz...

500 名前:nobodyさん mailto:sage [2012/08/06(月) 14:51:40.29 ID:???]
炎上必死

501 名前:nobodyさん mailto:sage [2012/08/06(月) 15:12:00.57 ID:???]
逆になんで最新版を使うべきだと思うの?



502 名前:nobodyさん mailto:sage [2012/08/06(月) 15:38:20.73 ID:???]
3はまだまだでしょ。楽しみだけど

503 名前:nobodyさん mailto:sage [2012/08/06(月) 15:49:11.82 ID:???]
3は俺も見てみたいな。
モデル周り一新されてるらしいし。
>>501 普通最新版使おうと思うだろw






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

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

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