【PHP】フレームワーク CakePHP 3ホール目【本命】at PHP
【PHP】フレームワーク CakePHP 3ホール目【本命】 - 暇つぶし2ch824:nobodyさん
08/05/20 11:01:51
>>823
URLリンク(cakephp.jp)
かな

825:nobodyさん
08/05/20 11:16:01
CakePHP 1.2 stable coming soon と言ってるから、そろそろ 1.1 -> 1.2 移行手順をまとめたいな

絶対に手を入れるところ
推奨されているところ
とか
はまりポイント
とか

826:nobodyさん
08/05/20 11:38:08
URLリンク(puyo2.upper.jp) のPDFを中心に

■絶対に手を入れるところ
・設定ファイルの変更(Warning出しながら動くけど)
# /app/config/core.php
define('DEBUG', 1);
→ Configure::Write('debug', 2);

→ Configure::write('Security.salt', 'your original string'); # add

・ヘルパー変更に伴い、view全般
非推奨または廃止されたもの
$html->input
$html->submit
$html->tagErrorMsg etc...
新たに強化・追加されたもの
FormHelper
PaginatorHelper
XMLHelper

■推奨されている
・validatesに引数を渡さない
$this->ModelName->validates($this->data);
→ $this->ModelName->data = $this->data['ModelName'];
→ $this->ModelName->validates();
・viewの拡張子
action_name.thtml
→ action_name.ctp

間違いあったら訂正よろしく

827:nobodyさん
08/05/20 13:22:09
find系もなんか修正あったんじゃなったけ?

828:nobodyさん
08/05/20 19:13:39
検索してもうまく見つけられなかったので、教えてください。
SELECT * from `Model` WHERE ( `Model`.`field_1` like '%xxx%' OR `Model`.`field_2` like '%xxx%' ) AND `field_3` = 'yyy';
みたいなSQLを発行したい場合の$conditionsの指定はどうしたら良いのでしょう?

また、
SELECT * from `Model` WHERE concat( `Model`.`field_1` , `Model`.`field_2` ) like '%xxx%';
というのも知りたいです。

829:nobodyさん
08/05/20 19:19:52 wZOYKZBI
バージョン1.2のAuthComponentでの認証で二重ログインを防ぎたいんだけど、
良い方法か参考ページがあったら教えて下さい。

830:nobodyさん
08/05/21 01:03:54 +T6Kz2/1
CakePHPってDBのカラム名まで縛るのね。
その時点で候補から外れたね。

831:nobodyさん
08/05/21 01:16:01
>>830
さようなら。
その縛りなしで行こうと思えば行けるんだけどな。
じゃぁの。

832:nobodyさん
08/05/21 01:57:45
>>830
そんなに大変?
たしか、RoRでもあったと思うけど。

idとcreatedとmodifiedくらいしか意識した事ないけど、
他にもあるのかな?

833:nobodyさん
08/05/21 02:29:51
というかしばるから便利なわけですが

834:nobodyさん
08/05/21 10:27:32
>>832
name or title フィールドでgenarateListが自動的にidと配列を返す
あとは、xxx_id とか xxx_yyy とかのアソシエーション系かな?

いずれにせよCoCの理念に同調できない人はRoRをはじめとしたフレームワークは無理だわな。
RoRではなく、Cakeスレに書き込む>>830に乾杯

835:nobodyさん
08/05/21 12:50:06
> name or title フィールドでgenarateListが自動的にidと配列を返す
そういえばそんなものもあったね。1.2では
find('list')にかわるわけだけど。

ソース見たけど、1.2betaの段階では、フィールド名指定する方法
無かった気がする。なんでだろうね。

結局は、genarateListを1.2で動かしたときの警告の通り
find('all')の検索結果をSet::combine($results, $keyPath, $valuePath);
しているだけなんで、自分でやればいいんだけどね

> あとは、xxx_id とか xxx_yyy とかのアソシエーション系かな?
これはなぁ・・・みんな同じような名前のつけ方しない?
○○テーブルのIDなんだから○○_idって。

836:nobodyさん
08/05/21 18:07:50
カラム名とか考えるの苦手なんで縛られてた方が楽だな俺は。
コントローラ名とかメソッドの名前とか考えるのホント嫌。かっこいい名前考えるセンス無くて。

837:nobodyさん
08/05/21 18:10:51
スペル調べたりするのも面倒だから、ローマ字とかw

838:nobodyさん
08/05/21 18:29:28
たしかに項目全部のスペル調べるのって時間かかるよなw
非英語圏の俺涙目

839:nobodyさん
08/05/21 22:53:45
>>838
あれ、こんなところに俺がいるぞ?w


最近、アルクで調べるようになって、ちょっと楽になった。
URLリンク(www.alc.co.jp)


カラム名は適当な英語でいいが、テーブル名はきちんとした英単語になってないと、
単複の変化がねぇ。。。

840:nobodyさん
08/05/21 22:58:34
ローカルに辞書ソフト入れておいたほうがいいぞ。
どうもウェブだと時間がかかる。

おれはMS Officeについていたbookshelfを使っている。

841:839
08/05/21 23:38:50
>>840
Bookshelfか。懐かしいなぁ。

Bookshelfもいいんだけど、アルクは例文がいろいろ出てくるので、
そこがおすすめ。
たしかにローカルの方が速いけどね。

842:nobodyさん
08/05/22 00:42:45
>>839

俺発見!

843:nobodyさん
08/05/22 09:57:07
□cake.phpがapp/webroot以下のsqliteファイルを見てない?

sqliteファイル(app/webroot/cake.sqlite)を用意してから
cake.phpを実行しているけどエラーメッセージが出て怒られる。

sqliteファイル(app/webroot/cake.sqlite)を
./cake.sqliteに移動してやると「Bake All complete」。

□エラーメッセージ
$ php cake/console/cake.php bake all Post
...
Error: Missing database table 'posts' for model 'Post'

□app/config/database.php
<?php
class DATABASE_CONFIG {

var $default = array(
'driver' => 'sqlite',
'persistent' => false,
'host' => 'localhost',
'port' => '',
'login' => '',
'password' => '',
'database' => 'cake.sqlite',
'schema' => '',
'prefix' => '',
'encoding' => ''
);
}
?>

844:nobodyさん
08/05/22 13:44:12
英語の豆知識
Data : 複数形
Datum : Dataの単数形

CakePHPやるまで知らんかった。。。


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