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

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

504 名前:nobodyさん mailto:sage [2012/08/06(月) 15:57:02.65 ID:???]
>>503
これから始めるならそうだけど、1.3で作ったものがあるんでしょ?
普通使い回すだろうし、そうしないならそれなりの理由があるだろう

505 名前:nobodyさん mailto:sage [2012/08/06(月) 15:57:49.75 ID:???]
3は今年中にアルファ版が出るかどうかってレベルでしょ。
正式版は来年以降だろうし、使えるようになるのは再来年だと思う。
つまり、まだまだ2系で良いと思うよ。

506 名前:499 mailto:sage [2012/08/06(月) 18:34:12.11 ID:???]
>>500
やっぱりやばいですかねぇ。自分自身、いつもいつもスクリプト触ってるわけじゃないんで。

>>501
いや、ただなんとなくです。
前のサイトのサーバーはPHP4だったのですが、今度のは最新の環境で出来るので、せっかくなら新しい方が楽しいかなと(^^)

>>502
まだまだ見たいでしたね。ちょっと今回は関係なさそうです。

>>503
モデル周りが変わるということは、今までの作り方とは大きく変わるんでしょうかね。
そうなるとまた勉強することが増えて大変です(汗

>>504
前のサイトはそのままにして、兄弟サイトのようなものの作成になるのですが、
クライアント様は機能的には今のままで満足されてて、
デザイン重視の要求ですので、どうやら2系の方がビューが扱いやすいような書き込みを見ましたので
一応新規で作成する予定ではありました。

ただ、使いまわせるとは思うので、検討してみます。

>>505
そうですね、3は全く手を出せる時期ではないんですね。

皆さんアドバイスありがとうございました。
時間を見つけて一度2系でプロトタイプ的なものを作ってみたいと思います。

507 名前:492 mailto:sage [2012/08/07(火) 00:30:47.68 ID:???]
一向にcakePHP2の設定がおかしいようです。

さくらのエラーログを確認してみたところ次のエラー出ています。

[Tue Aug 07 00:23:12 2012] [error] [client 222.222.222.222]
Request exceeded the limit of 10 internal redirects due to
probable configuration error.

Use 'LimitInternalRecursion' to increase the limit if
necessary. Use 'LogLevel debug' to get a backtrace.

>>493 で記載したURLのうち A でアクセスするとダメです。

はやくこんな環境設定部分はクリアして開発したいのですが。。。まいった。

508 名前:492 mailto:sage [2012/08/07(火) 00:35:25.67 ID:???]
rewriteBase直したら行けました。

なるほど。一応ここさへ指定をしっかりしてあげればどんなディレクトリ階層でも
動きそうですね。


cakePHPって素敵w

509 名前:nobodyさん mailto:sage [2012/08/07(火) 02:57:36.83 ID:???]
>>508
でしょ〜!

510 名前:nobodyさん mailto:sage [2012/08/07(火) 03:22:44.25 ID:???]
うん。
cakePHP って素敵だわ!!

511 名前:nobodyさん [2012/08/07(火) 23:00:42.56 ID:VIyBwqSF]
cakePHPのヘルパーについて質問があります。

echo $this->Form->input('email',Array('label' => false,'class' => 'cb','style' => 'width:200px;'));



<div class="input text required"> ←この<div>タグに cssやstyle を設定するにはどうすれば良いでしょうか?
  <input name="data[User][email]" class="cb" style="width:200px;"
  maxlength="120" type="text" id="UserEmail">
</div>


512 名前:511 [2012/08/07(火) 23:03:59.17 ID:VIyBwqSF]
自己解決いろいろできるんだね。cakePHPは。



513 名前:nobodyさん mailto:sage [2012/08/08(水) 01:47:43.67 ID:???]
ですです。

514 名前:nobodyさん [2012/08/08(水) 18:28:34.00 ID:LAYqfGos]
cakePHP2.0 で下の構文は使えなくなったのでしょうか?
画面よりログインボタンを押下し
期待している動作としては、ログインに失敗した場合
ユーザ名もしくはパスワードに誤りがあります
というメッセージが画面に出る事を期待しているのですが
setFlashの方が優先されてしまいます。


public function beforeFilter()
{
parent::beforeFilter();
$this->Auth->loginError = 'ユーザ名もしくはパスワードに誤りがあります';

}


public function login()
{
       //認証NGの場合
$this->Session->setFlash(__('残念!'), 'default', array(), 'auth');
}


515 名前:nobodyさん [2012/08/09(木) 18:05:47.44 ID:DMpFXPo0]
cakePHP2 の認証系の勉強をしています。
そこで↓を参考にしてアカウントの作成まで行う事が出来る様になったのですが
cake_sessions とusers
テーブル上のレコードを全て削除した上でアカウントを作成しても
常に

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

users.id の値がインクリメントされた状態で入ってしまいます。

例)
users.id = 15 の状態でこのレコードを削除し
再び登録処理を行った場合には
users.id = 1 が入って欲しいのですが
users.id = 16 が入ってしまいます。

