【PHP】フレームワーク CakePHP 15ホール目【v2.2】
1 :
nobodyさん :
2012/12/04(火) 13:06:36.87 ID:ExCLhBiP
2 :
nobodyさん :2012/12/04(火) 13:09:23.87 ID:ExCLhBiP
前スレ埋まりそうなので建てた リンクの順番を変更したり2.x系のマニュアルを追加したりした テンプレらしきものは見当たらないのでこれ以上何もしない 独断でやった 反省はするが後悔はしない
乙
2.3で、find('first')でデータが空だったときにnullでなく空arrayで返ってくるようになったのが 地味に痛いのだが、俺だけ?
そうなん? empty とかでチェックしてたから気が付かんかったけど、 なんでそんな仕様変えたりするんかな。
6 :
71 :2012/12/05(水) 13:24:23.83 ID:???
cakeの複数形って何のためにありますか? 機能的にはなくても問題ないですよね?
コンピュータはアングロサクソン文化。 それに異を唱えたところで無駄な抵抗。
>>5 find('all')の挙動とか考えると、戻りがarrayで統一されるのは良いことなんだけどね。
適切に判定するよう、2.3に合わせてソースを修正中。
ってか、まだRC-1だよね?
RC-1だろうが、最新を追いかけておけ。
何目線?
2.2.2だけどShellが動かない、検索してみてもどれが正しいのかルールが変わりすぎ app\Console\Command\MyShell.php (mainだけの空ファイル) path通ってて、app\Console\Command>cake my ↓ Error: Shell class MyShell could not be found.
app/ ディレクトリに移動 >Console\cake my
いや、ちょっとまった。 そのエラーは cake.php の設定ミスだ。
いややっぱ違うか、実行ディレクトリの間違いか
16 :
12 :2012/12/06(木) 21:43:46.92 ID:FnAkDg6W
すいません app\Console>cake my で実行してます、どっちも試したけど…
ちなみに MyShell はちゃんとAppShellというか、CakeShellクラス継承してる?
18 :
12 :2012/12/06(木) 22:14:11.45 ID:???
>>17 下記のとおりです
class MyShell extends AppShell
{
public function main() {
}
}
んー、おかしいな。 Console\cake って叩いて -app: と [app] を確認してみた? まだなら一度やって報告してみて
20 :
12 :2012/12/06(木) 23:06:05.43 ID:???
>>18 -app どこかで見かけたけど見つからない
cake -app:xxx my cake -app:[xxx] my
では動かなかった
Cakeの外からphpで呼ぶしかないか…
え? 単に Console\cake を叩くだけだよ。 んで、基本情報吐いてくれるからそれを見て確認してってこと。 Current Path: の下に -app: っていうのがあるでしょ? そこに -app:app ってなってればいいんだけど、そうじゃなければ何らかの理由で別の場所に読みに行ってるから。 あと Available Shells: の下に [app] っていうのがあるでしょ? その右に使用出来るコマンドがカンマ区切りで並んでる。 そこにもし my ってのがあったら Console\cake my で呼び出せるはず。 まぁ、多分そこには表示されてないんだろうけど。一応確認してみて。
22 :
12 :2012/12/06(木) 23:28:29.34 ID:???
>>21 -app:Console
と
Available Shells:の下は
[CORE]
の横には my はないです
-app:Console はい、ダウト cake.php の設定ミスだ
いや違うわ。 お前、 Console ディレクトリにいるだろ!
しまった、
>>16 ですでに間違いが書かれてた (´・ω・`)
俺が未熟だった orz...
悪いのは全て俺だ。。。
27 :
12 :2012/12/06(木) 23:43:56.68 ID:???
>>24 そうでした、app/にて、エラーが出ないで無事通りました。
大変お世話になりました、有難うごさいます。
28 :
12 :2012/12/06(木) 23:54:10.76 ID:???
>>26 いやネット上に1.3とかの情報がゴチャゴチャになってる状況なのもやっかいで
DirectX8と9やActionScriptの2.0と3.0とかも検索してソース見てると
混乱したのを思い出します。
cake.batの使い方がうまく伝わらない所が問題かなと思います。
丁寧なご指導有難うございます。
2系しかやってないからだけど、マジで1系の情報が強すぎてうざい
1系の情報を全部2系に書き換えて解説するブログをやれば人気出るかもしれないぞ
検索するときに CakePHP2 とかわざわざ書かないとフィルタかからないから意味ない と言うよりも、キーワードからバージョンを推測できない問題は そもそも同じ名前でリリースしたことにあるわけで、 これだけ仕様の異なるプロジェクトなら名称を変えるべきだった。 これはCakePHP2の最大の失敗だったと思う。 3系は是非名前を変更してほしい。
は? 世の中のプロジェクト全てにケチ着けてこいよ
いや、世の中の他のプロジェクトは俺には関係ないからどうでもいい。 悪いけど、自分のことしか考えてないんで。
普通に「cakephp2」で結果に出るなら良いじゃん 2って打つのがめんどくさいのかな
35 :
nobodyさん :2012/12/09(日) 00:25:34.67 ID:XFBeRYmD
echo $this->Form->end('作成'); を実行すると <input type="submit" value="作成"> となりますが、 <input type="submit" value="作成" onclick="return validateValue();"> という風にsubmit前にJavaScriptにてバリデーションチェックを掛ける方法はありませんか?
$label = '作成'; $options = array('onclick' => 'return validateValue();', 'key' => 'value', 'key2' => 'value2', ...); echo $this->Form->submit($label, $options);
処理に時間がかかる際の途中経過を表示したいのですが 通常phpならflush()ですが、MVCですし$this->render();でもダメなので Cake独自の方法があれば教えてください。
38 :
nobodyさん :2012/12/10(月) 16:08:56.64 ID:R1lJ7E8n
>>36 ありがとうございます。
何とか出来そうです!!
てす
公式フォーラムがたよりないのでこちらに。 Cakeって1テーブル1モデルが基本だけど、2つ以上テーブルが必要な処理ってどこに書いてる? アソシエーションの関係にないモデルが複数要る場合。JOINで済ませることも出来ない場合。 コントローラにごちゃごちゃ書きたくないけどモデル内で別モデルのインスタンス生成とかやりたくないので そういう処理は全部コンポーネントに書いてるのだが、 そうするとコンポーネントがどんどん太ってモデルは空っぽになったりする。 別にそれでいい気もするが、MVCとしてなんか腑に落ちない気もする。
>モデル内で別モデルのインスタンス生成とかやりたくない えーーー、なんでやねん!
>>40 あるモデルの中から他のモデルに働きかけたりするだろ普通
Cakeの話をするとスレが止まる何このスレ・・・
>>41-42 それやると典型的スパゲティになるからやめてくれ
引き継いだ他人のコードでそれがあると最悪
44 :
nobodyさん :2012/12/17(月) 08:31:59.11 ID:+2kdBB2j
>>40 2.2だけど下記じゃだめなの? 基本Controllerに書いてるけど
App::import('Model', 'Data');
App::import('Model', 'User');
class DataController extends AppController
{
$this->Data = new Data();
$this->User = new User();
処理
}
>>44 コントローラに書くのに普通に$uses使わずそう書く理由は?ていうかそれ合ってるのかね
コントローラに全部書く方針で行くならそれはそれでありだと思う
俺はコントローラの流れが見辛くなるのが嫌だからなるべく太らせないようにしたい
ベストプラクティスでも読んでろ低能
>>44 意味もなく非推奨な実装するな
普通に ClassRegistry::init 使えよ
そんなレベルの発言されるとバカが増える
それか
>>45 で言ってるように Controller::$uses に記述するかだ。
>>46 ひどいサイトだな。
冒頭のコントローラの解説で、
モデルはDBアクセスに関する機能だから、
DBを使わなければ不要だなんて言っちゃってるし。
そっ閉じしたわ。
職業プログラマで、こんな糞コードを書いてたら大変だぞ。
こんなサイトにブクマが130超もついてるなんて、本当に青ざめるわ。
そのサイトの奴は古いMacユーザーなら知ってる名前だわ まあ昔からそんな調子だけどw
ちょっとハマってます。 検索してみると漢字の名前のorderではアイウエオ順では並ばないとの事。 別カラムにひらがなで読みを入れれば並ぶらしいところまで…
お、おう そのまま抜けださないでおk
フレームワークというのを初めて使ってみてとても便利と思ったけど、 どういう仕組で動いてるのかさっぱりわからん みんな分かって使ってんの?
何がわからないのかわからない PHPが読めんの?
とりあえず自分がコード書くとこに関わるAPIはそこそこ把握してるけど、 中で何してるかまではしらない。 こう投げたらこう返ってくるが分かってればとりあえず使えるからね。 とはいえ、たまには中を読まないと解決できないはまりもあるけどな。
54だけど、まさに56の言う通り。 マニュアル読んで、最近話題の実践何とかっていう本も読んでサイトも作って公開した。 途中思うように行かないところ多数あったけど、とにかく公開を有線させたかったんで、 できないところは端折ったりしてなんとか公開にこぎつけた。 過去にフルスクラッチで書いていた頃に比べると 圧倒的に短時間でサイトができた。 ただ、なにか問題が起こった場合、ブラックボックスだらけなんでめちゃ不安。 そこらへん、みんなは中の挙動を全て把握できてるのかなと思って。
たとえば
http://example.com/posts/view/1 で、確かに posts テーブルのid=1のレコードが表示される。
その間、PostsControllerがPostからid=1のレコードを取得して
view.ctpにそれを渡してそのページが
レイアウトの中に埋め込まれて表示されているってことはわかる。
でも、そもそもなんでそのURLで PostsController のインスタンスが生成されて
Posts::view のメソッドに1というパラメータが渡されて呼び出されるのか。
そういうことを分かってないので今すごく気持ち悪い。
あと、設定ファイルに書いた情報も、どのタイミングで取得されてるのかとか そんなことみんな当然分かってやってるのか、逆にそんなことは全く知る必要がないと思ってるのか、 あるいは必要に応じて調べてるのか、その辺りどうなのかなというのが疑問です。
>>56 さんは、必要ならその時調べるってスタンスでやってるのですね?
どうもありがとう。
そんな事言い出したら何も使えなくなっちゃうよw jQueryなんか中身ちゃんと解ってない人ばかりじゃない?
>>61 たしかにそうかも知れませんね。
ただ、自分は jQuery は昔のバージョンですがひと通り目を通しましたよ。
そんなに複雑なことはしてないので一日あれば大体わかります。
ただ、派生ライブラリは全然分からずに使ってますね〜、ちょっと気味悪いと感じながらも。
それ言うならOSも中身わかってないと気持ち悪いのか?
ちゃんとやってるわけじゃないけど、各層の境界だけ押さえとけば とりあえずはいいと思ってる。 リクエストに含まれる各パラメーターが、コントローラーに来た段階でどうなっているのか。 phpからDBへ格納する時どうなってるか。 テンプレートに吐き出すとき、どうなってるか。 ブラウザとphpとDBの間さえ意図通りなら、まぁ滅多な事にはそうそうならんと思う。 例えば、確認したの1系の頃だけど、リクエストはほぼそのままコントローラーに入ってくるから、 無対策でバイナリセーフでないphpの組込関数を使うのは危ないなとは思った。
自分で構造を納得しないと使えないなら、 諦めるか似たようなの作ってみるかどっちかしか無いよ。 俺は後者だったから、Cakeの縮小版みたいなの作った。 フレームワークの基礎は覚えたつもりだけど、 深入りすると難しくなるから、Cake使ってる。
分からんフレームワーク使うくらいなら自作のフレームワーク使うわ
自作のフレームワーク使うくらいなら分からんフレームワークを分かるようにするわ
ブラックボックス上等 そもそもPHP自体がソース見ない限りはブラックボックス
2人以上で開発するなら、自分で作ったコンパクトなフレームワークも、 他の人にとってはブラックボックスだったりね。
2人以上で開発するケースって殆ど無いよね 大手とかそれなりの人数が揃った開発チームで、 ってのならわかるけど。
え?
え?
73 :
nobodyさん :2013/01/07(月) 00:59:35.07 ID:9jm4x9DA
74 :
nobodyさん :2013/01/07(月) 03:26:08.50 ID:1/OpG9mz
そしてスレはひっそりと止まった
Cakeで作るようなものは小規模だから1人で開発するでしょ って言いたかったのかな
ORM以外なんとか全容が掴めてきた イベント周りに手こずったわ
大規模ってどのくらいですか?テーブル100以上ですか?
79 :
nobodyさん :2013/01/08(火) 16:57:43.92 ID:wT0DGdoq
大規模の定義なんてあるのか?
あった気がする
81 :
nobodyさん :2013/01/09(水) 14:58:19.50 ID:FsynrIWD
cakephp1.3で教えて頂きたいんですけど、 routes.phpで、携帯サイトのみ以下の一文を付けたいのですが、 routesではhelperも使えないので判別に困っています。 helperが使えたらktaiライブラリを使っているので一発なのですが… なにかいい手はないでしょうか? お願いします。 Router::connectNamed(true, array('argSeparator' => '~'));
>>81 routes.phpにユーザーエージェントを判別するコード書いて
PC以外のアクセスにはconnectNamed指定したら良いんじゃないか?
1.3.15を使っています。 アソシエーションでconditionsを使う場合と使わない場合があります。 (例えば、非公開の投稿件数を表示する・しない 場合など) 今はコントローラーで、 一旦unbindModelをしてbindModelで再定義しているのですが、 モデル内で分岐させる方法はないでしょうか?
別名でもいっこアソシエーションセットすればいい んで、いるアソシエーションのみcontainで指定して引っ張る
アソシエーションのとこのconditions書いたこと無いんだけど、 それfind()に渡すパラメーターで表現できないの?
自動で関連モデル引っ張って来てくれる時に条件付与してくれるってだけだと俺は思ってるけど それでも便利じゃん
>>86 それだけかぁ。
なら別名同一モデルよりはcontainに書きたいな。
その場限りの条件なのか、モデル定義の根幹に関わる条件なのか。 それだけじゃないの?
89 :
83 :2013/01/11(金) 11:42:41.15 ID:???
>>84 それすると書く量や修正箇所が増えるんですよね・・。
>>85 自分はバーチャルフィールドにしているので、
find側でアソシエーションの条件は決められないっぽいです。
それができるとかなり便利なんですけどね。
>>88 どちらかというとその場限りですね。
「非公開の投稿件数を表示」って、管理画面で確認する程度ですし。
>>89 バーチャルフィールドって、なんか敬遠したい雰囲気だったから使ったこと無いけど、
調べたらconditionsには使えるみたいだから
contains => array(Model => array(conditions))にも使えるんじゃないの?ダメなの?
91 :
83 :2013/01/11(金) 17:40:54.59 ID:???
92 :
83 :2013/01/11(金) 17:49:51.59 ID:???
>>90 できました!コードが間違っていたようです。
containsではなくて、containでした。
対象のモデルに
var $actsAs = array('Containable');
を追加して、
findに'contain' => array('Posts' => array('conditions' => array('Posts.status' => 1))),
を追加すると、バーチャルフィールドでもconditionsが効きました。
containを教えていただいた方、ありがとうございました。
>>92 Containable使ってなかったのか。
これはもう必ず使っても良いくらいのビヘイビアだよ。
Modelのrecursiveプロパティと、やることが被ってるから、そこは注意が必要だけど。
class AppModel extends Model {
var $recursive = -1;
var $actsAs = array('Containable');
}
具体的には必ずContainable使うなら$recursiveはbelongsToすら取らない設定にするのがいいけど、
bakeして作った画面はbelognsToは来ること想定してるから、
containsにちゃんと書かないといけない。
その代わりアクション毎に指定したモデルだけを取れるから、無駄なSQL発行されない。
containだったか。他がconditions, fieldsってキーだからついcontainsって書いちゃうんだよな。
最新の日本語のマニュアルがないからcakephpの勉強をあきらめていたんだが 本家のほうにあったなんて 検索で1番上に表示されるcakephp.jpは害
>>94 メンテナンスできないなら作るな、っていう感じ
やっぱりメンテナンスされてなかたったんだ 今日からcakephpの勉強をしたいと思います
Cakeろくに管理されてないから終わっとるな 英語の公式以外で入手できる情報は基本ないと思ったほうが良い ぐぐっても出てくるのは古いゴミみたいな情報ばかり 日本語なら、なるべく新しい本を買えばまだましなのかな、多分2冊ぐらいしかないはず
本なんかより 英語のマニュアルと、つまったらソース読むのが一番速い上に勉強になる
Cakeって公式のforumないの? Unofficialてのがあるけど、質問してもレスつかんかった
>cakephp.jpは害 激しく同意 あそこは潰したほうが CakePHP のためになる
あと、ドキュメントの翻訳を反映させるのが地獄。 自分用に何ページも翻訳あるんでよかったら使ってもらおうと思ったんだけど 糞めんどうくさいんでやめた。 そんな人結構たくさんいると思う。 チェック機構すら無い簡単過ぎる更新もどうかと思うけど、 今みたいな sphinx 形式に整形して github で pull request するなんて、 ほんの一握りのマニアしかやりたいとは思わないよ。
>>102 dクス
過疎ってるしめちゃめちゃ重いな、やっぱCake運営っていろいろ駄目だな…
Cookbookの翻訳はしてる人たちは居るけど、人手不足やね。 あとベースとなる英語も、ユーザーベースで書いてるから、追従は大変。 翻訳する意欲のある人は、翻訳をすることで英語力が身につき、 もう英語読めばよくね?となってしまうとか聞いた。
SOHOのWeb屋やってるけどさっぱり仕事がないから お金くれれば俺が翻訳やってやるのにな ただではやらん
>>105 マニュアル本の自費出版でもしたら良いんでない?
そこで今はAmazonで電子書籍出版ですよ 100円ぐらいで売れてる書籍結構あるよ
ドキュメントの翻訳は左のツリーにないページがたくさんあるんだな。。。 まだ50%程度か。 未翻訳のページもそのままリンク張っておいてくれたらいいのに。。。 文句言う筋合いじゃないけど、なんだか細かい所でイラッと来るわ。
やっぱり閉鎖したほうが良いのかもな 管理できないのであれば
誰に抗議したらいいの?
>>109 翻訳サイトは cakephp.jp じゃなくて、本家 cakephp.org の一部。
なので、閉鎖とかじゃなくて単にページのHTML化の問題。
>>110 とりあえず cakephp.jp のフォーラムに書き込めばいいと思う。
1系の頃はcakephp.jpも役に立ってたんだけどね。 本家のask.cakephp.orgが1.3 と2の間くらいで、確か出来たけど、 あれ完成度悪いと思う。 個人的にも本家が出来たからあれに移行してやっていこうって気持ちにはなれなかった。 そして何故かユーザーは多いはずなのに両方が過疎る残念な状況に。
やはりシステムの出来って大事なんだね 駄目システムでも流行ることはあるとは言え、やはり大事
で、でた〜〜wwwOSSの有志運営のサイトにケチ付け奴〜〜〜〜wwww おまえがやれとしか言いようが無いわ
機能してないサイトを残しておくだけで 「俺はオープンソースに貢献してます」って肩書きに書けるもんな 楽だよな
現状の問題点を述べているだけで、別にケチ付けてるわけではない 文句言う筋合いじゃないけどって書いてるでしょ
動いてなければ運営しているとはいえません
「貢献しました」「したことがあります」みたいな過去形なら可能か
中途半端な貢献は混乱をきたすだけだ
1系の頃はかなり役に立ってたけどな。 誰が運営してるのか良く分からんけど、たぶんもうCakePHPやってないんかね。 想像だけど、CakePHPから離れちゃって、 でもまるっと消しちゃうには、過去ログも溜まってるから、放置状態なんかね。
Cake使っている人間は多いと思うけど、まとめるのが面倒なんだと思う。 Cake以外の言語・ツールの説明サイトが少なくなった印象
>>121 英語のマニュアルが一番まとまってるという。。。
日本語でググって自分の書き込みが引っかかる率の高さ
あるある 自分の質問しか引っかからない時の絶望感
やっと引っ掛かったと思ったら誰も答えてない虚無感
引っかかったのが知恵袋でベストアンサーが関係ない回答のとき
なんだかんだでここが一番役に立つ。
勃たねえよ
俺は答えてもらえなかった
CakePHPってよくブラウザーゲームで見かけるんだけどそんなに王道なの?
例えば?
よく見かけないけど、スライドショーのテーマで使われているのは見る
王道って程じゃないけど利用は多いだろうね。 なんだかんだ言ってもphpはweb系なら使われてる言語で、 そのphpのメジャーなフレームワークなんだし。
スライドショーのテーマ が なんとなくステマに認識された
Cakeみたいなすっトロい上にダサいFWは 無くなっていいよ。 なんだあのキモいActiveRecordもどきはw
わざわざこのスレ探して悪口書きに来たの?ダッサいなw
日本公式はつぶしてgoogleのフォーラム1本でいいじゃん
登録しないと書き込めない掲示板て嫌だよね
登録もせず何でも逃げれる体制でしか書き込みできない人も嫌だよね
登録する=手間がかかる=情報がそれなりに信頼出来る って解釈もできるけど、だいたい登録制の掲示板って 常連しか集まらなくなって、新参が寄り付きにくいんだよね。
そんなことよりFuelPHPしよーぜ
登録とかめんどくせーよ。パスワード忘れるし 管理者が荒らし減らしたいだけのうんこシステム
twitterとかfacebookのアカウント(オープンIDだっけか?)で ログイン出来るところもあるけど、 だいたいはログインした後に会員登録するという 二重にめんどくさい仕様になってるんだよな
何でCakeってfindの戻り値が只の配列なんですかぁ? モデルのオブジェクト(の配列)返さなきゃ駄目だろ。 これ作った奴は全くもってオブジェクト指向ってものを理解してねぇんだな。 クソだクソ!
自分でそのように書き換えたら?
誰かそういうプラグイン作ってる人いなかったっけ まったくうろ覚えだが
ムリにCakePHP使わないで他の使えよ
>>145 もう既に議論されまくってるよハゲ。
PHPのソース解析して実際にパフォーマンス計測した結果
配列にしておくべきと結論したんだよクズ。
CakePHP3になればデフォルトで選択可能になるみたいだがなクソムシ。
今はオブジェクト化ラッパーのプラグイン使えやウンコ。
>>149 その議論追ってみたいんだけど、URLとかある?
もしあったら貼ってくれまいか?
その議論は知らんが、単純に配列の方が、オブジェクトのプロパティより速い。 自分で試せるよ。データベースの返り値を模した配列とオブジェクトで試してみ。
>>151 配列の方がコスト低いのは分かるけどさ。
PHPのほかのフレームワークだと、オブジェクトにしてるのもあるから、
選択肢としてまったく無しじゃないと思うんだ。
そのなか、何で配列で行くことにしたのかなと思ってん。
だから、配列の方が速いからだろ? そもそもオブジェクトである必然性は全くないし。
納得出来ないなら他のフレームワーク使えばいいだけだろ わざわざ配列の方を採用しているところに「なんでオブジェクトにしないの?」 ってお前の主張を押し付けるのはおかしいだろ
お前ら何と戦ってんの? 議論があるってことは両方にメリット・デメリットがあるってことだろ。 配列を採用するフレームワークもあるし、オブジェクトを採用するフレームワークもある。 コストが低いだけで、配列がベストって状況じゃないから、 理解を深めるために、過去にあった議論を見たいと思って何かおかしいのか?
まぁ議論を追うことには意味があるな。英語だろうけど。レポよろ。
興味あるのに自分で探してもいなかったのか
159 :
nobodyさん :2013/01/22(火) 13:22:42.68 ID:nr2JMr7e
>>154 オブジェクトの必要がまったくない?
オブジェクト指向の勉強一からやり直せ。
オブジェクト指向と「配列のほうが早いからCakeは配列を採用している」 事と何が問題なんだ? オブジェクト指向だからって絶対その通りしなきゃいけない決まりなんて無いだろ。 お前は頭が硬すぎるんだよ
オブジェクト指向では配列は使ってはいけないとでも言いたいの? findの戻り値がオブジェクトだったら、そのオブジェクトは具体的にどんなメソッドを持っていて 配列よりどう便利なの?
>>162 戻り値はオブジェクトの場合とオブジェクトの配列の場合があるだろ。
オブジェクトの利点だが、人に聞かなきゃ分からんの?
Fat ModelとかDRYの原則とか理解してれば分かるはずなんだがねぇ。
>>162 CakeEntityの作者のブログに利点は色々書いてあるから読んでみるといいよ
利点() そもそもPHPって時点でとてつもないデメリットがあるのに
そのデメリットを超えるぐらいのメリットがあるから使ってるんだけどな
ただのデフォルト引数じゃないの?
さすがにPHPのマニュアルぐらいは読もうぜ
>>172 それはセンスが無いかと
関数の引数の所に=が付いてるのは何でかな?と思ったら「関数」について調べる
それだけのことだよ
>すでに読む必要が無く、 呆れるほど基本的なことがわかってない時点で読む必要ありありなんですが
>>173 センスといえばそうだけど、思い当たらなかった人に、
ドキュメントのURLを貼ってやってもいいと思うんだ。
まぁphpのドキュメントはかなり充実してるから、大抵の事はあたりをつけて読めば書いてあるし、
読めばいいとは思うけど、それも知っていてこそ、だと思うんだよね。
ググれカスで済む所をキーワードまで付いてるのに せっかくゆとり教育終わったのにゆとりの再生産したいのかw
話がらっと変えるけど、お前ら超小規模システムの場合でも Cakeとかフレームワーク使ったりする? 例えば、テーブル1つのメールフォームとかアクセスカウンターとか。 ちょっとしたPHP+MySQLを使うとき、みんなどうしているのかな?と思って。
>テーブル1つのメールフォームとかアクセスカウンターとか。 さすがにそれでは使わねえなw
アクセスカウンターには流石に使わないと思う、 というかアクセスカウンターを作る状況がもう想像つかないけど。 テーブルあるならメールフォームには使うかな。 バリデーター使いたいし、入力内容をDBに入れるなら、 見たりする管理画面的なものも入ってきそうだし。 長く稼動すれば、検索したいだの、対応状況を付けたいだの、 要望が出てきそうだし、最初は極小規模でも、 なんだかんだ増えるんじゃないかと思った。
>>179 特定ページのアクセス数を管理画面で見たいって要望は割りとあるよ。
極小規模でもCake使うのか。
確かに後々必要になるケースは多々あるけど、
サーバにファイルを転送する時、
「こんなにファイルアップする必要あるかな」って感じるんだよねw
>>180 > 特定ページのアクセス数を管理画面で見たいって要望は割りとあるよ。
そなのか。言われたことないなぁ。
アクセス解析でかってにやってるみたいだし。
> サーバにファイルを転送する時、
> 「こんなにファイルアップする必要あるかな」って感じるんだよねw
その感覚はまぁわかるw
質問させてください。2.2。5安定版を使用しています。 よくあるDBに問い合わせを行ってログインを行う処理の実装なのですが、 authコンポーネントを使用せずにAES暗合を使用したログインにしようと思っています。 入力値を $id = Security::rijndael($id, Configure::read('Security.key'), 'encrypt') で、バイナリ型に変換した後に以下のように問い合わせを行っています。 $conditions = array( 'conditions' => array('id' => $id, 'pass' => $pass); find('all',$conditions); この方法でDBに同じ文字列のbinaryデータがあった場合はfindする事ができるのでしょうか? DB側の型はblob型で、格納されているデータはbinaryです。 散々詰まっていて、ふとfind関数でバイナリって検索できるのだろうかと疑問を感じたので質問します。
んなことやったこと無いからわからんが、 とりあえずCakePHPが発行してるSQLを出して、 それが動くものなのかどうかじゃないの?
それ、作ったヤツのオナニーじゃねー? オレオレサイトならいいけど、そんなもん業務に持ち込まれた日にはブチ切れ間違いない!
>>185 一つのメソッドにガッチガチにコーディングした方がいい場合と、
その反対にロジックの順番やら処理の是非なんかを
柔軟な可変状態にした方がいい場合とを分けないと利用価値がわからないだろうな。
用途が完全に限定されていてロジックの更新を考慮しないんならイベントシステムは無意味。
そのドキュメントにも、普通はこんなものいらないって書いてあるよ。
>>185 どこに処理させるかってのを切り離せるっていうのが利点だから、
'Mode.Order.afterPlace' で何をどうアタッチるかは
実装に応じてそれぞれ良きに計らってくれってことじゃないか?
処理状態をイベントオブジェクトにカプセル化して
処理を回していくっていうのはとても便利な時がある。
使い方をわきまえれば実装も楽だしメンテも楽になるとても良いツール。
ただ、どんなコーラブルをどこにアタッチさせているのかを把握できないと
最悪になると思われる。
>>185 例えばECCUBEみたいな、
ECサイトパッケージを作って配布するようなことをするなら、使えるんじゃない?
決済モジュールとか、CakeEventListenerの実装クラスで作れば入れ替えできるし。
190 :
nobodyさん :2013/01/27(日) 01:02:37.34 ID:0HsM0LlW
phpMyAdminで新しいテーブルを追加して、当該コントローラの public $uses = array('Foo','Bar'); となっているところに単数形頭文字大文字でテーブル名を追加したら500エラーを吐くんですが なにが原因かわかりますでしょうか? 同じ環境のxampp(テーブルを追加+コントローラにテーブル名追加)で正しく動いてます サーバー側にも同じテーブル(sqlでエクスポートしたものをsqlで追加)とコントローラはあります サーバーはさくらです ご教示お願いいたします
>>190 500エラーの内容を調べて書いてくれ
たくさん可能性がありすぎて分からん
192 :
nobodyさん :2013/01/27(日) 01:48:40.75 ID:0HsM0LlW
>>191 ありがとうございます
500 Internal Server Error
が出力されるだけで、cakephpのエラーでみるような「何行目になにエラー」のような表記は出ませんでした
サーバーの Debug の設定は1以上にしてるの?
cacheフォルダ内のファイル消したら解決する予感
あぁ、それだ
196 :
nobodyさん :2013/01/27(日) 20:24:52.00 ID:0HsM0LlW
>>193 ありがとうございます
debugを2にしたら動きました
debugを変更させる意味わかってるかな キャッシュが消えたから動いたんだと思うんだけどねぇ まさか2のまま運用しないよね まぁいいか
昔謎のエラーでどうしても動かなくて、セッションのセキュリティを落としたら動いたってことがあったな あれ、そのまま運用してた気がする…まあいいか
199 :
nobodyさん :2013/01/27(日) 21:26:58.92 ID:0HsM0LlW
>>197 0に戻してあります
お気遣いありがとうございます
debugレベルって警告の有無だけではなくて、デバッグもしてくれるってことなんでしょうか?
200 :
nobodyさん :2013/01/27(日) 21:37:02.82 ID:0HsM0LlW
あ、デバッグしてくれるんではなくて、テーブルのキャッシュをクリアしてくれたってことですね すみませんありがとうございました
500エラーのときはCakeのログじゃなくてApacheのログ見なさいよ
POSTで渡ってきた値がnullになります。 $insertData = $this->data['insert']; foreach($insertData as $key) { echo var_dump($key); } とした場合 array ''id'' => string '1' (length=1) ''name'' => string '名前' (length=6) ''flg'' => string '0' (length=1) と出ます。 そこで foreach($insertData as $key) { echo var_dump($key['name']); } とすると、 Undefined index: name null で、中身が入ってないと言われるのですが…。 cakeの仕様で特別な処理入れないといけないとかありますか?
ってか、今どき1系かよ
>>203 本来はここにsave関数入れてupdate文投げたいんですが…。
postで渡ってきた値が取れないので今は外してあります。
最近は低レベルなうんこみたいなのしか質問しないからなぁ cake以前の問題
1.3系はまだ使ってるぞ それで作ったシステムがあんだよ、今から始めるなら2系にするけど
>>202 解決したので〆ます。
>>207 ありがとうございます。echoいらないですね。知りませんでした。
原因はinput側のnameにクォート使ってたせいでした。
>>208 いやそういう意味で言ったんじゃなくて、
質問からして初心者丸出しだったんでつい
自分もmigrationという罰ゲームから日々逃れているので
1.3系からは縁は切れそうにないです
211 :
nobodyさん :2013/01/28(月) 22:12:15.69 ID:swjDhI9O
***.ctp の中でガリガリやるのはよくないですか? やっぱり Controller の中でやるべきなのかな。
でっけぇ釣り針だなおい
( )*( ) きったねー穴だな
> こんなフレームワーク、危なっかしくて使えません。 > 困っている人いっぱいいそうですが、人気があるのが正直不思議です。 え、人気なんてねーだろ てのが個人的な印象なんだがどうなんだろ
人気というか多くのPHPerがつかってる印象はある
CakePHPで、検索結果のページタイトルを何ページ目とかいう表示ってどうやったら出来るか参考になる情報ってないですかね。
Cakeは一時期は人気あった気がする サイトも沢山あったし本も出てた、俺もその頃に使い始めたクチ その後中身ボロボロなことに皆気が付いて、去っていったのかな 未だにぐぐっても出るのはその頃の解説ばかりだね ところで今更Smartyは使いたくないな
小システムではSmarty使ってるよ。 PHP入のHTMLを変更させるよりも、割と需要あるし。
>>217 バージョンしらんけど
$this->passedArgsからpageとってきて
$title_for_layoutだか$pageTitleだかに追加しろよゴミクズ野郎
>>214 変更点についてのミグラチオンガイドもきちんとリリースしてくれるから、
あまり気にならない。
>>217 それって何ページ目がリクエストされているかどうかわかれば
済む話じゃないの?
>>215 >>216 多くのPHPerが使ってるって、人気あるってことじゃないの?
>>218 確かに、最近は盛り上がってない感じはするよね。
でも、初心者が目立つような気もするけど。
>>221 ああミグラチオンガイドね、読んでる、読んでるよ、うん。
全レスとかだいぶ気持ち悪いんだけど
そうかそりゃぁ大変だな!
冷静を装っても顔真っ赤
チェンジログとか、ミグラチオンガイドはきちんと目を通そうね。 さらりと重要なことが書いてある。 2.3正式版リリース直前で、core.phpのSecurity.levelが無くなった。
つまり、どういうことだってばよ?
あ、そうですね。 未設定状態だと low が適用されちゃうね。
つまり、どういうことだってばよ?
security.levelってもはやSessionタイムアウト時間の取得にしか使われてないのか。 なら無くなってもどうでもいい。
ここまで着たらSecurity.levelなんて無くして数値で設定するようにしてほしいな。 変に数値を隠蔽すると逆に分かりにくい。
言えてますな。 Cakeみたいに長い期間過去からいろいろ引きずってると、 初心者にしてみればなんでこんな仕様になってるのか 理解できないものだらけになってくる。 ってか、PHP自体がそんな感じだが
2.3のpaginateコンポーネントの仕様変更が痛い。 存在しないページナンバーを指定すると例外になる。
今更ポッと出てきたフレームワークでもないのに なんでそんなにガタガタなの
うーん、誰か知恵を授けてください。
>>234 で書いたとおり、2.3にするとpaginateコンポーネントで、存在しないページナンバーを
指定するとNotFoundExceptionの例外が発生します。
Searchプラグインとpaaginateを組み合わせると、例えば5ページ目までページングした後に
検索を行い、結果が5ページに満たなかった場合にはこの仕様ではエラーとなります。
検索ボタンを押したときにpost先のURLからpageパラメータを消すのが根本的な
解決だとは思うのですが、既に作ったシステムということもあり変更個所が多すぎるのです。
・paginateコンポーネントの例外処理を削除
・Searchプラグインに手を入れる
できればこれ以外で解決したいのですが、何か策はありますか?
とりあえずpaginateコンポーネントに直接手を入れることで考えてますが・・・。
というかそれ、再検索してるってことだよな? 2.3.0の話以前に、再検索してるのに5ページを示すパラメーターがついたままっておかしくね? で、まぁpagenateコンポーネント見てないけど、 例外ならキャッチして復帰させるコード書けばいいんでないの?
そのデフォの挙動がおかしいよな もっといい手法あるかもだけど、とりあえず検索のFormに $this->Form->hidden('page', array('value' => 1)); を持たせるだけで再建策の際はトップページに固定ってできる。 ただ、2ページ目のときにソートを変更した場合もトップに来てほしいのにページ保持してんだよな paginateにパラメータ渡してなんとかできそうかなと思ってるけど後回しになってるわ。あと質問の件とは関係ないなすまん
>>236 直接コアのライブラリに手を入れるのはやめといたほうがいいんじゃない?
俺なら少なくともPaginatorComponentを継承した
オレオレコンポーネントを作って、
コントローラからそれをPaginatorとして利用するとかだけど。
コントローラの書き換えが出てくるけどな。それはまぁしゃあない。
オレオレコンポーネントに該当のメソッドの部分だけラッパー被せればいいからメンテもしやすい。
そういえばコアのコンポーネントを継承して、別名となったそのコンポーネントを、 元のコンポーネントとして使う方法があったような・・・ 昔の事すぎてよく覚えてないけど。
>>237-240 皆さまありがとうございました。
取り急ぎの対処で、CakePHP側で無く、Search plugin側を直接修正
(PrgComponentでリダイレクトされる前にpageパラメータ削除)を行いました。
ただ根本的な対策は
>>239 のようにすべきかと思います。
なおCookBookにもあるのですが
public $components = array(
'Auth' => array(
'className' => 'MyAuth'
)
);
という感じで「className」を使えば継承したオレオレComponetを元のComponentと
置き換える形で使えるような気がするので、時間があれば試したいと思います。
242 :
nobodyさん :2013/01/31(木) 22:14:42.24 ID:RjbL5w0X
レスポンシヴ・ウェブデザインにはCAKEが最適ですか?
時間あったから1.3系の頃に作ったSearh plugin使ってるむかーしのコード見たけど、 pageパラメーターの削除とかしてるようには見えなかったけどなぁ。 Searh pluginて再検索でpageパラメーター引き継がれる仕様だったっけ?
まず、Searh pluginが知らん
Do you know Searh plugin? さー、よー分からん。
247 :
nobodyさん :2013/02/01(金) 17:37:08.52 ID:YUuc+gXX
横スレすみません。 同一のcakephp上に複数のappフォルダを用意して複数サイトを作成しているのですが、 片方にアクセスが成功した後に、もう片方のサイトにアクセスするとDBのエラーが起こります。 どうやら先にアクセスした方のテーブルを読み込みにいってしまっているようなのですが、 解決方法がおかわりになる方、いらっしゃいますでしょうか。
>>247 modelのキャッシュかぶりが原因。core.php の下の方、Cache の設定のprefixをアプリ毎に書き換えてみ。
これで治らなかったらわからん。
なんか最近まともに活発だ
よかよか
>>247-248 でもこれってさ、どういう仕組みかわかんないけど、仕様としてしょぼくない?
どういう仕組みかわかれよ
>CakePHP Loves you >感謝の気持ちを少しだけ! > CakeFestスポンサー > 寄付(金額指定) > $100寄付しますっ > $50で。 > $25なら寄付できます。 > $10で > $5なら > $1ですいません なんかムカツクなこれw $1を馬鹿にすんなよ
>>253 ちがうよ、$1を馬鹿にしてんじゃなくて、
$1しか払わない奴を馬鹿にしてるんだよ
でも確かにこの書き方だと$100払わないと惨めな気持ちになるな
あの放置っぷりがひどいサイトをちゃんと整備してくれたら払ってやるよ
256 :
nobodyさん :2013/02/03(日) 20:57:01.44 ID:/AHKrDea
コントローラ名にハイフンを使いたいんですけど foo-bar_controllerとして class Foo-barController extends AppController { とやったら syntax error, unexpected '-', expecting '{' となってしまいます キャメル式に書くのかと思い class FooBarController extends AppController { とすると今度は Error: Foo-barController could not be found. Create the class Foo-barController below in file: app\controllers\foo-bar_controller.php となってしまいます どうしたらいいのでしょうか? ご教示いただけたら幸いです
どうしたらいいのでしょうか?じゃねえよバカ foo-bar/****でどうしてもアクセスさせたいってことなら routes.phpにそう記述すれば?
クラス名にハイフンwwwww なぜ使おうと思ったしwwwwww
259 :
nobodyさん :2013/02/03(日) 21:27:37.51 ID:/AHKrDea
>>257 >foo-bar/****でどうしてもアクセスさせたいってことなら
なるほど、この書き方からすると、foo-bar/****でアクセスするようにするのは一般的ではないって感じですね
ありがとうございました
>>258 ドメイン/foo-bar/でアクセスさせたかったからです
PHPのクラス名にはハイフン使えないんだけど、 そういうことを知る前にフレームワークに手を出しちゃったのね なるほど
261 :
nobodyさん :2013/02/03(日) 21:48:50.49 ID:/AHKrDea
>>260 ドメイン/foo-bar/でアクセスさせるにはroutes.phpをさわる以外ないんでしょうか?
しつけえなぁ pages/foo-bar/ なら通るんじゃねえの?しらんけど
263 :
nobodyさん :2013/02/03(日) 22:03:32.85 ID:/AHKrDea
>>262 思ったより難しくて困難なことなんですね
ありがとうございます
「CakePHPを使えば初心者でも簡単にサイトが作れる」 この「初心者」とは少なくともPHPの基礎を済ましてからでお願いします。
>>261 まぁ初心者煽るだけだとなんにもならんからマジレスしとくと、
PHPではクラス名にハイフンが使えない。
CakePHPでは、テーブル名からモデルやコントローラーのクラス名が決まり、
それがURLにもなるという仕組みがあって、
example.com/conttollername/action/ という形で出来る。
これを自分でコードを書かなくてもCakePHPがやってくれるので、
フレームワークを使って楽をする部分。
ただし、URLをデフォルトの形から変えたいという要望は当然あるので、
そのためにConfig/routes.phpにルーティングを書く機能があるんだ。
URLにハイフンを使いたいという場合も、CakePHPではこれに当たる。
俺はURLにハイフンなんてむしろ入れたくない方だから良く分からんけど、
ルーティングを書くってのはそんな難しい事じゃないぞ。
cakephp敗れたり
CakeがWeb制作板で馬鹿にされる理由わかったわ PHPの基礎すらしらない初心者以下が使ってるからなんだな。
フレームワークは、基礎がわかってからいじるもんだ
269 :
nobodyさん :2013/02/04(月) 17:35:50.15 ID:zdC3MV9a
大規模サイト(高アクセス)を作成する場合には、 FWは使った方がやっぱりいいですかね?
FWはもちろんMFとDFも当然必要ですね。 GKは不要でしょう。 なに求めてるかによるだろバーカ
271 :
nobodyさん :2013/02/04(月) 18:30:04.68 ID:zdC3MV9a
俺FWが一番。 必要な機能のみ入ってる
今日もここは平和だなおい
273 :
256 :2013/02/04(月) 20:58:13.66 ID:Qd6LJB5g
>>265 Router::connectを使ったらできました
ありがとうございました
PHPでクラスにハイフンを使うシチュエーションがなかったから使えないとか意識したことなかったな cakephp使わなかったらずっと気づかなかったかも知れないわ
cakePHP2で JSONで出力するため $this->RequestHandler->setContent( 'json' ); $this->RequestHandler->respondAs( 'application/json; charset=UTF-8' ); $this->autoRender = false; echo json_encode( $inOutput ); このようなコードで出力しています。 出力結果のレスポンスヘッダーのContent-Typeを見ていると 出力バイト数が少ないうちは[application/json; charset=UTF-8]になっているのですが 大きくなると[text/html]になってしまいます。 respondAsが効かなくなる条件のようなものはあるのでしょうか
ACLでUserってモデル作るみたいですが、 既にUserというクラス作ってます…
phoneアプリ、Windowsアプリを売って生き残れ Ver 1.6 http://tinyurl. com/9w97424
これ、よく見るけど踏んだことないんだけど何なん?
CakePHP2の辞典はいつ発売になるのでしょうか? 2が出てだいぶ時間がたってると思うのですが・・・
280 :
nobodyさん :2013/02/06(水) 14:23:12.45 ID:mYFhq6tH
cakeのFWの特性上、プログラムから同一構造のテーブルを 順次増やしていく設計(システム)には、cakePHPはやっぱり使えないでしょうか? T_100 T_101 T_102 T_*** 構造 id / name ※膨大なレコード数が想定されれう為 同一構造のテーブルをを連番に順次作成していく
>>280 コントローラやモデルで対象のテーブルを切り替えられるから、
使えないって事はないですよ
282 :
nobodyさん :2013/02/06(水) 14:40:44.22 ID:mYFhq6tH
>>281 >コントローラやモデルで対象のテーブルを切り替えられるから
どういう風に切り替えるのでしょうか?
基本的には、cakePHPをはじめとしたMVCフレームワークでは
テーブル名に対応したモデルクラス(***.php)を1つ作成しないと
いう認識でいたのですが。
>基本的には、cakePHPをはじめとしたMVCフレームワークでは >テーブル名に対応したモデルクラス(***.php)を1つ作成しないと >いう認識でいたのですが。 ぜんぜん違う。
285 :
nobodyさん :2013/02/06(水) 15:03:38.35 ID:mYFhq6tH
>>285 一つのテーブルでレコードが膨大になるのが問題なんでしょ?
しかもそのテーブルのスキーマがかなり単純なものでしょ。
それなら複数のテーブルを作成するよりも、一つのテーブルでパーティショニングしたほうがいいよ。
データベース パーテイション
で調べてみて
即座に聞くな 一呼吸置いて5分でもいいから出てきた単語検索してみろ しね
288 :
nobodyさん :2013/02/06(水) 16:54:32.86 ID:DvysHyJ8
ID違うから騙っても意味ないよ
290 :
nobodyさん :2013/02/06(水) 17:02:14.00 ID:DvysHyJ8
ID かえたんだが。
変動IPも知らぬバカ
>>289 おまえ
予言しておく。後から282が「その人は違います」ってレスしにくるから。
テーブルを動的にするときはモデルキャッシュが鬼門
293 :
nobodyさん :2013/02/06(水) 18:15:20.06 ID:DvysHyJ8
亀頭?
なんでマルチしてるの?そんなに宣伝したいの?
296 :
nobodyさん :2013/02/06(水) 21:31:39.70 ID:DvysHyJ8
ec-cube の .htaccess をのぞいてみたんだが # 基本は SC_Initial.php で設定するが、ini_setで反映されないものはここで設定する php_value mbstring.language Japanese php_flag mbstring.enco ding_translation off php_value output_handler NULL php_flag magic_quotes_gpc off php_flag session.auto_start 0 こーいう記述があるけど、.htaccessの中にphpとか記述してもええのぇ?
は?
>>298 もっと詳しく書かないと調べてあげる気に慣れないな
少なくともエラーの文言はまんまコピペしてくれないと
>>299 ごもっともでございます
出先なもんで詳細を確認できない&クドくならないようにはしょったので情報が足りませんでしたね
まだ出先ゆえ、詳細を確認できないのですが
後程、エラー全文をレスしますので
見ていただけると幸いです
CakePHP2辞典はいつ発売されますか?
みねえよ サーチプラグインなんかで躓くなカス
>>298 です
>>298 で張ったブログを参考に、users、profilesという2つのテーブルを作成し
userモデルにhasOneでprofileを持たせています
bootstrap.phpでSearchプラグインのロード設定を行い
モデルのUser.phpで
・Searchプラグインのビヘイビアをプロパティに追加
・検索対象フィルタ設定($filterArgs)
・検索対象フィールド設定($presetVars)
モデルのProfile.phpで
・Searchプラグインのビヘイビアをプロパティに追加
UsersController.phpで
・Searchプラグインのコンポーネントをプロパティに追加
・’User’、’Profile’モデルをプロパティに追加
・beforeFilter内で検索対象フィールド($presetVars)をUserモデルから読み込み
・beforeFilter内でページャ設定
と上記の状態でブラウザでアクセスしたところ以下のようなData base Errorが出ました
Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'validateSearch' at line 1
webで調べても類似の症例が少なく(また解決方法が得られませんでした)煮詰まっています
長文で申し訳ないですが、助言を頂けないでしょうか
validateSearchとかいうメソッド使うっって宣言しといてそんなメソッド無いからSQLに直接投げられてんだろ しねよバーカ
>>304 このエラーで言われている「validateSearch」とは
SearchableBehavior.phpに記述されているvalidateSearchメソッドではないのでしょうか?
「validateSearchを独自で定義しろ」なんてどこを参考にしても書いていなかったので
デフォルトでSearchableBehavior.php内のこのメソッドを呼びに行くものだと思っていたのですが・・・
だったらそのビヘイビアがちゃんと読み込まれてないんでねえの? $this->Model名->validateSearch() 呼べるかかくにん
>>306 UsersControllerのindex()の最初に$this->User->validateSearch('User');を追加し
直後にdebug('here')を出そうとしても出ず、直前だと出るのでビヘイビアの設定に失敗しているようです・・・
モデルファイルの中で
public $actsAs = array('Search.Searchable');
を記述するだけですよね・・・
filterArgsあるんだよね? filterArgs消して見てもエラーは出るものの君のと違うエラーだったんだけど一応確認
はい Userモデルファイル内で以下のように設定しています public $filterArgs = array( array('name' => 'id', 'type' => 'value', 'field' => 'User.id'), array('name' => 'username', 'type' => 'like', 'field' => 'User.username'), array('name' => 'account_name', 'type' => 'like', 'field' => 'Profile.account_name') );
たぶんSearchがSerachになってるとかそういうのだよ
モデルのインスタンスが持ってないメソッドを呼ぶと、
そのメソッド名がなんかSQLに含まれる動きしたと思うから、
>>306 >>310 でFAな気がするけど。
312 :
nobodyさん :2013/02/20(水) 11:46:05.19 ID:FGS5pG2u
基本的なことかもしれないですが、質問です。 cake bake で作ったCRUDメソッドの中で editがありますが、これのコントローラとビューを見ていて、どうも納得がいきません。 まず、コントローラ側からヴューへ既存データをセットしている行がありません。 なぜこれで既存データがビューのテキストフィールドへ収まった状態の画面が作れるのでしょうか。
314 :
nobodyさん :2013/02/26(火) 18:44:02.07 ID:zQtNhxoC
cakePHP2 で [message.txt] 私の名前は、山田太郎です。 趣味はバレーです。 という様な外部ファイルにデータとかhtmlタグを設定しておき include させたいと思いますがどこに配置するのが定石でしょうか?
316 :
nobodyさん :2013/02/26(火) 19:54:39.42 ID:zQtNhxoC
じゃ、viewsのelements
318 :
nobodyさん :2013/02/27(水) 12:51:17.39 ID:k7COWgMj
category_mediums というテーブルを作成し、そのテーブルを参照する為に Model/categoryMedium.php の中に下記コードを記述したところ class categoryMedium extends AppModel { var $name = 'categoryMedium'; Error: Table category_media for model categoryMedium was not found in datasource default. こーいうエラーメッセージが表示されてしまいます。 何が問題があるのでしょうか?
CategoryMedium じゃないのか?
お前の頭だよ mediumを英和辞書で検索しろよ人間のクズ useTableに記述しろよ出来損ない
category_media テーブル CategoryMedium モデル
Inflector::camelize(テーブル名) とかの結果を表示すればで簡単に確認できるぞ
323 :
nobodyさん :2013/02/27(水) 19:23:11.08 ID:1uFU2JpT
324 :
nobodyさん :2013/02/27(水) 19:26:37.46 ID:1uFU2JpT
なんでcakePHPの命名規則で 中 を表わすmedium が media として テーブル定義しないといけないか謎><;
つmedium_categories
まったくの初心者なのですが cakephp2を用いてSNSのようなものを作りたいと考えていて html CSSはできるのですがphpはほぼ初めてで初心者でも参考になるようなサイトなどありませんか? お願いします
ありがとうございます Php cake mysqlとかいろいろあって勉強なりそうです
Viewに最初からある、ElementsとかEmailsとかScaffoldsとかが自作フォルダと混ざって並んでて邪魔 どこか別のところに置いて欲しい
つかわないなら削除したらいいだろアホか
共有フォルダ作って、bootstrapでincludeしろよ。俺はそうしてるよ
何で邪魔に感じるの? 放っておけばいいじゃん
むしろ自分のフォルダを別のところに置けよ
お前らバカじゃないの?
理解してないのはお前
生成したモデルに少しでも手を入れた後に、テーブルに変更があって、 再生成すると、手を入れた部分が消えちゃうの、なんとかならないかなあ? CakePHPで開発してると、テーブル構成の変更に腰が重たくなってしまう。
>>337 え、bake のこと?
なら最初に一回やるだけだよ
あと、テーブルが決まらないあいだはモデルの基底クラスに bake したのを使って、 カスタマイズはその継承クラスを作成。 で、コントローラとビューはその継承クラスを参照する scaffold でやりくりする っていうのもうまくいく場合がある。
継承かぁ。 ちょっとやってみる。 2回目のBakeでは、変更部分だけ差し替えてくれるのが理想なんがw
>>340 diffってpatchればいいんじゃね?
342 :
nobodyさん :2013/03/09(土) 23:49:39.09 ID:0I4GbUTq
まだCake使ってる奴いたの? こんなカスフレームワーク使うのやめろよ。 エンジニアとしての自分の格が下がるぞ? てゆーかもう殆ど更新すらされてねーじゃん。
既にこれで作っちまったシステムがあるからな 今から作るなら違うのにする
どれにするの?
今って、新しすぎて業務に使いにくいやつを趣味で使って、 業務ではこなれた古いやつとして、CakePHPあたりが使われてるんだろ。
特に問題なければ慣れたものを使えばいいじゃん
問題なければな
348 :
346 :2013/03/11(月) 01:45:04.83 ID:???
何か問題でも?
重い・ファイルが多い ってのが問題に感じてるけど、 ま、普通に動くサイトを作る点では問題ないな。
文句言うなら同時に代替案も出してね
なんでやねん
問題はサイトが更新されないことだろう。 ちゃんとしたドキュメントがないと使えないよ。
ドキュメントは分かるけど、 サイトが更新されないってなんだ?
日本語化の仕組みがクソすぎてワロス あれじゃまるで信者になるための修行だわ
セキュリティーが心配になる安定板もあったな... 振り向けば、今は懐かし、秋の空
356 :
nobodyさん :2013/03/11(月) 17:47:40.36 ID:W/IPgsU1
サーバサイドで出力した "test" という文字列がJavaScriptのsuccessブロックにて
返って来るはずなのですが、なぜかそうならずにhtmlが返ってきています。
どこに問題があるのでしょうか?
【JavaScript】
var url_post = "
http://hogehoge.com/hogecontroller/test ";
$.ajax({
type: 'POST',
url:url_post,
data: data,
success: function( data, textStatus, jqXHR )
{
// successs の場合の data にはなぜかHTMLがずらーりと書かれている。
}
【サーバ上のコード】
public function test()
{
$this->autoRender = false;
echo "test";
exit;
}
そのずらーっと出てくる文字列は一体どこにあるふぁいるなんだろう?とか考えないの? 自分で解決する意志のないバカは諦めろよ
358 :
nobodyさん :2013/03/11(月) 18:04:21.29 ID:W/IPgsU1
>>357 出ている文字列はlayout です。
本来ajaxとして処理されなければいけないのに
cake2 のバグなのか
レンダリングされてしまっている様です。
は? じゃあもう解決するだろよかったな
なにもかもバグとみなしちゃう人って
361 :
nobodyさん :2013/03/11(月) 19:05:00.09 ID:W/IPgsU1
おーおーキレちゃいましたかぁ
あーこれはダメですよ。いけませんねえ
364 :
356 :2013/03/11(月) 19:45:33.19 ID:gBMHE97E
いかん。解決できない。 誰か教えてください。 datatype="text" とか一通りやったけど JavaScriptでアクセスするとなぜかHTMLが返って来てしまう
>>361 をとりあえず謝ろうか。
そうすれば答えてやらんでもない。
というか自分でもう答え出てるはずなのになぜしない。
まぁ、初心者なんだからそうムキになるなって
>>364 いいのを教えてあげるよ
まず、君のブラウザのURLに
http://google.co.jp/ って入力してみて。
OK?
すると小さなテキストボックスが見えると思う。
そこに、例えばそうだな・・・ "CakePHP ajax" とか入れてみて。
OK?
じゃぁ、隣にある虫眼鏡のマークの着いた青いボタンがあると思う。
それを押してみて。
どう?
いくつかリンクが出てきた?
そしたらそれを上から順に開いて読んでいってみて。
僕からのアドバイスはここまでかな。
じゃぁ、検討を祈るよ。
367 :
356 :2013/03/11(月) 20:49:39.25 ID:gBMHE97E
自己解決しましたwww このスレのバカどもに質問しなくても良かったwwwwwwwwwwwww
よかったねー
ajaxもできないクズプログラマにバカ呼ばわりされる日が来るとは
クズくそわろたwww 二度とくんなw
372 :
nobodyさん :2013/03/11(月) 22:47:48.37 ID:gBMHE97E
/⌒ヽ⌒ヽ Y 八 ヽ ( __//. ヽ,, ,) 丶1 八. !/ ζ, 八. j i 丿 、 j | 八 | | ! i 、 | | i し " i '| |ノ ( i i| ( '~ヽ ! ‖ │ i ‖ | ! || | │ | | | | | | | | | | ! | | てめぇえらドアホは、これでも咥えてろ
あら、ずいぶん細いのね
cake2.xの辞典でるね 助かるわ
やっと出るのか。助かるな
Cake1から2で結構変わってるけど書き方変えただけとか意味のない変更ばかりだなあ 正直気紛れでいろいろ変えられても困る
>>377 意味のない変更ってどれ?
長期的には振り返ってみて無駄な変更だったってのはあるかも知れないけど、
その時点では少なくとも意味もなく変更したものってないんじゃないの?
あったら教えてほしいわ。
ほとんどの変更の理由はちゃんと change log に書いてる。
「意味のない変更」っていうより、
「意味の分からない変更」なんだろ?
意味のない変更w あーバカはさわるなよ
じゃあファイル名がキャメルケースに変わったのはなんで? どっちでもいいと思うんだけど、何故わざわざ変えた?
全体を統一させるため
キャメルケースになったのはクラス名とファイル名を同じにすることにしたからじゃないの? お陰でファイル名見ただけで、クラスが定義されてるかどうかが分かるようになった。 唯一の例外が exceptions.php (1ファイルで複数定義)だが。
383 :
nobodyさん :2013/03/14(木) 19:01:42.10 ID:UkYLgnwt
cakePHP2 で画像認証とか入れたいんだけど オススメはある? そもそもcakePHPのmvcモデルでそもそも出来るんだろうか?
そもそも自作したら出来るよ
386 :
nobodyさん :2013/03/14(木) 23:12:28.06 ID:UkYLgnwt
>>386 サイトは忘れたけど、GDライブラリを使って、四角の中に文字を大きさと傾きと位置をランダムで変えて重ねるだけ。
あとは重ねた文字をセションで録っとけば付き合わせできるでしょ?
そんな面倒なことしなくても アクセスカウンターみたいに適当な数字の画像作って、 画像をランダムに取得して表示すればいいんだよ。 ランダム値のクッキーを持っておけば、画像認証に使える。
お前らは一体何を言ってるんだ? バカは無理して答えちゃダメだぞ Kcaptcha cakephp で検索
Cake2.2を使っているが、テーブルのcreated,modifiedは作成時に自動で入れてくれるみたいだが saveやupdate時に、modifiedが自動で更新されないようだけど仕様? そのくらい自動でやってくれても良さそうなもんだが、どこかに設定などあるのだろうか
???
俺はupdatedにしてるけど、自動で更新されるよ
393 :
こず :2013/03/15(金) 17:55:41.38 ID:???
初心者なのですが、課題でcakephpを使ってCMSを作るのですが、開発環境構築で どうしてもDB(PostgreSQL)に接続できずに「Cake is NOT able to connect to the database. Datasource class PostgreSQL could not be found.」と出てしまいます(泣) やった事としては C:\xampp\htdocs\cakephp\app\Configの中のdatabase.php.defaultをリネームしてdatabase.phpに変更。 開いて class DATABASE_CONFIG { public $default = array( 'datasource' => 'Database/PostgreSQL', 'persistent' => false, 'host' => 'localhost', 'port' => '5432', 'login' => 'postgres', 'password' => 'postgres', 'database' => 'cakephp', 'schema' => 'public', 'prefix' => '', 'encoding' => 'utf8', );に変更を掛けてみた。 で、他にちゃんとdllがあるかどうかphpディレクトリ内を見てもあるし、壊れてる事もないかと思われる。 DB側ではコマンド使ってcakephpってdbを作成し、tableを作成しrolを作り権限を与えた。 CREATE ROLE cakephp2 WITH LOGIN PASSWORD 'cakephp_pass' GRANT SELECT, UPDATE, INSERT ON cakephp1 TO cakephp2; これ以上どうしたらいいか分からないです…(泣) 初心者すぎて何がおかしいのか、何が正しいのか分からず悪戦苦闘を通り越して 悶絶してます。。。
>>390 更新させる時のデータから削除しとかないとだめなのだけど、そこは大丈夫?
そういう仕様にしないと、明示的にタイムスタンプを保存する手段がなくなっちゃうからな
そのまま半年悶絶し続けてください。 半年後もう一度書き込んでください。
>>393 ん?
データベースの設定と設定ファイルとが異なっているのはなぜ?
397 :
nobodyさん :2013/03/15(金) 18:14:35.03 ID:ErWJB8E6
>>393 あなたのPCの中身まではわからないのであくまで可能性だけど
@ポートが違うAログイン情報が違うBデータベースがそもそも作られてない などが考えられる
基本的にログイン情報が確かならばbakeコマンドで設定ファイル作れば確実だから、bakeでやってみそ
あとなんで権限を作ってるのにそれを設定ファイルで無視してるの?
まあ「postgres」は何もいじってなければスーパーユーザーになってるからそこは問題じゃないけど
ちなみにデータベースさえあればテーブルがなくても接続はしてくれる
若干ずれた話だけど、 CakePHPは海外製で、海外ではPostgresは下火。 なので、バグの踏み抜かれ率はMySQLの方がいいと思っている。 使ってる人に聞いたら、CakePHP2になって最近はPostgres対応も良くなってるらしいけどね。
今は日本でもどんどんMySQLに移行してる てか速度も機能もどちらも進化してほぼどっこいになってるから、ほぼデファクトスタンダードになりつつあるMySQLを使わない理由があんまりない
MongoDB は使いたいんだけど使う機会がないなぁ
401 :
nobodyさん :2013/03/17(日) 15:30:21.57 ID:52JIKnwB
お知らせ 市原警察署の生活安全課の帰化人創価警官の指導の元、 入学式から2週間ほど、在日の創価学会員を主体とした自称防犯パトロールが、 2週間ほど行われることになりました 生活安全課の指導であることと、パトロールであることは、 絶対に公言してはいけないとの指導も、帰化人創価警官より出ています 期間中は2人組の在日の創価学会員が、頻繁に創価批判者の自宅周辺を、 うろつき回ると思われます 日本人の方は、充分に注意してください
402 :
nobodyさん :2013/03/18(月) 11:54:42.05 ID:3ophCmi8
>>394 えっと…削除させなきゃいけないって…どういう意味でしょうか?ホント初心者でごめんなさい(泣)
>>396 本当だっ!!直してみますっ!!
>>397 権限作ったのはいいものの、どうやってPHPの方に書いていいか分からずスルーしちゃいました…;;
>基本的にログイン情報が確かならばbakeコマンドで設定ファイル作れば確実だから、bakeでやってみそ
bakeコマンドか分からないけど調べてやってみますっ!!
>>402 CakePHPのORMがUPDATE ステートメントを発行する際に、
次の2つのことを調べて、それを満たした場合に
親切丁寧に現時刻をセットしてくれているのだよ。
2つのこととは、
1. テーブルのスキーマにタイムスタンプフィールドがあるかどうか → なければ処理しない
2. 保存しようとしているデータにそのフィールドの値がセットされていないかどうか → 「セットされていれば」処理しない
で、よくありがちなのが、Modelから単純に取得したままのレコードにタイムスタンプフィールドが含まれていて、
それをそのままにして更新しようとして "update" や "modified" が更新されないということ。
404 :
nobodyさん :2013/03/18(月) 15:46:27.55 ID:3ophCmi8
>>403 ありがとうございますっ!!でも、これは実際の処理に入ってからですよね??
アレ。。。違うかなぁ。。。
えっと開発環境を整える段階で接続
「Cake is NOT able to connect to the database.
Datasource class PostgreSQL could not be found.」
と出てしまうのでどうしたらいいのかと。。。はぅ(≡ε≡;A)
うっせえぼけ
>>404 お前、回答を全然咀嚼できてないwww
まずこれまでお前にレスしてくれた数と同じ回数だけ
公式のブログチュートリアルとACLチュートリアルをやれ。
最後は参考資料を一切見ずにブログチュートリアルと
同じ結果を一箇所も間違わずに実現してみろ。
それまで質問するな。
誰か辞典買った?
今更すぎて買わない
ですかねぇ〜 あれば便利なんだけど、ドキュメントとソースコードを 循環させて読む癖がいつの間にかついたんで、 どうしても必要というわけではない。 微妙なんだよな。
なんかオリジナル要素があったら良かったのにね。 実用的な説明がもう少しあったら、ググるより楽なのに。
辞典買った 1.xのも迷って買った結果お世話になりまくったので
どんな感じですか?
まだ少ししか使ってないけど 目次から前の辞典と似た構成で使いやすいと思う
俺も買おうかどうか迷ってるんだよな
出る前は買う気満々だったが、
>>409 の言う言葉で冷静になったw
でも、次の開発は2系でやりたいんだよな
レビュー出てからと思ったけど、どうせいつか買うから注文したw
>>404 ウェブに限らずプログラムをやる以上、当たり前なのはわからなかったらググれ
日本語サイトでヒットしないなら英語のQ&Aサイトも見る
CakePHPレベルのフレームワークならこれで99%のことは解決する
君の場合コマンドラインやドキュメントを読むことすらできないようだから、はっきりいってプログラミングをするレベルではないと思う
なんで1週間前の、解決したレスにわざわざ助言しに来たの? 自分の自己顕示欲を満足させるためか?
気持ち悪いなぁ いつも気持ち悪いんだよなぁこいつ
findのrecursiveの2にするとフィールドが $data['User']['Category']みたいになるのですが、 アソシエーションのアソシエーション先を取得すると こういう連想配列ではなく、$data['Category']みたいに出来ないですかね?
むり Setクラス駆使して自分で書き換えろ
わかりました。無理だということで納得しました。
Set使うな Hash使え
424 :
nobodyさん :2013/03/27(水) 14:14:52.85 ID:07is+ahi
CAKEPHPでは、一つの画面に複数のアプリを表示するってできるんですか? 例えば、ユーザーデータベースの下に、 カレンダーを作ってスケジュールを表示させるとか。 ひとつのビューに複数のコントローラーを対応させるような感じなんでしょうか? わからんです。
そっかそっか〜 いっしょに頑張ろ〜ね〜
複 数 の ア プ リ プ ハ ,,ハ リ (;゚◇゚)z !?
言ってることがおかしすぎて、 何をどう説明して良いのかもわからんよ
>>424 言いたいことは分かる。cakeはそんなに柔軟じゃない。
>>427 お前が馬鹿なだけだ
>>242 requestActionでやりたいことできんじゃね
ただし複数コントローラ回すってことは相当処理重くなるからキャッシュ多様して。
レスポンシブデザインはCakeよりjavascriptやCSSの問題だろうが お前も相当馬鹿なんだな
どこをどう読めばレスポンシブデザインの話してると思うんですか
434 :
424 :2013/03/28(木) 15:48:58.41 ID:???
424です。
すみませんでした。
PHPの本をいくつか読んで、ようやくCAKEPHPを勉強し始めたばかりで、
言葉遣いがよくわかってませんでした。
>>429 さんのアドバイス大変参考になりました。
頑張って勉強します。みなさんありがとうございます。
>>429 馬鹿はお前だよ
初心者丸出しなやつにrequestActionなんて気軽に使わないほうがいいメソッドで返すなよ
何いってんだお前? 初心者が気軽に使わないほうがいい?理由は? 馬鹿は答えるなって前々から言ってるだろ
438 :
nobodyさん :2013/03/29(金) 00:04:31.43 ID:HZZC3DgW
バリデーションエラーを出す場合、 コントローラーのredirectで前の画面に戻るか renderで前の画面のビューを表示するか どっちが正解ですかね?
チュートリアルなりbakeで焼くなりしてから、 なぜ自分が別の方法を取ろうとしているのか理由があればそれを添えて再度質問してくれる?
440 :
nobodyさん :2013/03/29(金) 01:11:28.94 ID:xqLXLSQF
どちらがその別の方法なのか答えてくれる?
>>438 フォームでエラーが有ると、フォームの画面上に「エラーがあります」
って表示してるよ。つまり、redirectしない。
>>440 チュートリアルなりをこなせばわかることって意味なんだけど馬鹿すぎるのか?
死んでこい
PHPがエラーかwarningを吐いたら、Cakeが検出してDBにログを書き込むということはできませんか? jsonを出力で返すAPIを作っているので、クライアントがブラウザではない場合のデバッグ援助が目的です。
Logクラスの書き込み先をDBにするのでいけるんじゃない? レポートのレベルはExceptionのクラスだかどこかで細かく設定できたはず
あ、できるんですか。調べてみます。
446 :
nobodyさん :2013/03/29(金) 20:24:19.11 ID:V/nrZl0A
バリデーションでもういっちょ質問。 renderで前の画面を表示する際に 本来のactionでsetしなければならなかった viewの変数達がsetされてないため 不完全な表示になってしまうことがあるんだけど、 これはどのように回避するのがいいですかね?
チュートリアルやれっつってんだろボケカス
448 :
nobodyさん :2013/03/29(金) 21:35:18.24 ID:xqLXLSQF
すなぁ
まともな質問にはまともな答えが返ってるようだな。 なかなか良スレ。
451 :
nobodyさん :2013/03/30(土) 01:19:42.24 ID:I9ajj83R
>>447 チュートリアルやれやれ五月蝿いけど
render呼ぶ際にいちいちsetするとかだろ?
そんなんじゃなくて自動で前の画面の変数をセットしてくれる機能とか
あるのかって聞いてんだよ。
違う的外れ。 チュートリアルやってないからそんな質問でてくる。 やれ。
454 :
nobodyさん :2013/03/30(土) 02:11:56.67 ID:I9ajj83R
>>452 だから便利な機能があるかどうか聞いてんだよ。
CakePHPしか知らない能無しなんだから
馬鹿みたいに言われたことだけに答えてろよ雑魚野郎
>>453 聞かれたことに答えられない能無しであるお前が消えろ
まともな答ってどれだ?
チュートリアルにその方法なかった?
ていうかそれCakePHPの問題じゃないよね
CakePHPって中級以上向けのまともな本がないな…。 プラグインの使い方とか知りたいのに「詳しくはググって」みたいに済ませていて笑えたり。
プラグインは個人が作ったのばかりだから、 本で解説ってのはなじまないんじゃね?
>>452 チュートリアル見てみたけどバリデーションエラー時の前画面の表示は
renderでやってるじゃん。
CakePHP1.2ガイド見てもrenderでやってた。
ちなみにsetActionで前画面のアクションを呼び出すというのがいいと言うのが俺の解な。
まったくCakePHPしか知らねぇ癖に糞の役にも立ちやしねぇな。
もうひとこと言わせてもらうと バリデーションエラー時の前画面の表示にsetActionを使うなんて どこ調べても出てこない。 setAction自体がマニュアルにも載ってないとか。 もっと言うとsetActionという名前自体がどうなのよ。 分かりやすくforwardとかにしろよ。 CakePHPユーザーおよびフレームワーク自体がカスであることを 再認識させていただきました。m(-_-)m
最後の2行入れることでお前の自己顕示欲を満たす意味があるのかと。
「自己顕示欲を満たしたいだけのバカ」と言いたいだけの馬鹿
無理して使わんでもええんやで
>お前の自己顕示欲を満たす ちげーよ。CakePHPerを馬鹿にしてんだよ。
CakePHPはフォーラムも停滞してダメダメになってたけど、 質問もまともに出来ないようなのが興味持ってるんじゃ いよいよもって末期だなぁ。
質問してもまともに答えられないの間違いだろ?
そもそも2chで質問して、素直に答えが返ってくると思ってるのが おめでたいわー
基地外に餌与えちゃだめ
質問に答えられないのを2chのせいにしちゃダメだろ坊や
>>465 奴らは街角で拉致られてタコ部屋に押し込められて強制労働させられてるのか?
自ら希望して派遣会社に登録したんじゃないのか?
まずそこをハッキリして貰いたいんだが。
ここで質問しても罵られて終わりかー こわぁ〜
しつけー
474 :
nobodyさん :2013/04/03(水) 16:26:24.46 ID:JryerC8V
ご教授お願いします>< CakePHP2.2を利用しています。 ファイルアップロードに関してなのですが、CSVアップロードで容量の壁かどうかはわからないのですが、一定のレコード数で止まってしまいます。 原因が分かる方がいましたらよろしくお願いします。
エスパーもとめてんのか エラー文さらせ 現在のPHP定数での設定値さらせ これやるまで二度と書き込むな
>>474 CSVで良くあるエラーとして、レコード中のカンマの所為でエラー起こしてるとか
CakePHPってCSVをアップロードすると、何か自動で処理する機能があったんだっけ? 知らなかったわ。 でも、ファイルアップロードを受け取るコントローラーから、自作しなければならなかったと思ったが・・・ どういうことなんだろうなぁ
>>474 ここで質問しても罵られて終わりだよ。
Webプログラム板きっての能無し集団なものでwww
479 :
474 :2013/04/03(水) 20:27:15.22 ID:???
そうなんですか。 わかりました、では自分で調べてみますね。
>>474 単にサーバのupload_max_file_sizeとpost_max_sizeが引っかかってるだけだろ
Scaffoldやbakeって使ってる? ぱっと見仕事では使えんって印象なんだけど
483 :
nobodyさん :2013/04/06(土) 14:08:37.75 ID:OGaSOh8K
シェルとコントローラーの共通処理はどこに書けばいいの? コンポーネントを使っているんだけどモデルの使用は非推奨らしいし 普通はどうするの?
>>482 Scaffoldは使ったこと無いけどBakeは使う
アソシエーションとか自分で書くとミスる事あるし
>>482 使ってないな。一回開発したら共通のモデルとかコントローラが出てくるし、
それをコピペしながらカスタマイズする感じだな。
>>483 シェルでモデル使えるけど
俺も自分で書いた前製品のコントローラやモデルを使い回しているので、bake等は使わない 生成したものが製品でそのまま使えるケースってないんじゃないか
>>482 bake も scaffold も捨てちゃったら Cake のメリット半減するんじゃないか?
テーブル作った直後、まだカラムが流動的なときは scaffold 、
ほぼテーブルのスキーマが決まったかなという時点で bake
その後の開発ではそこでできたファイルを適宜修正
ってのが理想的なフロー
とは言え、現実的にはなかなかそうはならない。
>>483 >モデルの使用は非推奨
おい、そんなデタラメ誰が言ってるんだよ
むしろ推奨だよ
散々既出だと思うけど、Cookbook2.xの日本語版ないのか 俺は英語でも良いんだけど、同僚に見せたいのに困るな
マニュアルか?ググったら即効出てくるぞ
1.3のはあるけど、2のがないんだよ
「cookbook2 日本語」でググったか? どんだけ検索能力ないんだよ
ごめん、俺の書き方が間違ってた × Cookbook2の日本語版がない ○ Cookbook2の日本語版には英語版にあるページがない(全部訳されてないっぽい)
いい加減にしろ
はい
日本語が不自由でもPHPは使えるんですね。 あ、使えてないか(笑)
496 :
nobodyさん :2013/04/11(木) 17:27:04.18 ID:q32J/zOv
CakeDC users pluginをインストールして正常に動作しています。 それで、実際のアプリケーションはどこに書いたらいいのか分かりません。 プラグイン内に追記していいのでしょうか。 普通、プラグインの中身を書き換えたりするものなんでしょうか? それとも、app以下にいつもどおりアプリケーションを作るのでしょうか。 その場合、どうやったらプラグイン内のアクションやビューを拡張できますでしょうか。 初歩的な質問ですみませんが、調べても分かりませんでしたので教えて下さい。
∧__∧ ( ・ω・) いやどす ハ∨/^ヽ ノ::[三ノ :.、 i)、_;|*く; ノ |!: ::.".T~ ハ、___| """~""""""~"""~"""~"
まず、CakeDC users pluginを知らない。有名なプラグインなのか?
有名もなにもCakeDCはcakephp謹製なんだ でもuserは使ったこと無い。 んでpluginに直接手を入れるってのは普通やらない App内のControllerからPlugin.Compinentを呼んだり同じくBehaviorをModelから呼んだりってのが普通
501 :
nobodyさん :2013/04/11(木) 22:30:36.69 ID:3witJWIv
テストのfixtureでindexを定義する方法をご存じでしたら、教えてもらえませんか? Modelのfindで以下のように定義を追加してindexを使用するようにしています。 'joins' => array('FORCE INDEX(hoge)') ただテスト時に作成されるDBにはindexが張られていなくて、テストを作ったらエラーになってしまいます。
iPhoneアプリ. Windowsアプリを売って生き残れ Ver 1.7 リンク数61 Http://qr. net/kh4y
503 :
nobodyさん :2013/04/15(月) 10:52:07.00 ID:ad40gkzw
よろしくお願いします。 CakePHP2のfindでアソシエーションをしているのですが、conditionsに ModelA.ColumA=>"aaa", ModelB.ColumB=>'cccc' とやっても複数モデルの条件検索が通らず困っています、何卒よろしくお願いします
コマンドからではなくてブラウザからbakeする方法ってないですか? 自作しないとそういう機能はない?
>>504 ブラウザからbake出来ちゃうとセキュリティー的に危ないだろw
そりゃ答えになってないだろ debugモードじゃないと動作しないとかいくらでも可能だろ 俺の知るかぎりじゃ存在しない
>>503 それだけじゃよく分からんが、SQLを見てどうなってるの?
二つじゃダメでも一つだとOKなの?
そもそもちゃんとアソシエーションは組まれてて、
絞り込みをしない場合には結果取得できてるの?
>>504 聞いたこと無いな
検索してもそれらしいのはなかった
>>501 確か出来たよ。
テストも通常のも同じはず。
ちょっとやりかた忘れた、というかそもそも覚えちゃいないけど、
組み込みのソースで、なにか適当なサンプルになりそうなのがあったんじゃないか?
Testじゃないけど、Acl周りのスキーマ見てみた?
やはり
>>504 はできないですか
そういう機能作れそうだから自作すればいいのかな
ローカルだと鯖のDBに繋げないから、鯖側で作りたいんだよね
ろーかるだと鯖につなげない? 繋げば良いじゃん 鯖でやりたい?? やればいいじゃん
>>511 鯖のセキュリティーポリシーで、クロスドメンできないんじゃないの?
2.3.3きた セキュリティ関係だそうで
CakePHPが他のフレームワークより優れてるとこってどこやろう? どれも一長一短
Authコンポーネント使っててSecurityコンポーネント使ってない場合限定の脆弱性ではある。 普通組み合わせて使うからな。
>>516 Securityコンポーネント使ってても問題が発生したぞ
Cakephpはセキュリティ面が劣るという意味でしょうか? 初心者ですいません
2.2系でパッチを出してないってことは2.2から2.3に アップデートした際のバグなんだろ。 セキュリティリスクは何使ってても存在するんで、 Cakeがダメなら何がOKってもんでもない。 メジャーなオープンソースだと攻撃者にしてみれば ターゲットが沢山あるんでクラックしがいがあると同時に 開発者も多いんで対応も早い。 極端な話、誰にも公開していないオレオレフレームワークを 自分だけで使ってたとして、よほど物好きじゃない限りわざわざ セキュリティホールを探してクラックしてみようとは思わない。 これは別にWebに限った話じゃないけど。
Cake2.x系でSmarty使ってる人いる? 情報があんまりないから、もうSmarty使わないのかな
Smartyとかもう懐かしむ対象だろ
2.3の件、詳細は後で教えるから先にアップデートしろって案内なのか。 意図はわかるけど、先に詳細を知りたい気もするな。
>>522 本家のサイトに毎回きっちりアップデートログ出てるだろ
一体どこ見てんの?
それか、あれを読んでのことなら普通はあれ以上のことは言わないだろ。 どんなセキュリティホールがあったかなんて具体的なこというと ふざけてアタックする連中をいたずらに増やすだけ。
>>524 そうそう、どんなセキュリティホールなのか具体的な記述がないことを言ってる
理由もわかるけど、先に知りたいなあと思っただけ
>>525 公開されたら試すやつが続出する。それくらい簡単な操作で発生する。
なんでお前はそれを知ってるんです?
CakePHP のログの一番先頭の db6dd18 Fixing case where it was possible to pass array data to FormAuthenticate fields から github で履歴見たら? 配列のデータを渡された場合の対処が考慮されていなかったんじゃない?
シェルのテストの書き方がわからねえ… ぐぐっても2が出る以前の古い記事しか出て来ない 色々やったけどモデルがundefinedで例外になるなあ、どうすればいいんだろう
>>521 そうなんだけど、期間指定でググると
Smarty自体使ってる人は結構いるみたいなんだよ。
PHPの解説なんかでSmartyの話しだしたりさ。
ただ、Cakeではそういう意見が見当たらないから
使ってないのかな?と思ったわけで。
使用者が少ないのか、情報が少なくてもうダメだな
>>530 CakePHPはテンプレートは素のPHPに見えるctpファイルって基本があるのに、
わざわざSmartyにする必要ないじゃん。
しかも下火になってるSmaryに。
まぁCakePHP+Smartyでやってるとこはあるよ。
保守でまだまだ1.3を使ってる人もいるし、
昔Smarty組み込んでそのままってアプリもあるだろうしな。
2でSmartyってとこがあるのかは知らん。
ctpでコーディングしてくれるデザイナーやコーダーっているの? いや、いるだろうけど、嫌がったりしないんだろうか
ctpでコーディングするには、ある程度PHPの知識が必要だぞ。 逆で、デザイナーが作ったデザインに プログラマがPHP埋め込んでctpで保存して、 一部をデザイナーやコーダーが修正する、ってならあるだろうけど。
なんでもSmartyだった、フレームワークもまだそんな無かった頃ならまだしも
フレームワークのテンプレートを分かるデザイナーは増えてるよ。
>>534 のようなワークフローで対応してる会社もあると思う。
ただ、デザイナーならまだしも、コーダーならctp分かると思うけど。
昔は大概のプログラマの知識でコーディングもカバーできたけど、 今はちょっとなぁ。 javascript のコード規約をうっかり忘れるととんでもないものを作りかねない。 ここまでjavascriptが重要になってくると、 JS使いの人間がコーディングの中心に立って HTML使いとサーバーサイドの人間を上手く使ったほうが 効率がいいんじゃないか?
Smarty はもはや話者の少ない訛りのきつい方言みたいになったな
第三者がテンプレいじらない限りには、 WordpressみたいにPHPを直接編集させるほうが効率いいよな
Windows上でPHP+CakePHP+MySQLのシステム開発をしようと思うんですが。 特に問題ありますか? Linux上でした方が良いのでしょうか?
普通にやってる人もそれなりにいるが、お勧めはしない。 大抵サーバーはLinuxだろうから、そりゃLinuxかMacでやったほうがいいよ。 本来Windows向けじゃないものを、ユーザーが居るからって、 ちょっと無理して動くようにしてるんだから、なにかトラブルにあたる事もやっぱある。 それを解決したりする努力って、本来しなくてもいいことだし、 解決してもサーバーで動かすときには必要の無い知識になるよ。
特に問題はない。 俺は自宅で作成してる時はいつもWindowsでやってる。 会社ではMac 改行コードが問題になる場合は注意。 あと何だろう。 何か細かい問題があった気がするが今思い出せない。
542 :
nobodyさん :2013/04/30(火) 05:37:18.71 ID:99fKZa1l
unixでやるに越したことはない。 だからといって是が非でもって訳でもない。 たぶん誰に聞いても同じ答え。
>>543 とのことですが、単にcakeフォルダを上書きすればOKなんですかね?
546 :
nobodyさん :2013/04/30(火) 20:27:50.68 ID:99fKZa1l
>>545 出来るだけフォルダ入れ替えた方がいい
上書きだとゴミが残ってるかもしれないから
開発はWindowsでやって、運用はLinuxでしてみようと思います。 パソコンがその分必要になりますが・・・ xamppはバージョンが古い(安定版?)ですよねぇ
>>547 そうか、まぁお勧めはしないが、
Windowsならではのトラブルに当たらないよう祈ってるよ。
>>547 それはガチでやめたほうがいい
開発環境も本番環境もOSやPHPのバージョン揃えるのは当たり前
mysqlとかwinだと小文字大文字区別ないけどlinuxだとちゃんと区別されたりするし
当たり前でもないけどな…
まぁ、大抵の本番のサーバーはLinuxかUnixだろうから、 開発環境もLinuxかMacにするのがいいよ。 Linuxは、自分でWindows消してLinuxに入れ替えるとかになるからちょっとハードル高くて、 だからweb系の開発者でMacユーザーが増えてるんだろうね。 俺は、最近のMacはちょっと不満点も増えてきて、Linuxにしたいなとか思ってはいるけど、 今のところMac使ってるよ。 Windowsで開発はしたくないな。
何作るつもりなのか知らないけど、そんなに神経質になることないよwww 自宅では個人運営のサイト100近くつくってて、そのうち20個ぐらいがCake使ってるけどWindowsで特に問題ない。 まぁ、ほとんどがアフィリエイト用なのでセキュリティとか微妙なとこをほとんど気にしてないって言うのもあるけどな。 業務で顧客に納品するのでなければ問題が起きてから対処したんでも十分だろ。
ローカルではxampp入れて動作確認し、 実際の運用のLinuxのサーバだけど、どっちも問題ないよ。
開発と運用でOSを合わせたほうがいいっていう話だが、 それ以上に PHP のバージョンだけはあわせておいたほうがいいと思う Cake本体は動いても、自分のコードがバージョンが変わると 根本的に不具合だらけっていうのは PHP にあまり精通していないとよくあることだから。
PHP4系ならそういうことはよくあったけど、5になってほとんどないけどなぁ
Yiiで自作した無名関数使いまくったライブラリを移植して結構使ってて、 いざアップロードするっていうときに実はサーバが5.2系だったので泣いた
VMWareかなんかで仮想環境にLinux入れとくといいよ
開発はxamppで何年もやってる 全然mondainai。
Winで開発しててLinuxで運用しる場合に問題がありそうなところって何だろう? メール、cron、ファイルの名前、改行コード、ぐらい? あと何かある?
会社でレンタルしてるサーバーがLinuxでしたので んで、会社で支給されてるマシンはWindowsです 簡単な在庫管理表を作って欲しいとのことでしたので でも、機能拡張するならDB設計をしっかりしたいですね PHPのバージョンを揃えるのは肝心ですね 最新は5.4でしたか Cakeは2.3.4 後、大文字小文字ですね
じゃVM使えばぁ?
VMって簡単に言うけど、あんなモッサリしたので仕事になるか? せいぜい動作確認に使って、その場で部分的に修正とかだろ。 ネイティブ並みにさくさく動けば文句ないけどな。
>>562 3年前のPhenomU 4コア メモリ16Gだけど、
そんなに遅くなることないな。。。
どういうスペックのPC使ってるの?
>>563 i5(4コア) 2.8GHz メモリ16GH だから似たようなもんだけど
キーを押してレンダリングされるまでのタイムラグがめっちゃ気になる
i5、メモリ16GでVM遅いとか、どんな構成で構築すれば遅く出来るんだ?
>>564 俺はメモリ8GBだけど、全くモッサリ感なんて無いけどな
単純にお前さんの設定がわるいだけじゃないか?
ちなみに俺はVMにCentOSをインストールして、SSHから接続してるが
>>564 一度VM環境を再インストールするとか、バージョンアップするとか。。。。
おいらはVmwarePlayerを使ってるけど3.x→4.xの時は体感できるほど
パフォーマンスが上がった気がする。
あくまで気がするってだけだけどね。
会社でCeleronを詰んだマシンがあるので、それにLinux環境を構築してみます レンタルサーバーと同じ環境になるかは微妙ですが。 メモリが512MBしかないですけど・・・ CakePHPは入るかな? そんなに容量いらなかったと思いますが VmwarePlayerは使ったことないんですよね(#^.^#) Windows8にLinux64bit版のVmwarePlayerをインストールしてみようかなぁ
>>568 実機をサーバ化するのはいいけど、ネットワーク関係は大丈夫なのか?
ローカルIPでサイト確認もできなくはないし、DDNS使うのもいいだろうけど、
お前さんはあまりサーバについて詳しくなさそうだから、
素直にVPSでも借りたほうがいいじゃないか?
安いのだと月額数百円であるし。
570 :
nobodyさん :2013/05/03(金) 11:10:57.16 ID:QBmSRWYj
環境揃えたいなら仮装環境つかうなりすりゃいい
開発環境のはなししてんじゃないの?なんでVPS借りるとかの話になってくんの? あとSSHとかも意味わからん
てかそもそも完全にスレチだろ 他所でやれよ
お前ら、最短でCake使ってどんなサイト作ったことある?
1時間で簡易ブログ
確かに出来るな。WYSIWYGエディタはオープンソースのを使えばいいし。
Call to a member function save() on a non-object ってでる・・・なんでや・・・ modelにもcontrollerにも書いたぞ・・・ エスパーしてくれ
モデルのオブジェクトの参照が見つからないんだろ。 よくありがち。 前後の文脈は?
メソッドが定義されてないってとこよりnon-objectに注目
dbが指定できてないかモデルが指定できてないってことでいいのかなぁ
いくつも可能性がありすぎてこれ以上は不可能
暇だから皆のよく使うプラグインでも書いて行かねぇ? TwitterBootstrap
規制解除されたけど書くことがない とりあえずでかそうなセキュリティホールがあった模様?Paginatorは大抵使われてそう
OAuth 2.0のプラグインとか、ない?
CGIWrapあたりを使って各ローカルユーザ権限でプログラム実行して、 そのプログラムの実行結果を加工して表示なんてことをやる必要があるんだけど、 どう書くのがエレガントだろう…
で、皆さんは仕事用で使う時、1.3系か2系どっち使ってます?
2.0
2系でビューに「$this->Form->create()」 って書くのにすごく違和感あるんだよな コントローラやモデルなら分かるんだが
588 :
nobodyさん :2013/05/12(日) 23:34:32.65 ID:3UdLRhbI
なんで? モデルにアクセスしてるから?
いや、単純に「長い」ってのが一番引っかかるね。 $form->create()の方が明らかに短いし、PHPっぽい。 ビューはもっとシンプルな方がいいと思うんだよな。
helper名の変数を使えなくなるとか弊害のほうが多いわ
そんな理由かよ
>>590 それなら、$FormHelperで良かったんじゃね?
ビューに$thisは違和感あるわ
どうぞ1.x使い続けてください。
初めて使うけど、bakeするまでで一苦労。フレームワークって最初の一歩が 大変すぎるお…
俺はbake使わなかったけど
半年使ってるけど未だbakeしたことないな…
フィクスチャ作るのにしか使ったことない あれは便利
テーマは作ってる?
作ってるよ
>>592 テンプレートファイルはViewオブジェクトのメソッドの中で
展開されていることを知れば何も違和感ない。
むしろViewオブジェクトのメンバー変数で直接ヘルパーの名前がある方が違和感ある。
$this->Helpers->Form->create();
でもいいと思ってる。
それこそなげーよw
2.3.5が出てたよ なんか最近アップデートが半端ないな
そろそろアップデートするかな、1.2から
マ ジ ハ ,,ハ デ (;゚◇゚)z !?
2系使ってる有名なサイトって知らない?
>>603 オレもそろそろ1.2から2.xへバージョンアップしようかな
cake2 もうちょっと情報ほしいなぁ・・・ みんなはcakeつかってどれくらいの規模のもの開発したの?
俺はモバゲーとmixiとGREEでやってるソーシャルゲームとかCakeで作ったよ
給与計算システム
>>608 詳しく。表側(ゲーム側)もCakeで作ったの?
そうだよ。ブラウザ側の動きとかはJavaScriptだけど。
>>611 ゲームって処理速度が重視されるイメージなんだけど、
それは問題なかったの?
ソーシャルゲームは、ネットワーク上でどんなデータをやり取りしているか判れば、 Cakeで作ったっというのも納得いく筈。 以外とデータの転送量が少なくて驚くハズ
>>613 データの読み書きが頻繁に発生するから、
Cakeのようなフレームワークだと処理できないイメージなんだが
greeってSmartyを改造したの使ってなかったっけ
真実を教えてやろうか ゲームなんて作っても一握りのヒット以外は閑古鳥だから おっそいフレームワークでも全く問題なし EC2のオートスケールで万全の負荷対策をしたのに、全然アクセス来なくて泣いたわ
ちんまい画面で動くゲームとかカードゲームとか おみくじ的なゲームくらいだったらそれほど困らんでしょ。 CakeはAPI的につかってnode.jsとかで組むんでしょ?
なんでサーバーサイドを2つに分けるんだ?
phpをべた書きしている、php歴3ヶ月未満のものです フレームワークを使った方がいいよ と友人が言うので、CakePHPを勉強しようと思っています (他にもフレームワークはありますがここのスレはCakePHPなので・・・) ネットでいろいろと調べていますが、いきなり上級者すぎてついていけません・・・ MVCからフレームワークまでCakePHP初心者に相応な書籍とかありませんでしょうか? お願いしますm(_ _)m 「即戦力になるための PHPシステム開発の教科書」マッキーソフト株式会社を買おうと検討中
先にクラスの書き方を覚えたほうが良いんじゃね?
1年ぐらいPHPとMySQLで何かしらのシステム作って それからフレームワーク使ったほうがいいよ
本当そう思う。 段飛ばしで慌てて学習しようとしても結局なにも理解できず 最終的に覚えるのが遅くなるだけよ。
>>619 cakephp学んで2か月目だけど
.installで基本を学んで後は作って調べて覚えてる。
後は公式を何回も読むぐらいか
書籍買って読んだけど意味不明だったし、手動かして覚える方が早いわ
php 以前に他の言語の経験が豊富なら可能かもしれないけど、
どうやらプログラム歴自体が浅そうだからいきなりフレームワークは
挫折する可能性高いんじゃないかな。
おれも
>>621-622 と同じように、まずは素のphpとデータベースを
触って見ることを進める
>>619 初心者向きなら
○オープンソース徹底活用 CakePHPによるWebアプリケーション開発
つ
ttp://www.amazon.co.jp/dp/4798022225/ ただし、ver 1.2用です。
コイツのver 1.3の本も出ているが、評判はイマイチ。
PHP 3ヶ月とか言っているけど、WEBフォーム作ったり、
POST(GET)通信されたデータをPHPでバリデーション処理して、
結果画面を出力するくらいできるんだよね(調べながらでも)
だったら、いいじゃないのCakePHP
ちょ、今から1.2とかw
ワロタw
1.2勧めるとか無いわあ 消えろ珍カス
2008年頃からphpやってるけどフレームワーク使ったことないわ そんなに良い物?
書き方としては、1.3が一番わかり易いと思う
1.2ってバグフィックスされないよね? セキュリティホール開いたままだよね? 1系ってメールコンポーネントのマルチバイトの扱い悪いよね? しつこく3回も書くってなに、アマゾンマケプレに出品してるセドラーかよと。
634 :
691 :2013/05/23(木) 22:38:30.28 ID:???
619です C→VB→Javaときて、PHPと変遷してます VB歴が一番長かったですね Javaの時は、PostgreSQLをいじってました。2年程度ですが。 Javaの時は、フレームワーク使わなかったなぁ Struts等フレームワークを勉強する時間があったら、コーディングしろって感じの現場でしたから phpをベタ書きで1年やって、ある程度わかってからフレームワークに手を出してみようと思います その時には、買った本も無用になってるかもしれませんから 確か最新バージョンはCakePHP 2.3.5だった気がしますが 1.3系を勉強しても大丈夫なんですかねぇ
635 :
619 :2013/05/23(木) 22:40:12.62 ID:???
691→619 間違えました。
>>634 それだけ経験してんのかよwww
悪いこと言わないから最新版追いかけ続けろ
アプリ作りながらコアは常に最新版に差し替えていけば良いと思うよ
チュートリアル何回かやってから
著名なプラグイン使って少し拡張して何か作れば?
1.x系は無視して 2.x系で始めな レガシーな馬鹿はほっといておk
話しずれるけど、 2013年にもなってCakePHP新たに始めましたって 1.3でやり始める人少なからずいるよね。 学生もいたしその場合は、1系の保守に補充で入ってしかたなくとかでも無いだろうし、 いったいなんでなんだろう。
そらぐぐれば1.3の情報ばかり出てくるからだろ
あと、鯖の問題もあるんじゃね?未だにPHP4系使ってる人多いし。 勉強用にさくらでもロリポップでも借りとけとは思うが
本当?PHP4使ってる人は俺がPHP始めてから見たことないが
本当だよ。ついこの前も「設置できないから教えてください」 って聞いてきた人の鯖がPHP4.4.9だった
情報源にサーバーかぁ、なるほどね。 確かにありえる話だな
いまどきPHP4でいいとか思ってるアホに何かを教えてやる必要があるんですかね
金くれるならありでしょ
646 :
619です :2013/05/24(金) 22:24:30.60 ID:???
619です 今日phpでおもいっきりつまづきました。 ’と”の使い方 あと、nullの判別 複雑なSQL文を作成していて、変数の値を読んでくれず・・・ あとは、存在チェック SQLで検索して、0件かどうかの判定です わかってみると、ああそうか〜〜、てな感じでしたが このへんはフレームワークをやってると便利なんですかねぇ PHPのバージョンは5.4です ロリポップですかぁ。やってみようかな。 PHPをベタ書きしてるんですが、フレームワーク対応にする際は難しいですかね?
フレームワークのスレだ。それもcakepghpという個別の。 phpの初歩的な質問はそれ相応なスレで。フレームワークの相談もそれ相応のスレで聞け。 要するに書き込むな
>’と”の使い方 >あと、nullの判別 >SQLで検索して、0件かどうかの判定 このレベルの奴がとてもJavaで使えるものを作ってたと思えないんだが
ポストグレではSQL書かなくてもDB検索出来るの・・・?
プログラマーなら「最速 php」でググれば、
言語による違いで気になる文法的なものが簡潔に書いてある。
一時期流行ったから、大抵の言語は誰かしら書いてる。
ざっと確認したらCakePHPを始めるといいんだけど、
つまづくようならフレームワークよりも基礎が先じゃねと思うわ。
その場合は
>>647
なんつーか、初心者以下のスキル(というほどでもない)だな・・・ 初心者本の30ページ以内で出てきそうなことすら 満足にできないのでは、フレームワークどころじゃないだろ
"PHP" を全角ですんなり打てるあたりが只者じゃないな
javaやってたならOOPも当然理解してるはずなのに そのくせフレームワークの必要性や利点も理解してないとかギャグか? 話の辻褄が合わないところを見ると、カッコよさげな語句をただGoogleで検索して適当に知ったかしただけの馬鹿かな?
やったってのは大学じゃ専門じゃないのw Java2年やってましたって言ってた中途採用は一からじゃ何も作れなかったよ
最初はPHPの入門書買った方がいいよ(CakePHPの本じゃなくて) ネットも便利だけどつかみ所を探すのに逆に手間がかかる。 今やってる事は正しいのか?最新なのか?これが終わったら次どこ見たらいいのか?・・・とかね 俺も他の言語に手を出す時は、なんぼネットに情報がいっぱいある物でも 入門書読んでからやってるわ。その方が早い。
その言語を続けるかどうかわからん状態で本を買うお金がない
本など買ったことないが俺はこのスレでクソ質問に回答しつづけてる
わずか数千円の書籍代をひねり出す気がないんだったらこの先も厳しいな
本なんて1冊買っても役に立つのは一部分だけ、数百円の価値もないことがほとんど つまり同じような本を何冊も買わないと、必要な情報は得られない そうすると数千円では済まない
初回(入門時)だって言ってるだろうが
SELECT FOR UPDATEができないウンコフレームワーク こんなんでソーシャルゲームとかつくって大丈夫か
662 :
619です :2013/05/26(日) 21:48:12.34 ID:???
ある程度、ベタ書きのphpが終わったら、CakePHPに以降する予定です 自転車会社でphp使って、在庫確認するページを作ってるだけですから
はい分かりました。 では次の方どうぞ。
jqueryでポスト送信してcakephpで受信しようとしているんですが データが取得できないのですが誰かエスパーで助けてください。 postデータ {id:"hogehoge"} コントローラ $this->request->params['form']['id']
debug($_POST); まずせいや
CakeRequest をググってでも調べていたらこんな質問は出ないはずだが...
ポストデータの取り方が悪かったみたいです。 こんなことに2日も悩んだ自分がバカすぎorz
CakePHPに関して真面目な質問があるんですが、どこですればいいの? 公式から辿ったりぐぐったりしてみたけど、どこも過疎ってる
まずは質問してみろ。 価値ある質問なら、面白がって皆答える。 茶化されたらggrksってことだ。
ガチで真面目な質問なら俺が答えてやるよ
>>668 StackOverFlowで英語で質問する
2chの100倍おすすめ
あそこCakeの質問もできるのか なるほど、試してみよう
結構いいかげんな答えもあるけど、 ここがあそこの100分の1かそれ以下というのは間違いない
わかっちゃいるけど英語で質問を書いて答えを読んでまた返信してって、 あまりにも苦行過ぎる
せやな
俺は全然苦にならないが
すごい!かっこいい!だいて!!1
フレームワークを使わない方が、表示動作が早いというのは本当ですか? CakePHPは手軽で早いと聞いたのですが・・・
その手軽で早いは開発スピードに関することだな
むしろ、フレームワークを使うと処理コストが無くなると思ったの? 自分のコードに加えてCakePHPのコードも処理する事になるのに。
フルスクラッチのほうが処理は早くなるかもしれないが、後々のメンテとか考えるとマゾくなるぞ EC-CUBEみたいに意味不明な構成を作った日には目があてられない
EC-CUBEは反面教師としたい 実際新人にひどいコードの例として見せてる
ふーん例えばどういうコード? はよはってみ
ECCUBEを触ったのはもうかなり前だけど、100行超えるメソッドがふつーにいくつもあって萎えた
685 :
nobodyさん :2013/06/06(木) 12:10:46.55 ID:4AGAjKK+
しかし、ラードフさんに見せればなんというか分からんよ。 あのお方は WordPress のコーディングが PHP にとっては最善のスタイルだって言ってるぐらいだから、 EC-CUBE も、結構いいって言うかもしれん
生みの親がそう云うならWPマンセーということで...
並列で外部鯖にまとまったリクエストかけたいんだけどcakeではなにか用意されてないかな? curl_multi*とかpecl httpとか使って自前でコーディングするしかない? 経験ある人なにか助言ください
WPとEC-CUBEは今まで触ったオープンソースの中で2大ひどいソース
たまっていくだけのログの日付によるパーティショニングをCakeで実装した例ないかな できればMySQL5.5以降で
パーティショニングは俺も試したことあるけど、ちと難しい パーティショニング自体の公開実例もあんまりないからな
やっぱり難しいのか 結構皆欲しそうな良さげな機能に思えるんだけど、確かにやってる例があまり出て来ない 基本部分の解説のみならいくつか見つけたんだが やってみたらうまくいかないとか、何かボトルネックがあるのかな
単純にパーティショニングが 必要な状況ってのがあまりないからな。個人レベルでは。 100万以上のレコードを操作するとなると、 テストするだけでも大変だし。サーバ的にも。
なるほど、確かに大規模やってないと需要ないかもな とりあえずちまちまいじってみる
Cake2で、DBが落ちていたら、固定のメンテ中画面を表示 ということをやりたいのですが、参考になるサイトがあったら教えて下さい
View/Errors/missing_connection.ctp を作成したらOK。 別に参考にするサイトを挙げるまでもなく、 デバッグモードにしておけば親切にCakeのメッセージが出るが?
すげぇな。DBが落ちてたらメッセージ出すって機能があるんだな。
>>696 なるほど
View/Errors/missing_connection.ctp を作成してみたけど、
それだけじゃダメなのか、普通に500エラーになっちゃいました
本番環境ではデバッグ用のエラーは出せないので、例外ハンドラを書かねばならないと
思うのですが、参考になるサイトがあったら教えて下さい
Cakeってぐぐっても古いバージョンの記事ばっかり出てきて、本当使えない
Cakeってぐぐっても古いバージョンの記事ばっかり出てきて、(馬鹿な僕には)本当使えない
702 :
nobodyさん :2013/06/09(日) 03:33:22.24 ID:EGXyGABX
ググれば大体で解決できたけどurl書き換える難しすぎわらた(笑ってない) :とか糞だせえ上indexって出さないでくれ
?
現在、CakePHPを勉強しているのですが、何を作ったらいいのか悩んでおります。 一応、ドットインストールは終わったので、次のステップに進みたいのですが、 どういうものを作ったらいいのか思い浮かばず、悩んでおります。 PHPは入門書を何冊も読んで勉強しているのですが、空打ちの習慣が身につかず、 勉強方法を考え直さないとまずいと思っております。 それで何か、ネタ帳か勉強方など、教えてくださると助かります。 何卒、よろしくお願いします。
欲望を解放しやがれバカやろう!
>>705 それができたら苦労しません;ω;
何か、CakePHPの作品サンプル集みたいなものがありませんでしょうか?
クラウドソーシングサイトで適当に案件受けてそれ作ればいい
>>707 ありがとうございます、早速ブックマークしました。
すみませんが、クラウドソーシングサイト以外で、 CakePHPの作品集というものはありませんでしょうか?
cakephp ほげほげ で検索しないで cakephp2 ほげほげ で検索すれば2系の記事ヒットしない?
しない。ないものはヒットしない。
Cookbook v2.xがヒットして、役に立たないことが多い
cookbookが役に立たない?何いってんの? まぁホントに役に立たないならこうしときなさいよ cakephp2 -inurl:cakephp.org ほげほげ
cookbookが役に立たないというか、cookbookに載ってないことを調べるためにくぐるわけで そういう時に出てくると確かに邪魔 あと古い記事は本当に邪魔、いつまでfindAllとか出てくんだよ
railsでいうところのdeviseのようなログイン管理プラグインはありますか?
入れたとしてもスキルマセイレーン
ごばくすまんこ
よく分かるわ 2にするときに、名前を変えろとまでは言わないが、 何か特徴的なコードネームとセットにすれば良かったと思う
2.3.6 出ましたで
Cake3 は是非それ以前とは明らかに区別できるニックネームを付けてほしい。 マジで検索結果がやばい
せやな
>>710 Cakeの勉強のためだったら candycane がいいんでないの?
他のは使うにはいいと思うけどCakeは1.3系だから
これから勉強する人には向いていないのでは。
質問させてください railsの場合は基本的にvpsなどで 1から鯖構築から始めないといけないんですが cakephpならレンタル鯖にポンと つっこむだけでわりかし動いてくれるんですか?
1.3に比べて2系はかなり楽になった。 それでも、 データベースの設定、 index.php の設定、 bootstrap.php の設定、 database.php の設定、 core.php の設定 は必要。 ただ、PHPなんで面倒くさい手続きはいらない。 正確な手順は公式の cookbook にかなり丁寧に書かれてあるから それを読めといわれるだろうけど、ま、ざっくり言うとそんな感じ。
htaccessのmod_rewriteの設定が一番めんどくさい あれ自動化できんもんか
今はほとんどのケースで設定不要だろ 何か変わったことやってんの?
変数定義エラーがずっと表示されてたんだけど ある時に急に表示されなくなるという不思議 どういうこっちゃ・・・
>>727 は
>>726 へのレスか?
Cakeをサブディレクトリに置いたら.htaccess編集しないといけないのがめんどくさい
同じソースでたくさんのサブディレクトリに置いたりするからな
>>729 いや、それ不要だろ。
今は index.php にパスを設定すればいいじゃんかよ
>>728 まさか debugモード変更したんじゃないのか?
>>725 を改めて見なおしたら、設定必須なのは
データベースの設定、
database.php の設定、
core.php の設定
の3つでよかったと気づいた。訂正する。
レンサバならFTPかもしれんし、tmpのパーミッション忘れんなよ > データベースの設定、 > database.php の設定、 被ってるけど、bootstrap.phpじゃね?
tmpのパーミッションは毎回一度ひっかかる 自動化…はさすがにできないか
>>735 確かに chmod 使えない安いレンサバは仕方ないなぁ。
tmp だけじゃなくてその下のディレクトリも全部設定しなくちゃならんからな。
やるんなら、tmp 以下のディレクトリを全て削除した上で、tmp だけ777にして、
ブラウザから tmp 以下のディレクトリを作成すると少しは手間が省けるだろうけど、
まぁ面倒ではある。
>>734 データベースの設定はMySQLとかCakeが利用するDBのことだ。
分かってくれよそれぐらいw
あと、 bootstrap.php は無設定でも動かせるぞ。
core.php と database.php は必須だ。
CakePHPの初心者スレはココでつか?
初心者未満専用だ 初心者はどっか行け
740 :
nobodyさん :2013/06/11(火) 18:32:54.01 ID:eQVT9fYe
cakeがバージョンアップするたびにアップするのが面倒です 何かいい方法ありませんか?
前にも書いたけどさ、管理画面からビューを編集させたい場合、 Viewフォルダ内のファイルを直接読み書きする方法がベストかな? WPがこの方法だけど、俺にはPHPを直接編集させるというのが どうしても違和感がある。しかもビュー内の変数がオブジェクトになってるし。
>>741 あぁ、ありがとうございます。
ただ、めちゃ難しそうですね。そして格安サーバーでは無理っぽい。
でも知らない知識だったのでサンクスです。
>>742 それ具体的にはデザイナにコーディングしてもらう作業を念頭に置いてるの?
>>744 いや、デザイナーより運営者。
知ってるかわからないけど、Cake使ったCMSで
BaserCMSってのがあって、これもビューを管理画面で編集できる。
あーあれか。 その人PHPわかってるの? 俺はWordPressもテーマの編集は絶対にさせないので、 もしBaserで提供してもそれは無いとしか言えないわ
>>746 誰かに触らせる事を前提じゃなくて、単に客観的な意見ね。
そんで、
・プログラマの場合
・PHPが分かるデザイナーの場合
→ビューファイルをエディタで直接編集すればいいじゃん
・PHPが分からないデザイナーの場合
→分かる奴(PG)に任せればいいじゃん
・一人でやってるデザイナーの場合
→編集しないほうがいい
って判断なのよ。別にブラウザから操作させるメリットはないなと。
実際、WPでもテーマ編集できるのって、PHP知ってないと無理だし、
仮に知っててもコードがややこしすぎるからな。独自関数ばかりで。
BaserCMSを久しぶりに覗いたらバージョンが2.xっていうのがあったんで ようやく2系を取り入れたのかと思って嬉々としてダウンロードしたんだが 1.3系だっだでござる。 1.xっていうのは1.2系だった。。。 いっこうに2系を採用する気配ないね
>>748 WordPressのテーマ編集機能は、間違えたら問答無用でエラーになるし、
バージョン管理も履歴も無いから、クリップボードに変更前のを入れたりしてないと、
壊したまま動かなくなる可能性が普通にあるよね。
俺も普通にこわい機能だと思うけど、オープンソースのCMSに割りとあるよね。何故か。
FTPも分からない疎い運営者を想定してるのかもしれんけど、
その場合HTMLどころかPHPも入ってるテーマをうまく編集できる気はしない。
だけど、うまくプレーンテキストのとこだけ変えるように注意すれば、
そんな運営者でも活用できなくも無いのかね。
変なことにならないためにも CMSでコンテンツをマネジメントするんじゃないのかな? 一般の顧客にある程度自由に編集させるにしても、 WPでいうところののカスタムフィールドみたいなものを ガチガチに作りこんで納品するイメージしかないが。 柔軟かつ安全に…っていうのは容易いことじゃない。
$this->request->Dataで受信できないことを2時間も悩んでしまった・・・
そうですか、それはご愁傷様。 とでも言えばいいのかな? とにかくくだらない事でもいいんで 何でも書き込んで2.4が出るまでにスレを消化しようぜ!
>>750-751 そう。つまりだ、「必要ないよね?」ってのが言いたいんだけど、
WPにしろBaserCMSにしろ、なぜかブラウザから
ファイル編集出来る機能をつけてる。メリットがほぼないのに。
いや、実はメリットが有るのではないか?と何度も考えたんだけど、
>>752 のレスじゃないけど、フォームの入力値を表示するのに
<?php echo $this->request->data['Post']['name']; ?>
とか長いし分かりづらい過ぎだろ。
どう考えてもブラウザからビューを編集させるメリットがわからん。
あれは開発者が楽するためのツールだとばかり思ってたが 違うの?
そう言えば俺もあんなの使わないけどな。 きっと誰かが使ってるんだろうなとは思うけど、 確かにあまり存在意義ないのかもしれない。 むしろ弊害のほうが大きかも知れん。
まぁやめといたほうがいいよね。 Viewをブラウザから編集なんて。
>>753 むしろ2.4をまとうず
2.3でスレ作ってすぐに2.4でたらどうすんだよ
ブラウザでPHPを編集て、ただのプレーンテキストだよね? エディタの色分けやコードアシストがない状態で、バージョン管理もない状態で、編集できる気がしない…
ですね。
ですです
phpMyAdminはSQL書いたら色分けしてくれるよね
そやな
色分けってJavascriptだよね?自前で用意するのはちと難儀だね・・・
そこまでやる手間を考えると 普通にIDEで書いてたほうがマシ
SQL程度ならまだしもな
ですね
768 :
nobodyさん :2013/06/14(金) 13:56:25.70 ID:wQe9nwTr
CakePHPで質問なのですが、エラーメッセージを表示するように、 モデルで指定したのですが、エラーメッセージが表示しません。 ソースコードは以下のものです。 public $validate = array( 'name' => array( 'rule' => 'notEmpty', 'message' => '名前を入力してください。' ), 'title' => array( 'rule' => 'notEmpty', 'message' => 'タイトルを入力してください。' ), 'content' => array( 'rule' => 'notEmpty', 'message' => '記事を入力してください。' ), ); 何故表示しないのでしょうか?
Bakeryにコメントしたいんだがloginフォームしかない。一般人はメンバーになれないの?
>>768 bake だけのファイルや scaffold を用いた場合なんかだと、
初心者にはどういう仕組でエラーメッセージが表示されているのか
わからないのは無理もない。
細かい挙動が全て隠蔽されているからね。
いずれにせよエラーメッセージがビューで出力されるまでにどっかで抜け落ちてるんだろうけど、
原因になる可能性は沢山あるのでそれだけじゃ特定出来ない。
具体的なコントローラのメソッドとビューファイルを書いてみて。
>>768 あと、開発時や、ここで質問するときには
Debug の設定値は必ず 2 にしておいて下さいね。
どこに書いてあったか完全に失念したが、 Baker から Issues へ移行するというエントリをかつて読んだことがある。 Issues (Lighthouse のサービスを使用)はかなり活気づいている印象だから、 そっちにするといいのでは? 自分も何回か投稿して良いレスポンスを頂いてます。
>>775 それはどこなんです?
ぐぐったらlighthouseapp.comというのが出てきましたがここですか?
今回の場合、Bakeryの既存エントリにケチ付けたいからコメントしたいので、他所じゃ駄目なんだよな
CakePHP2で、Authコンポーネントを使ってログイン機能をつけています。 管理者が特定ユーザーをログアウトさせる機能をつけたいのですが、 Authにそのような機能はありますでしょうか?
ない 自前で実装 Appcontrollerのbeforefilterとかでログイン中ユーザーは毎回Userテーブルにアクセスしてフラグ確認するみたいにしておいて 管理画面からそのフラグを操作とか?
>>777 管理側から特定ユーザーに退室用のセッションをプッシュしてやって、退室させたいとか?
で、お前らいつ2系に移行しますか?もうしてる?
781 :
nobodyさん :2013/06/20(木) 21:57:36.93 ID:gKLHMk7L
漢なら開発中の3.0で納品やで どや!
array( [0] => array( [Model] => array( [id] => 83 [name] => aaa [hoge] => hogehoge [fuga] => fugafuga [piyo] => piyopiyo ) [1] => array( こういうfind('all')の結果から、idとnameとfugaだけの配列を抽出できないかな? ループで回せば出来るんだけど、出来ればHashクラスとかでさくっとかけないかなと思って頭捻ってるんだけど、うまくいかない。 fieldsで絞らない理由は、jsonにして出力するんだけど、 jsonには含めたくないが、アクション内の分岐に使うカラムがあるんだ。
俺なら array_map 使う
俺ならSet::combineを使う 2.1以降はSetじゃなくてなんだったっけ?アレ。
レスどもす。月末忙しすぎわろた。
>>783 array_mapかぁ。
そういえば使ったことないや。後でいじくってみる。
>>784 Hashなー
combineって抽出できるキーが少なくない?
質問だと簡潔にと思ってidとnameとfugaの3つを書いたけど、場合によっては4個5個やもっと多い場合もあるんだ。
Hash::combine とかって中身は結局 Hash::extract 使ってるんで extract で出来ないことは出来ないと思うよ。 ググったら結構詳しい記事とか見つけられると思う。 Set はほとんど知らないんだけど、たぶん同じ感じじゃないかな?
アクセスされた時、常にトップページに遷移する仕組みを作りたいのですが そのような処理は可能でしょうか? ログイン的なものはありません。
簡単では? セッション確認して、無ければトップページにリダイレクト。 トップ読み込み時にセッション開始
スレタイの○ホール目って、Cakeだからホールなの?
一つのディレクトリにapp1、app2みたいな別名のサブディレクトリ作って複数のアプリを共存させることってできないですか?
出来る coreを共有するって意味だよね?
「cakephp 複数サイト」などで検索
MySQLでDBのカラム名を日本語utf-8にしたいんですけど、cakeは大丈夫ですかね? (テーブル名は英語で)
やってみてどうだったの?
そんなことやろうと思った事もないけど、 嫌な予感しかしねぇな。 俺の予想は、地味に動いていけるんじゃね?って事にもならず、 のっけから動かないと思う。
既存システムが日本語カラムになっているもので。
で、やってみてどうだったの?
どうだったの?どうだったの?
800 :
nobodyさん :2013/07/02(火) 03:57:39.65 ID:PsPEQ4Vq
すみません、CakePHPの初心者板がないので、こちらで質問させてもらいます。 今、ホームページ制作を勉強しているのですが、 CakePHPの入門書にある掲示板ではなく、よくあるサイトを模して作ろうと思うのですが、 一度、テンプレートのようなものを別のフォルダで作成し、 出来上がったものをCakePHPの書式に変換してやろうと考えております。 ただ、viewフォルダ→Pagesフォルダの中に、実際に表示したいと思っているコーディングしたものを上げたら、 エラーが表示して出てきませんでした。 Pagesフォルダ以外にも、記述しなければならない箇所はどこでしょうか。
何いってんだこいつ >Pagesフォルダ以外にも、記述しなければならない箇所はどこでしょうか。 Pagesフォルダに何記述したんだよ フォルダに記述ってなんだよ
802 :
nobodyさん :2013/07/02(火) 09:10:07.65 ID:PsPEQ4Vq
>>801 すみません、Viewフォルダの中にあるPagesフォルダの中に、
表示したいページを入れるでした。
ここの板に限らず、エラーをコピーして貼り付けるのが基本。 不要と思うものも何もかも貼り付ける。 不要なものを貼り付けてしまっても何ら問題ない。 面倒だとか恥ずかしいとか思うなら質問する資格はない。
Authコンポーネントについての質問です。バージョンは2.3です。 DBの仕様により、管理者、一般ユーザが2つのテーブルに別れて格納されています。 管理者、一般ユーザはそれぞれ同じリソースにアクセスするのでアプリ自体を別けたくありません。 Authは一つのモデルしか対象に出来ないので、認証すべきユーザテーブルが2つに別れている場合の 対処の仕方がどうしても思いつきません。どうかよろしくお願いします。
beforefilterなりでprefixみることでadminへのアクセスか調べて それぞれのauth設定に分ければいいだけじゃないの?
>>805 ありがとうございます。
その「それぞれのAuth設定」というのを理解出来ていないのですが、
AppControllerのuses でAuthを使った場合、設定できるのは一回きりですよね。
一般モデルと管理者モデルを相手とする別々のAuthの設定をどうやっていいのやらわかりません。
混乱してるのかもだけど アクセスしてきたユーザーはadminか一般かのどちらかだよね? 一度のアクセスで両方を設定する必要があることは無いでしょ? だからAuthの設定をbeforeFilterでしてやればいいわけじゃん? AuthのAPIみてみ beforefilterでauthenticateとかloginActionとか
まって >AppControllerのuses これあってる?componentsじゃない? 俺2.1までしか触ったこと無いからもしこのへん変更されてるなら俺無視した方がいいかもね
>>808 私の間違いでした。ありがとうございます。
CakePHP 以前DBの正規化の話になるけど、 管理者と一般ユーザ(それぞれ admins, users として)を統合する 上位のテーブルをこれから作れないの? 全ユーザーテーブル all_users にして、 admins と users にそれぞれ all_user_id を追加するという具合に
>>810 すばらしい発想ですね。ありがとうございます。参考にさせていただきます。
>>804 の件ですが、一応解決策が見えてきましたので、ご報告させていただきます。
>>807 様と
>>810 様のアドバイスの合わせ技で、以下のようにしました。
users テーブルを新たに作成
カラム id, username, password, role を設定
↓
admins テーブル、 customersテーブルに カラム user_id を追加
↓
モデル Admin,php に$belongsTo Userを設定
モデル Customer.php に$belongsTo Userを設定
↓
AppContorollerのbeforeFilter()でユーザのRoleを判定し
ログインリダイレクト先とログアウトリダイレクト先を設定。
あとは各コントローラのbeforeFilter()にRole判定を入れてしまえば
だいたい完成かなと思っております。
ありがとうございます。
良い感じだと思います。おつかれ
いやちょっと待て、role はひょっとして admin と customer が入るのか? だとしたら冗長だな。 User hasOne Customer User hasOne Admin にした方がいいと思うが。
2.3.7と2.4β出たね
モデルのコンストラクタ内でセッションデータを参照したいんですが、できますか? Cake2です
>>816 どうしても、ってことならConfigure::read/writeで代用かな。
セッションの内容によって、接続するDBを変えたいのが理由ですが 設計まずい?
多分そーすぐっちゃぐちゃなんだろうなぁ
>>820 モデルのコンストラクタは引数決まってるしCakeが勝手に呼んでくれるけど
そこをオーバーライドして、引数を追加しろって事?
>>822 コンストラクタ内で切り替えなければならない理由があるんだろうか。。。
>>824 コンストラクタ以外で良い場所ありますか?
DBに接続する前にuseDbConfigを書き換えようとしてるから やはりコンストラクタが確実なんじゃないですかね? 引き続きその線で考えてみます
技術系の質問て、どこでしたらいいのかわからない ・stackoverflow ・2ちゃん ・質問対象のコミュニティ、フォーラム どれも試したが、stackoverflowは質問が大杉てすぐ流れちゃって閲覧されない 簡単な質問ならすぐレスが付く、ただし数分過ぎたらもうレスは付かない 質問対象のコミュニティ、フォーラムは過疎ってることが多い 2ちゃんはアホばかり いちばんレスは得られるが煽りばかり さあどれを選ぶ?他にある?
誰か詳しそうな人のツイッターなりFacebookなりに質問すれば? うざがられるの覚悟なw
こいつ前からぐちぐち言うだけのやつか いつまでたってもぜーんぶ他人だより そろそろ自分でなんてかすることおぼえろよ
コンポーネントからappcontrollerのメソッド呼びたいときってどうすればいい?
componentを呼び出したcontrollerじゃなくてappcontrollerというのならClassRegistry::init()でもnewでも勝手にしてろクソ
>>833 どうした嫌なことでもあったのか?
わからんしApp::usesするわ。
マジでappcontroller呼び出すんだ 頭悪いにも程があるな
classの概念もわかってない奴はcakeなんていじっちゃだめだよ
>>836 そうね、あったねいやな事。
答えを書いたはずが理解されなかったことかな。
最近2ちゃん民の質の低下が著しい 2年ぐらい前までは、まだたまに有益なレスが得られたものだが
ネオ麦茶とかのころからみてるけど昔のほうがひどかったよ^^
最近CakePHPを指定してくる案件の単価が下がりすぎてやばい。 俺の周りだけ?
>>841 言語を指定してくる客とは関わらないようにしてる
appcontrollerをApp::uses()ってまじでか?w
なんで AppController のメソッドが必要なん? Component を使ってる Controller じゃなんであかんのや?
classとはなにか継承とはなにかすらわかってないんだよ これ以上触れないほうが双方の利益
適切に書くべきところに処理を書けば、トリッキーなことしなくていいのに。
そりゃモデルでやるべきだろjk ビヘイビアでも作っておけばいいんじゃないの?
回答ありがとう その方向で直してみるわ
CakePHPのfindとsaveを普通に使っていればSQLインジェクションは起こり得ないと思っておk? 任せておけばプレースホルダ使ってくれるんだよね?
>>850 なんか、一個だけだめなやつがあったって何かで読んだ
updateallじゃね
あぁ、そうだった。 find と save だけ使ってりゃ大丈夫だったか。
そんなのあったのか 結構使ってるつもりだったが初めて知ったわ
ああ、updateAllだけはサニタイズかましてるわ 正直面倒
この問題まだ解消されてないんだね 何か難しい問題があるのかな 既に別のフレームワークへ移ってしまったが
おれ852だけど、 これ問題じゃないだろ カラム名+1とか出来るようにしてんじゃないの?
なるほど カウンター増減専用メソッドが存在しないための対処なんだな
>>856 難しい問題があるというよりも、生のSQLを用いた
更新ロジックを作りたかったんじゃないかな。
とは言え、他のは自動的にサニタイズされるのに
これだけ自前でやるだなんて、問題ないとは言えないと思うが。
オプションで "sanitize" => false とか
指定できるようにすればいいわけだから。
860 :
.net 99 :2013/07/30(火) 10:48:47.04 ID:li987LIG!
秒じゃないのか?
分であってる 何でその長さにしたのかはブログの作者に直接聞くといい
863 :
.net 99 :2013/07/30(火) 15:27:10.10 ID:li987LIG!
>>862 ありがとうございます。うーん。
ブログで得意気に情報を公開するのは結構ですが間違った
情報を堂々と公開するのは勘弁してほしいですね。
ちょっと自分でブログにまとめます。
間違ってはないだろ お前の用途に合って無かっただけ
180日のセッションのどこが間違いなんだ? あとブログの情報なんてのは間違っていても全然おかしくないわ。公式のヘルプでも間違ってんのに。 問題はお前みたいに間違いに気づいたと思っても、 恥ずかしかったり面倒くさかったりでアクションを起こさないやつだ。
いいから早くブログにまとめろよ はよ
867 :
860 :2013/07/30(火) 20:31:54.75 ID:EA19wq1I
868 :
860 :2013/07/30(火) 20:53:05.82 ID:qDXmbOPS
今でもマイナーチェンジ繰り返してるみたいだけど、 そんなに改良するところがあるもんなのかな CakePHPにかぎらず、なかなか一つの定番に落ち着かないもんだな ま、PHP 自体が変化しているから仕方ないのかな?
バグが多いイメージ
間違いくらい誰だってするだろうに
> CakePHPなんて2年ぐらいほとんど変わってないのに、Railsの変わり具合は半端ない。
PHPの基礎学んでからにしろよってことが言いたいのね 同意だわ
っていうか、そんなヤツおらんやろ?
>`INTEGER PRIMARY KEY`, `AUTOINCREMENT`, `NOT NULL`, `varchar(255)`, `datetime` >どれもプログラマにとっては当たり前のキーワードだが、オートインクリメントって何?って人がほとんどなのではないだろうか? どんな連中が回りにいるんだよwww
いま妻に聞いたら知らないらしかった
嫁さんcakeやってんの?w てかcake触る人でもDB構築してるわけじゃん?autoincrement知らないわけないんじゃないのか
Postgresメインなんだろうきっと
フォームヘルパーにて入力された値をこねくり回してDBに入れてます そのため架空のフィールド名'tmp.hoge.huga'みたいなのでタグを生成してるのですが、編集の際にまたこねくり回してフォームに値を戻したいです その際にどこかに値をセットすれば値を戻してくれたりするのでしょうか? コントローラでthis->dataに辺りに値を戻せば戻してくれると思ったのですが、上書きすんなってdata上書きすんなって怒られました
モデルに設定すべきやろ
双方向の変換ロジックをモデルに実装したらいいだけじゃ?
なるほど、ありがとうございます 意図することはわかるのですが具体的にどんな感じで書けばいいのでしょうか??
>>880 $this->dataなんてない。$this->request->dataだろ。
cakeかmysqlかわからないのでこっちで質問させてもらいます ファイルのアップロードを行っていて mysqlのカラム名はfile_nameでtext型 not NULL で作っていて コントローラーでfileの名前を変えた後 $this->request->data['Model']['file_name'] = $imageName; $this->Model->save($this->request->data) で保存しています ほかのIDやbodyなどは正常に保存できていて file_nameだけphpmyadminで見ると全部NULLになります でもviewのほうで<?php echo $Item['Model']['file_name']; ?> とするとしっかり保存されている名前がでてきます ファイルもしっかり保存されています mysqlとの食い違いがよくわかりません 原因とかえすぱーできませんか(´;ω;`)ブワッ
よくわからんが、ひとついえることは、カラムはNOT NULLなんだろ? > file_nameだけphpmyadminで見ると全部NULLになります おかしくないか?
んーww
phpmyadminのバグなのかもしれないけど
カラム名も表示されないんだよね
なんか違反してるのかなぁ
>>886 ちゃんとnot NULLで作ってるけど
表示はNULLで中身はしっかり入ってる状態っていうのかなぁ・・・
値は取れるから・・・
プログラミング自体初心者だから積んでる(´;ω;`)ブワッ
解決しました バグでもなんでもなくてphpmyadminの仕様で表示が省略されるっていうのでした すいませんでした
>>883 class こねくるモデル extends AppModel {
public function こねくる(元のデータ) {
// こねくりまわす
return こねくり回されました!
}
public function もどす(こねくり回されました!){
// こねくりを元にもどす
return 元のデータ
}
}
場合によっては不可能だけど、事情が許せば
static にして、更に可能なら Utility とかのディレクトリに
別のクラスを作ってそこに実装する
そうするとテストや保守がしやすい。
ちょっと
>>880 の質問自体が何言ってるかわかりにくいんだけど
beforeSaveで加工して
afterFindで戻せばいいだけじゃないの
892 :
880 :2013/08/05(月) 02:37:17.75 ID:???
ありがとうございます! あとは、返却された値を$this->request->dataに入れればスムーズに行きそうな感じですね >884の通りrequestの方でした、this->dataもあって中身は同じでした ちなみにやりたかったのは複数レコードの挿入で、 A. x B. y C.1 d.1 2 3 E. 9 f. 4 5 6 と入力された時に [x y 1 - 1][x y 1 - 2][x y 1 - 3] [x y 9 - 4][x y 9 - 5][x y 9 - 6] みたいな6レコードを挿入するみたいな感じです
客観的に何も知らない第三者が読んだ時に理解できる文章になてるか読みなおして十分な説明をしろ
>>892 の最後の段落とかわけわからん
894 :
880 :2013/08/05(月) 02:44:25.69 ID:???
日本語もおかしかったですね、すみません!
>>892 >ちなみにやりたかったのは複数レコードの挿入で、
なんでそれを解決してから書くの?
なんで先に書かないの?
896 :
880 :2013/08/05(月) 10:16:48.25 ID:???
質問の仕方もおかしかったみたいですね、すみません! 仕切りなおしで意見を聞きたいんですけど、formヘルパーのinputメソッドを使う時、typeやoptionとかの指定ってviewに直接書いてますか?? 自分はmodelのメンバ変数にカラム名=type等を設定しておき、コントローラでそれを$this->set('options',$this->model->hoge)として 、viewで$this->Form->input('hoge',$options)としています どこかでまとめて設定しておければ後々便利だと思うのですが、みなさんはどうしているのでしょう? inputDefaultもありかと思うのですが、修正の際に該当箇所が複数あった場合、直すのがめんどいですよね
うっせーよ消えろ
バリューで自動判別させるhelper
899 :
880 :2013/08/05(月) 13:29:22.78 ID:???
>898 なるほど、helperを自分で作るか改造するかってことですね ありがとうございます >897 いろいろと参考になったので消えときます!
900 :
nobodyさん :2013/08/05(月) 15:34:05.47 ID:n+BD/Kj+
cakePHP2の最新版でのバリデーションの 不可解な動きに困っています。ユーザ認証用に作成した user モデルの 中に email 入力エリアがあり、次の様な画面フォーマットになっています。 バリデーションとして メールアドレスかIDを入力する為、メールアドレス形式では無い 値を@に入力される場合もあります。 その場合には、当然メールアドレス形式として打倒か否かのバリデーション を無効化したいのですが、コメントアウトしてもバリデーションがどうやら 掛かってしまっています。何が原因なのでしょうか? @ID(メールアドレス) ■■■■ Aパスワード ■■■ [ログイン] public $validate = Array( 'email' => Array( /* 'required' => Array( //'rule' => Array('notEmpty'), // 空でないか 'rule' => Array('date'), 'message' => 'メールアドレスを入力してくださいね!。' ) */ ),
え? 登録時じゃなくてログインのこと?
902 :
900 :2013/08/05(月) 16:13:50.17 ID:???
ログイン時の認証についてです。 emailのバリデーションをどうしても外す事が出来ません。
emailのバリデーション部分をコメントアウトしてみたのですが それでもやはりバリデーションが掛かっている様です。。。 public $validate = Array( /* 'email' => Array( 'required' => Array( //'rule' => Array('notEmpty'), // 空でないか 'rule' => Array('date'), 'message' => 'メールアドレスを入力してくださいね!。' ) ), */
$this->Form->input('email', Array('label' => false,'style' => 'width:150px;')); ・・・@ を実行すると type="email" の属性がなぜか自動で出力されている事が原因でした。 そこで@を実行した時に type="email" が自動で吐き出されない様にするにはどうすれば良いでしょうか?
>>904 サンクス
取り敢えず type="email" の属性をブラウザがどうやら自動で判定し
余計なバリデーションを行っていた様です。
※最近のブラウザは結構おせっかいな事をしてくれますね。
第二引数に "type" => "text" を入れて、型を明示したらいいんじゃね?
>>907 ありがとうございます。
そんな指定方法もあったのですね。
勉強になります。
ブラウザがバリデーションしてくれんの?エクスプローラ?
モダンブラウザならたいていそうなってるよ HTML5の仕様に含まれてる
ほうー試してみる
念のため書いておくけど、Cakeのほうでもバリデーションしておけよ。 ブラウザのバリデーションは利便性の為のもので、ちょっと手を入れればスルーできるからな。
規制解除テスト
916 :
nobodyさん :2013/08/06(火) 18:32:37.70 ID:g0SrcHvj
cake初めて少し経つんだけど 日記とかでもし同じadd.ctpに2つのpostボタンとかあったらどうやって処理わけるんですか? function add(){ ポストしたときの処理 } で書いてます
>で書いてます そうですか。続けてください。
最近
>>916 みたいなの増えてんのか?
素のスクリプトちゃんと書けるようになってから使え
飛び先を変えたいってことならJS 同じとこ飛ばして処理をわけるならフラグをhiddenで埋め込むとか
>>919 馬鹿は答えなくていいぞ
複数のボタンを設置してどちらを押されたかをコントローラーで判別するってことだろ
「で書いてます」辺り意味不明だけど
submitにnameで値もたせたらコントローラーから取れるから
debug($this->request)とかでどこに入ってるか確認してみろ
921 :
nobodyさん :2013/08/06(火) 20:20:33.00 ID:g0SrcHvj
飛び先を変えたいというよりか
同じfunction内でどうやって2つのPOSTを区別して処理するか
が質問です
>>920 のやり方でやってみます
だからそれ、CakePHP以前の問題だからw 素の書き方がわかってないのが丸わかり
923 :
nobodyさん :2013/08/06(火) 20:43:06.45 ID:kElqUIof
>>920 まじでか、知らんかった
あとで見てみよう
ちなみに飛び先(URL)変えるのはを変えるのはさすがにJSじゃないと無理だよね?
今更だけど、テンプレのリンクに変なの混ざってるな なんなんだアレは
CakeQs これか なんだこれ
926 :
nobodyさん :2013/08/08(木) 13:35:23.61 ID:9qCFded1
ログインなしでもありでも見れるトップページで ログインありだと表示したいボタンがありログインなしだと登録ボタンを見せたいんですけど ログインしてるかしてないかを判定したいんだけどどうすればいいんですか?
マニュアルのAuthの項目やApiでAuthと名のつくものの項目全部読んで
ボタンを両方表示して、ログイン済みの方のみ押してくださいの注意書きをする
echo '「ログインしていない人は手で覆って下さい」';
930 :
nobodyさん :2013/08/11(日) 22:54:15.36 ID:2Jj9WN6c
cakePHPでメールを送るプログラムを作っています。 そこで質問があります。 $message = "aaa"."\t"."bbb"; としてメールを送ったところ "aaa" と "bbb" はタブ文字で区切られていると思ったのですが 実際にメールを送信してみると、タブでは無くスペースになっていました。 なぜ、タブ文字を指定しているのにメールを送信すると スペースに置換されてしまっているのでしょうか?
質問が分かりにくい
932 :
nobodyさん :2013/08/11(日) 23:57:46.95 ID:2Jj9WN6c
つまりなんでタブ文字を含んだ変数を メールで送信すると タブがメール本文に含まれずスペースとして 送られるのでしょうか?
どこかで変わってるんだから、もう少し頑張って追跡してみようぜ。 ソースは全部手中にあるんだから。 デバッグというのは実に地道な作業なんだよ。
そんなことしないから知らないが、 エラー無くそうなったのなら、そういうものなんだろう。 終わり。
メーラーによってはタブが無視される対策なのか?知らんけど
コントローラのコンストラクタの中でコンポーネントの関数を呼ぶ方法はないでしょうか? ちなみに呼びたいコンポーネントの関数はスタティックメソッドなので、そのコンポーネントを初期化する必要はなく、ただ関数呼びたいだけ だけどApp::Usesとかrequire_onceとかやっても、何故か呼び出しできません どこかに例があったら教えてください 必要ならサンプルコードうpします(読んでくれる親切な人がいるなら)
たしか componentsにセットされていれば $this->ComponentName;ってやって初めて初期化し始めるはずだからコンストラクタ内で ↑これしたら使えない?
938 :
nobodyさん :2013/08/12(月) 18:09:21.95 ID:LSkO70Rp
中国人とは違って台湾人はいいね! 尖閣どこ吹く風、日本が依然として首位 台湾の「最も好きな国」 【台北=吉村剛史】台湾における「最も好きな国・地域」で「日本」が 43%の支持を集めてトップを維持し、2位の米国、中国、シンガポール (各7%)から依然突出していることが2012年度対日世論調査で分かった。 尖閣諸島(沖縄県石垣市)の領有権を主張する中国との関係が冷却化する中、 同じように領有権を唱える台湾での根強い日本人気を裏付けた。 調査は日本の対台湾窓口機関、交流協会台北事務所(大使館に相当)が 外部機関に委託し、台湾の20〜80歳の男女1千人余を対象に今年1月に 実施した。 尖閣周辺で台湾漁船の操業を認めた日台漁業取り決め調印(4月)前の調査 だが、日本は昨年度より2ポイントアップ、米中は1ポイント下げた。年代別 では20代の54%、30代の50%が日本を支持し、高齢者より若者の親日 感情の強さが際立った。 「行きたい海外旅行先」も日本が首位(38%)だった。
>>936 App::uses の設定が間違っている以外に考えられない
設置してる場所、ファイル名、クラス名とApp::uses()のパラメータを書いてみ
ちなみにオンザフライでインスタンス生成する場合は ComponentCollection::load() メソッド
940 :
nobodyさん :2013/08/14(水) 04:59:19.28 ID:JcfSCVXQ
祝日のPHPとかどんだけおたく?
ルートをwebroot内に置いたindex.htmlにしたいのですがどうしたらいいんでしょうか
え? ルートじゃなくて、デフォルトドキュメントのこと?
cssとかjavascriptのファイル名ってどうしてます? コントローラに合わせてcategories.cssにするか モデルに合わせてcategory.cssにするかで悩みます
悩みぬいて禿げろ
テスト時に実行したくない(本番用DBに繋がってないとエラーになる)コードがあるので、 if ( テスト実行中ではない ){ 該当コード } とやりたいんだけど、テスト中かどうかを知るにはどうすればいいのでしょうか Cake2です
cakephp debug で検索 これ以上聞くな
普通にソースの共通化をしろ、データはさておきローカルで同じDB作れ
悩みぬいて禿げろいいな。 俺も今度使うわw
>>949 無理じゃねーよ
ローカルで本番と同じ構造のDB用意するだけだろ
それできないなら、本番用になんか作るのやめろ危なくてしょうがねーよ
>>950 説明不足ごめん、他にも理由があるんでそれだけじゃ解決しないです
契約上本番鯖からしかアクセスできないAPIとか
SERVER_NAMEで切り分けろよ低能
>>951 ただ実行したくねーなら、フレームワーク以前の普通のphpでSERVER_NAMEでも見れば良いんじゃないですかね(鼻くそほじりながら
お前がテストしてないものを客にお出しするクズなのはわかった
cakephpはrailsより早いですか
datasource取得して中身見ればいいじゃん
> お前がテストしてないものを客にお出しするクズなのはわかった は?
このスレにはクズしかいませんよ、前から
別にそんな難しく考えずにConfigureで適当に設定して それを読み取ったら良いだけではないの?
configureの使い方分からないんじゃないのか?
>>951 その契約が無理だね。
規模にもよるけど、本番鯖、ステージング鯖、開発鯖は必要だろう。
ステージングを省略したとしても、本番と開発の2台は必要だと思うよ。
開発中はまだしも、本番稼動後に保守していくには、ね。
で、どんな契約でどんなAPIかしらんけど、
どうやって1台に限定してんの?
鯖のIPでも見てんの?
これ以上突っ込んでも誰も得しないよ そもそも質問自体スレチだし
質問自体→質問内容自体
レスくれた方あざっす もちろんPHPの環境変数やConfigureでどうにでもできることではありますが 何かCakeで用意されているものがあったら、それを使いたかったので聞いてみた なさそうなので自分でなんとかします 簡潔にするため質問の情報絞りすぎて、誤解も招いたみたいで申し訳ないっす >鯖のIPでも見てんの? です 以上、この件終わり
うっせえぼけ消えろしね
以上、この件終わり
967 :
nobodyさん :2013/09/04(水) 00:03:53.37 ID:x8ABZTtP
2.4の正式版がリリースされ、いよいよCake3のベータ版公開の噂も聞こえてきました。 Cake3では動作環境もPHP5.3から5.4へ見直される模様。 []を使った配列構文やトレイトなどのPHPの最新機能は勿論のこと、 待望のモデルデータのオブジェクト返しやメソッドチェーン、 さらにはクエリビルダの搭載など新機能が目白押し! そんな期待高まる今日このごろですが、未だにCake1.3系の保守を日々してるかわいそうな皆様(私も含む)に 温かい声援をお送りします
コンソールからの実行で、プラグインが読み込めないのかエラーが起こります。 ただ、コントローラーからの処理だと処理ができるんですが これはプラグインのエラーなのでしょうか?
エラーの原因を探りたいのにエラー文も貼らないあんぽんたん
以上、この件終わり
971 :
nobodyさん :2013/09/04(水) 12:48:23.92 ID:x8ABZTtP
来年はCake3か
来年までに1.3がなくなるといいね
PHPUnitで、Controllerの中でcodeCoverageIgnoreが使えない。 書いても無視されてる感じ。使えてる人いる?
使えないの? メソッドでの指定だよね? あとで試してみるわ
つーかCakeでテスト書くの大変だよな… いろいろエラーが出て、テストを動かすまでが一苦労 コントローラとか複雑なことやってるから致し方ないけども
>>967 マジで5.3捨てるのかよ
PHP4のサポートを売りにしていた時代があったのに信じられない
5.4なんて、たかだか1年半前くらいに出たばかりなのに。
5.3は、現時点で既にサポート終了してるからな
978 :
nobodyさん :2013/09/06(金) 19:38:47.77 ID:UjaqdCZf
CakePHPの質問はどこに書けばいいんだ… ここに書いても、ぐぐって出てきたフォーラムに書いても、StackOverflowに書いてもレスが付かない… そんなに誰も使ってないのか?
980 :
nobodyさん :2013/09/07(土) 09:53:08.18 ID:8LXJBZl/
>>979 何番の質問だよ?本当に良い質問してるか?
フォーラム見たけど、大体レスついてるじゃん
>ここに書いても、ぐぐって出てきたフォーラムに書いても、StackOverflowに書いてもレスが付かない… なぜ自分の質問に問題があると気づかない
StackOverflow のレスポンス率は激高だろ
あそこは付く時は5分でレスが付いてすげーと思うけど 1時間経っても付かなかったらもう一生付かない、流れが速すぎる
いますごいレスついてるじゃん、やったじゃん