【PHP】フレームワーク CakePHP 19ホール目【v3.3】 [無断転載禁止]©2ch.net
>>324
Oven使ってインストールするってのはどう?
cookbookにも掲載されている方法です >>327
telnetすら使えない場合解凍のスクリプトがいるけどな
そのライブラリもなければお手上げ .poファイルを作って、/app/Local/eng/LC_MESSAGES
に配置すれば多言語化(翻訳)が可能になります。
その理解が最低限あるとして相談です。
フォームヘルパーで選択肢を作るとき
$this->Form->input('hobby', array('options' => array('cooking', 'sports')));
な感じで書くと思います。
この選択肢(option)の部分をpoファイルに記述しても翻訳されません。
別に配列を用意して切り替えるしか無いのでしょうか? >>333
$this->Form->input('hobby', array('options' => array(__('cooking'), __('sports'))));
は試したか? >>334
返事が遅くなってすみません。
それは試したのですが、配列すべてに__()を付けるのもどうかと思いまして・・・。
そういう方法しかないと言うなら納得します。もし他に方法があれば教えてください。 >>336
foreachでムリクリ「__()」くっつける方法とか、
対訳テーブルをdb上に作っといて「__d('cooking','料理') , __d('sports','スポーツ')」って出力するとか
いまいちパッとしない
後者についてはdb使うから、foreachだけより遅くなるかも
とりあえず前者だけ書いとく
ふつうはTemplateに直書きせずに
Controller側
$ops=array();
$ops[]='cooking';
$ops[]='sports';
$this->set('ops',$ops);
Template側
echo $this->Form->input('hobby',$opt);
とかやるでしょ? そのときにこーゆー無茶をやる >>336
無茶の続き
Controller側
$ops=array();
$ops[]='cooking';
$ops[]='sports'; //ここまで上と同じ
$op1=array(); //新しい配列
foreach($ops as $key=>$op){ //$key に添え字、$opに内容が入る
$op1[$key]='__('.$op.')'; //文字列連結
}
$this->set('ops',$op1);
Template側(上と同じ)
echo $this->Form->input('hobby',$opt);
foreachは、配列が大きいと実行時負荷が半端じゃ無いけど、10ヶ前後ならナシでもないはず。 >>336
文字列連結はこうかもしれん
$op1[$key]='__('.'''..$op..'''.')';
シングルクオーテーションの扱いも面倒だな
もっとスマートなやり方が考案できたら良いんだが、俺にはこれが精一杯
あとはqiita辺りをROMるほうがが吉かと >>339
あああ、また間違えた、書くならこっちだ
$op1[$key]='__('.'''.$op.'''.')'; $keyじゃないな。たぶんこれでいけると思う
Controller側
$ops=array();
//ここからoption内容作成
$ops[]='cooking';
$ops[]='sports';
//ここまでoption内容作成
$op1=array(); //新しい配列
foreach($ops as $op){
$op1[$op]='__('.'''.$op.'''.')'; //文字列連結
}
$this->set('ops',$op1);
Template側
echo $this->Form->input('hobby',$opt);
$optの内容:['cooking'=>__('cooking'),'sports'=>__('sports')] やりすぎ防犯パトロール、特定人物を尾行監視 2009年3月19日19時7分配信 ツカサネット新聞
http://headlines.yahoo.co.jp/hl?a=20090319-00000026-tsuka-soci
この記事で問題になった通称やりすぎ防パトは、創価学会と警察署が引き起こしていたようです
掻い摘んで説明すると
・創価学会は、町内会や老人会、PTA、商店会等の住民組織に関し、学会員が役員になるよう積極的に働きかける運動を
90年代末から開始し、結果、多くの住民組織で役員が学会員という状況が生まれた
・防犯パトロールの担い手は地域の住民と住民組織で、防犯活動に関する会議や協議会には、住民組織の代表に役員が出席する為
防犯活動や防パトに、創価学会が間接的に影響力を行使可能となった
・防パトは住民が行う為、住民が不審者や要注意人物にでっち上げられるトラブルが起きていたが
創価学会はその緩さに目をつけ、住民組織を握っている状況を利用し、嫌がらせ対象者を不審者や要注意人物にでっち上げ
防パトに尾行や監視、付き纏いをさせるようになった
・防パトは地元警察署との緊密な連携により行われる為、創価学会は警察署幹部を懐柔して取り込んでしまい
不審者にでっち上げた住民への嫌がらせに署幹部を経由して警察署を加担させるようになった
・主に当該警察署勤務と考えられる創価学会員警察官を動かし、恐らく非番の日に、職権自体ないにもかかわらず
私服警官を偽装させて管轄内を歩いて回らせ、防犯協力をお願いしますと住民に協力を求めて回り
防犯とは名ばかりの、単なる嫌がらせを住民らに行わせた(防犯協力と称し依頼して回っていた警察官らの正体は恐らく所轄勤務の学会員警察官)
※これに加えて防犯要員が同様のお願いをして回る
・こうして防犯パトロールを悪用し、住民を欺いて嫌がらせをさせつつ、創価学会自体も会員らを動員し、組織的な嫌がらせを連動して行った
つまり警察署に勤務する学会員警察官、警察署幹部、創価学会が通称やりすぎ防犯パトロールの黒幕
詳細は下記スレをご覧下さい
やりすぎ防犯パトロールは創価学会と警察署の仕業だった
https://rio2016.5ch.net/test/read.cgi/bouhan/1516500769/ Cake2.10からPHPUnitの5が使えるようになったって話だけど
まともに動かないまま放置されてる
2系ももう終わりなんですかね >>344
バグフィックスしてくれるだけで十分だわ。当分使えるし ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ CakeFest 2018 のチケットが販売中ですよ
今年は6月14日から17日まで、米テネシー州ナッシュビルで開催されます
https://cakefest.org/ オフィスソフトしか使わない、webプログラミングの門外漢から質問です。お願いします。
CakePHP、あるいはLaravelという言語(この二つは厳密には言語ではなく、PHPという言語を
応用したプログラミングの仕組みをいうらしいですね)のいずれかについて、5から8人くらいの、
その能力を審査しなくてはいけなくなりました。
「本当に仕事としてそのプログラムを扱っていたことがあるかどうか、入門書読んで少し自分で
やってみたことがあるというレベルを超えているかどうか」
↑
こういう基準をちゃんとクリアしてるのかどうかを見極めたいです。
1週間3万円の作業料(時間をとっていただく分の報酬)で、何かの課題を出して提出してもらう
形にしたいのですが、何かいい、典型的なダミーシステムってないでしょうか?実際にネットにアップして
それを審査するのではなく、別の課の人のPCのxampp(社内のネット?)で実行してみて出来をみると
いう形式になります。
これまたど素人の上司は、「よくわからんから、ダミーショッピングサイトでいいんじゃね?」などと
言っていますが。。 ↑
わかりにくい質問ですみません。
CakePHPかLaravelについて「その人が中級者以上かどうか」を審査するのに、
ちょうどいい課題のアイデアを教えてください、ということです。
一週間以内、3万円でやってもらう程度の課題です。 >>349
今までに作ったものを見せろ、で良いと思う。
一週間三万円で頼んだところで、信じられるものが出てくるわけがない。 >>348
どんな要員が欲しいのか書いてないので解らんが、一週間なら
管理者権限、一般権限を分けたアンケートフォームあたりでお茶を濁すぐらい。それでもちょいと仕様説明は長くなる
以下、「ぼくがかんがえたいっしゅうかんでつくるぴいえっちぴい」の仕様
A 管理者権限と一般権限を分け、ログイン後は別の画面を表示する
B 管理権限ユーザー: アンケート内容を決めてDBに保存、 アンケート集計結果を閲覧
C 一般権限ユーザー:自分のユーザー名でログインしてアンケートに答え、結果をDBに保存
D アンケートは、テキストボックス1つ、チェックボックス1組、ラジオボタン1組、ドロップダウンリスト1個に納めるものとする
E 「アンケート内容」は「4月1日から14日」「4月15日から28日」等の期間をつけ、期間毎に別の質問が出来るものとする
====
1管理権限ユーザー
(1)ユーザー管理
管理権限ユーザーの追加、変更、削除
一般権限ユーザーの追加、変更、削除
(2)アンケート内容入力
アンケートのタイトル
アンケートの期間
テキストボックスで答えて欲しい質問
チェックボックスで答えて欲しい質問と選択肢
ラジオボタンでで答えて欲しい質問と選択肢
ドロップダウンリストで答えて欲しい質問と選択肢
(3)アンケート結果閲覧
各アンケートに答えた人数
各アンケートの集計結果(単純な表組ぐらい)
個々のアンケート内容閲覧(編集禁止)
2一般権限ユーザー
(1)ユーザー管理
自分のパスワード変更
(2)アンケート内容入力
閲覧日時に合ったアンケート質問画面が表示され、回答を入力 読んだら解るだろうけど、これで測れるのは、「作業者としての技量」
だけなので、DB設計センスやら仕様を読みとる能力やらは全く判明しない。
「本当に仕事としてそのプログラムを扱っていたことがあるか」
が知りたいなら、>>350 が有用
多分、一週間で能力を測れと「上の上の方の人」に言われたんだろうが、
測る側も 、フレームワークの違い、権限分離の方法の違い程度の知識と
Apache,nginx,postfixを入れた仮想マシンを提供する人の用意ぐらいは要るとおもうぞ もう一つ忘れてた
PHPのバージョン選びも注意な
PHP5.4は、CentOS7.xかRedHat7.xを使うなら、2024年あたりまでセキュリティーパッチは出る
PHP5.5とPHP5.6はお勧めしない
このあたりはQIITAの人がまとめてくれているので、この人に感謝しながら読むと良い
ttps://qiita.com/bezeklik/items/72d1ff8393f66673e2bc そこまでやるならFWのバージョンを指定しないと意味がない 外注業者を選定したくてやってるんなら
一週間3万円のフィルターでまともなところは全部落ちる >>357
成果無しでも1週間で3万円、何が寄って来るやら… >>354
そうなるわなw 無意識にPHP7.xとCakePHP3.5.xを想定してたわ
Larabelはチュートリアルビデオさえ見てない
Cake1.3をCake3.5へ移植中でお腹いっぱい
Larabelなら5.6とPHP7.xがよいのかな?
>>348 まだ見てるか? >>358 も俺だ(名前欄参照)
他でも情報集めてるんだろうが、上のほうの人に諦めていただくように
お願いするのが吉だと思うぞ?
FWが決まってない(&分かってない)のに人集め、とか冒険しすぎ >>348です。
みなさま、お騒がせして申し訳ありませんでした。
最初、>>351さんを見てすごくいいと喜びましたが、つづくレス>>352-353が
まったく何のことかわからず、>>350にするしかないと、今朝までにそう決意しました。
しかし、その後のレスを見ても、そもそも何をどう審査していいのかすらわからないのが
怖くなって、あれこれ悩みました。
結局、うちの上司に心を入れ替えてもらい、システム課長に対してこれまでの無礼を詫び
頭を下げてもらった結果、システム課のみなさんに審査全般おまかせできることになりました。
私は、355さんの受け売りで「そもそもFWのパージョンを指定しないと意味ないですよね」と言って
「お、きみ、詳しいんだね」とシステムの人に褒められたのだけがよかったです。
ありがとうございました。 >>360
おめでとう
これで「ちょっと判る奴」という烙印ゲットだw
そのような道標を置いた覚えは無いが、仲裁能力を磨いておくようにな cake2系で、error.logにfavicon関係のログが定期的に記録されるのですが、
これってfaviconを指定しないと消えないんですかね?
faviconが設置しなくてもエラーにならない方法があれば教えてください 作るのがめんどくさいなら、
ttp://antifavicon.com
とか使ってとりあえず置くでも良いと思うよ。 ログイン画面すら表示に1秒くらいかかる
客のコードのせいかと思ってたら、Cake本家のページもそんなもんだな 海外サーバってだけでも体感に影響するから、cakeが一概に遅いって訳じゃない debugがtrueになってるとかいうオチだけは勘弁 ん、おまえらの環境は早いの?
それとも1秒は耐えられる速度ってこと?
debugは例外出た時にしかtrueにしねえな >>372
普通に速いぞ。
作りが悪いんじゃないか? 改善の余地は十分にあるってことか、さんくす
Cake3.5.5/PHP7.0/apache2.4/mysql5.7
レスポンスは開発環境のWindowsも本番用のAzureLinuxも大差無し 1秒が耐えられないって普段どんだけ素早く動いて生活してるの >>375
mysql系統だと、1つのSQLにつき1つのIndexしか使えない
処理が遅い時は、indexが上手く機能してない場合がある
処理が遅い所でdebugkitからSQLを拾って、処理時間が長いものを探す
で、そのSQLに対応したindexを作ってみると改善する
俺の環境では、このパターンが多い
ま、サブクエリが発生してたらクエリビルダーを書き直すという泥縄だが
環境はこんな感じ
CentOS7.1,Apache2.4,PHP7.2,mariadb10.0(innodb)
開発環境:Windows7 + VirtualBox5.1.5
本番環境:Amazon EC2 >>376
開発中でログインユーザー1人だけなら、レスポンス1秒は長すぎる
その時点で、開発者が「1秒なら待てる」とか言い出したら問題有り
アクセス数の集中加減次第で、内部エラー(DBタイムアウト)になりかねん >>377
書き忘れた CakePHP3.5.12 4はいつ出てくるんだろう?
個人的には永久に出てきてほしくないけど。 ところでなぜ日本だけCake人気あるのでしょう?日本製でもないのに 日本人は英語のドキュメント読めないから、いつまでも古い技術にこだわるため >>383
作り替えを極端に嫌うから、必然的にサポートが長いのを好むんじゃないかな?
俺のなかではcakeから乗り換えるならdjango一択。 Cake3のValidationで質問です。
int型の項目にtextフォームからデータを登録したいのですが、「a」と入力した際に
「This field cannot be left empty」というメッセージが表示されます。
入力が無視されているようなのですが、この無視する挙動を無効にする方法はありますか?
下記のような実装なんですが、「a」と入力したら「Invalid Data'」と表示されることを期待してます。
CREATE TABLE `hoge` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`sort` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ;
public function validationDefault(Validator $validator)
{
$validator
->requirePresence('sort', false)
->notEmpty('sort')
->add('sort',[
'naturalNumber'=>[
'rule'=>['naturalNumber'],
'message'=>'Invalid Data',
]
]);
return $validator;
} >>385
第2引数「true」がぬけてるからでは?
->add('sort',[
'naturalNumber'=>[
'rule' => ['naturalNumber', true],
'message'=>'Invalid Data',
]
]
); >>384
日本社会は、前例主義だからなあ
実績のある〜〜というのが大好きだもんな >>386
引数trueつけても同様でした(省略の場合はfalseが初期値でした)。
コードを変えずに、DB定義でsortをint→varcharに変えると意図した動作になるんですよね。
validationの際にDB定義を見ているとしか思えない…。どうにかしてこの挙動を無効にしたい…。 >>388
今はlaravelじゃないかなあ
ただ日本では実際にどれくらい使われてるのかは分からないけど >>387
でも急にフレームワークが無くなるってことも実際に起きてるから慎重にはなる
Silexなんかは開発終了宣言しちゃってec-cubeどうなるんだって状態だし
昨日もSilex採用したら1年で終了というブログも見かけた 俺もそのブログ見てSilexなんて知ったんだが
知名度低いものは使っちゃだめなんだなやはり ec-cubeってsilexからsymfonyになったんだな
まあそうなるか え?Silex終了か。
以前はよく使ってたな。今はFlaskばっかりでやってるけど。
PHPの環境を手っ取り早く試すのにはいいし、わざわざSlimに移行するのもめんどくさいな。 cakeもsymfony使ってるし、laravelもそうであるように、symfony+αっていうフレームワークを選ぶのがPHPの流れだと思う。 解決しました。
どうしてもvalidationを無効にはできなかったので、結局schemaの設定で型をstringにして逃げました。 cake2ですが、redirectをカスタマイズする方法ってないですかね?
イメージとしては
$this->redirect(array('controller' => 'Posts', 'action' => 'index'));
function afterRedirect($param)
{
if ($param['action'] == 'index') {
} else {
}
return true;
}
みたいに、リダイレクトのパラメーターによって更に処理を変更したいです。 リダイレクトの役割を理解できてない。その処理はアプリケーションでやるべき。 日本ではなかなかCakeの需要なくならんね…
未だに新規案件の話来る CakePHP 3.6.0 リリース
https://bakery.cakephp.org/2018/04/14/cakephp_360_released.html
deprecation warningsを潰しておけば4.0.0へスムーズにアプデできます webアプリの勉強したくて、この半年、PHPやJavaScriptの入門書をいくつか読んで、いくつか自作したんだけど、
2ちゃんで、「生のPHP書く仕事なんかねえよ。フレームワーク使えるようにならなきゃ話にならん」と
言われたので、調べたら日本ではこのCakeが1位か2位人気のフレームワークだと分かり、
このスレを覗いたんですが、さっそく>>410-411を見て怖くなりました。
いま書店で積んである赤い入門書は、もう時代遅れなんでしょうか?
「いまどきのプログラマーはネットで最新情報を収集してるんだよ。本とか読んでる奴はクズ」という
書き込みも見た記憶があります。
みなさん、どんだけ頭いいんですか? >>412
もちろんFWもコードでできているということはわかっているよな? >>412
確かにほぼ全ての使い方は公式のマニュアルに書いてあるのでそれを見た方が良いです
マニュアルにも載ってない実務的な内容の本だったら買おうと思いますが
フレームワークはあくまでも基本を分かってる人が楽できるものなので、
自分でマニュアルを見て調べられるのはもちろん、いざとなったらフレームワーク自体のソースを読んで、
動作を把握できるくらいの実力がないと駄目です
もちろん最初のとっかかりとして入門書に頼るのはアリだと思いますが、
フレームワークは頻繁にバージョンアップされるので、結局頼りは自分だけです >>412
いくつか自作したなら、ある程度基本は押さえてるでしょ
とりあえず公式サイトのチュートリアルから試してみては?
今のバージョンはすぐに時代遅れになる、とか考えるより、
「FW習得の足掛かり」程度に思って、本も買わずに軽く使ってみると良いと思いますよ
CakeをAWSで使ってるうちに、気がついたらPythonとNode.jsを比べてたり
スマートスピーカーと連動でラズベリーパイを動かしてたりと、飽きることはありません
段階を踏みながら色々と手を出してみるのもまた一興ですよ すみません。
初心者ですが
min(最初のid)をsetして出力したら
こんなのが出てしまいました。
※見てもらえればわかりますが、パスワードとサイトurlは空白です。
名前が平仮名なのに変になっています。
<p>最初のidのデータ:<?php echo $min; ?></p>
↓
最初のidのデータ:{ "id": 1, "name": "\u304d\u3056\u3048\u3082\u3093", "password": "", "mail": "7776655@nifty.com", "siteurl": "" }
こちら平仮名のままの出力はどのようにやるのでしょうか?<(_ _)> $min['name'] でいけました!
配列の中身表示だと変化してしまうのでしょうか? >>416
横から申しわけないけど、あなたの言う、「段階」ってやつを具体的に示してもらえませんか?
公式のチュートリアルからスタートして、最後は「Cake使えます。即戦力になれる自信あります」と
転職活動で言えるのがゴールとしてはどうでしょう。
あなたのレールに従って、ぜんぶやってみたいです。 言語覚えてFW使ってコンテンツ作ってが十分な段階にあたると思うが… お世話になります。
find(all) と find() ってどう違うのでしょうか?
私はcodeigniterはできるのですが
result_array と row_array の違いと同じようなものでしょうか? <(_ _)> >>422
ここで聞いて回答待つより、自分で出力して比べた方が早いと思う
DebugKit入れれば実行されたSQLも見れるし >>419
「Cakeは入り口程度」と書いたつもりなのですが...
「就職活動でCakeアピールがゴール」だと、どんな「段階」を踏んで、
何が出来ればそのゴールに行けるのか、見当もつきません
チュートリアル以降の「段階の踏みかた」は毎週変わるでしょうし、
その時に持っている手練手管や知恵などでもかわるでしょう
私の場合は、
WinServer+SQLServer+VBScript→JavaServlet+PL-SQL+Oracle→Cakeチュートリアル→Cake1.2→Cake2.x→Cake3.x
というのが「段階」だったかなぁ、と感じる程度です
「少しづつ段階を踏んで」という範囲では無さそうですが、
「学習」をしていたなら、手練手管ではなく、豊富なトリビアを抱えていただろうな、と感じます
私はこのスレで>>210とか >>351でテキトーな感じで書き散らしてる人なので、データ設計・DB設計・画面遷移設計が出来るとラクになる、という「聞かされんでも解るわ」程度の事を書きに来るのが関の山です >>426
あなたはプログラムよりもコミュニケーションを学習した方が良いと思います。