原因をご存じの方がいらっしゃいましたらお教え下さい。



516 名前:nobodyさん [2012/08/09(木) 18:16:09.26 ID:DMpFXPo0]
あと、 cakePHP2 でcronを走らせる場合の方法を細かく説明している
おススメサイトがあったら教えて下さい。

517 名前:nobodyさん mailto:sage [2012/08/09(木) 20:07:01.62 ID:???]
なんでも聞くな
調べろカス

518 名前:nobodyさん [2012/08/09(木) 20:25:01.28 ID:DMpFXPo0]
調べ方を教えろや

519 名前:nobodyさん mailto:sage [2012/08/09(木) 20:35:28.78 ID:???]
お前のかいた「cakePHP2 でcron」でぐぐったら先頭にそれっぽいのあるだろかす
書き込むなかす

520 名前:nobodyさん mailto:sage [2012/08/09(木) 20:44:18.25 ID:???]
>>515
idがauto incrementだからじゃねの?

521 名前:nobodyさん mailto:sage [2012/08/09(木) 21:44:41.71 ID:???]
>>515
逆にusers.id = 1だと非常にまずい気がするんだが。

522 名前:nobodyさん [2012/08/09(木) 21:53:08.28 ID:DMpFXPo0]
>>520
Ou!! サンキュー


>>521
なぜまずいのでしょうか?

true と判定されちゃう?とか?



523 名前:nobodyさん mailto:sage [2012/08/09(木) 21:54:01.87 ID:???]
CAKEでもPHPでもなくDBの問題だろ
>テーブル上のレコードを全て削除した上で
オートインクリメント値を戻せよ
それなんですか?とかまた聞くなよ?調べろ

524 名前:nobodyさん [2012/08/09(木) 22:40:10.77 ID:/OApl7of]
↑それくらいわかるわ。

525 名前:nobodyさん mailto:sage [2012/08/10(金) 00:50:06.97 ID:???]
けんか腰になるな良く図が

526 名前:nobodyさん mailto:sage [2012/08/10(金) 01:10:09.25 ID:???]
日本語もかけない癖して人様に文句を垂れるなよ >>525

527 名前:nobodyさん mailto:sage [2012/08/10(金) 02:30:02.81 ID:???]
>>526
2ちゃんで何言っちゃってんの?

528 名前:nobodyさん mailto:sage [2012/08/10(金) 03:20:41.62 ID:???]
それくらい誰でもわかるってことを
延々質問してるわけだけど

529 名前:nobodyさん mailto:sage [2012/08/11(土) 02:22:52.66 ID:???]
ルーティングって動的に変えられるのでしょうか?
DBに登録した設定で管理したいのですが。

530 名前:nobodyさん mailto:sage [2012/08/11(土) 11:13:49.63 ID:???]
>>529
タイミングによりますよ
普通は routes.php に記載しますから、その時点で独自にDB接続することになります。

routes.php よりも後で設定できますか?って質問なら、分からないけど多分CakePHPの想定外なのでやめた方が良いのと違う?ってことになります

531 名前:nobodyさん mailto:sage [2012/08/11(土) 13:25:15.29 ID:???]
>>514

亀レスだけど、CakePHP2ではAPIが変わってるからドキュメント読み直した方が良いよ。
loginError っていうプロパティは無くなってます。

532 名前:nobodyさん mailto:sage [2012/08/11(土) 13:51:30.91 ID:???]
>>530
そうですか・・。Wordpressにあるように
ユーザがルーティングパターンを選択できたらいいと思ってたんです。
無理と言うことなら諦めます。



533 名前:nobodyさん mailto:sage [2012/08/11(土) 13:58:26.18 ID:???]
え?WPってそんなことできんの?

534 名前:nobodyさん [2012/08/11(土) 20:59:09.76 ID:nk3X9t5Y]
コントローラで
$this->paginate = array(
'limit' => 3,
'order' => array('Foo.bar' => 'asc');
)
$this->set('foo',$this->Paginate());
としてもFoo.barのasc順になりません
数字を書き換えると1ページの上限がかわるので、1行目での設定が無視されてるわけではなさそうなんですが
どうすれば順番の指定ができますでしょうか?
ご教示お願いいたします

535 名前:nobodyさん mailto:sage [2012/08/11(土) 22:14:02.92 ID:???]
orderってarrayで指定できたっけ?

536 名前:534 [2012/08/11(土) 22:33:59.62 ID:nk3X9t5Y]
>>535
念のため
'order' => array('Foo.bar' => 'asc');

'order' => array('Foo.bar asc');
に書き換えてみましたが順にならなかったです
よろしくお願いいたします

537 名前:nobodyさん mailto:sage [2012/08/11(土) 22:41:47.17 ID:???]
'order' => 'Foo.bar asc'

538 名前:534 [2012/08/11(土) 22:46:39.98 ID:nk3X9t5Y]
>>537
ありがとうございます
それでも順になりませんでした
念のため他にpaginateを指定してる個所がないかスクリプトにpaginateで検索をかけたところ、
$this->paginate = array(

$this->set('foo',$this->Paginate());
しかヒットしなかったので、どこかで指定しちゃってたってことでもないようです

539 名前:nobodyさん mailto:sage [2012/08/12(日) 15:50:49.77 ID:???]
ログイン中のユーザIDを取得するにはどうしたらいいですか?

Usersテーブルを認証用のテーブルとして使用しています。
    id / email / password / created

イメージとしては下の感じで取れそうだったんですが。

$this->Auth->id

540 名前:539 mailto:sage [2012/08/12(日) 15:52:15.00 ID:???]
自己解決しました。

541 名前:534 [2012/08/13(月) 03:34:01.92 ID:DBWlC9mq]
$this->paginate = array(

$this->set('foo',$this->Paginate());
の第三引数にorderを設定したらいけました

542 名前:nobodyさん [2012/08/14(火) 15:24:43.09 ID:Gol/k/SD]
$this->Article->id = 3;
$this->Article->read(); // reads a third record
$record = $this->Article->data // stores the third record in $record

↑これでレコード取得できるんだけど、

$this->Article->id = 3;
$reacord = $this->Article->read();

↑これでも取得できなかったっけ?あれ?俺の勘違い??
今やってみるとNULLが帰ってきてる
$this->Article->data
ってやるとちゃんと取得できてる
今までのコードずっと
$reacord = $this->Article->read();
で取得してるコード書いてて、
それで確認できてるはずなんだけどな、、、??



543 名前:nobodyさん mailto:sage [2012/08/14(火) 17:20:28.09 ID:???]
>>542

後者の書き方でも問題ないはず。
そしてコアのModel::read()メソッド自体は1.2から特に変わっていない。
となると、考えられる原因は
1)自前で書いたbeforeFind()でしくじっている
2)ビヘイビアで何やら起こっている
3)AppModel.phpかArticle.phpでread()メソッドをオーバーライドしていて
 コアのread()挙動が変わってしまっている

なんにせよ、debug()祭りで原因箇所を探すべし

544 名前:nobodyさん mailto:sage [2012/08/14(火) 17:24:28.52 ID:???]
すまぬ。
>>543の1)はafterFind()で読み替えてくれい







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

前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