トップページphp
981コメント269KB

【PHP】Yii Framework

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/12/10(金) 00:41:11ID:???
PHP5 用 Framework Yii (イー) Framework スレ

公式
http://www.yiiframework.com/

チュートリアル
ttp://www.yiiframework.com/doc/guide/

公式フォーラム
ttp://www.yiiframework.com/forum/index.php?/forum/21-japanese/
0758nobodyさん2012/02/26(日) 18:43:23.62ID:???
ファイル操作をするならこれを使う良い
http://www.yiiframework.com/extension/cfile/
0759nobodyさん2012/02/26(日) 19:17:25.20ID:???
>>758
早速試してみます! ありがとうございます。
0760nobodyさん2012/02/26(日) 19:23:27.33ID:???
相対パスで指定するなら、現在のカレントディレクトリがどこかを確認しれ。
URL上のパスではなく、OSの上でのパスな。
もしくは絶対パス使え。

ファイルの配置場所は、Web上からも見れていいものなら、Webルート配下でもなんでもOK。
見せたくないなら、それ以外の場所にするか、.htaccessなんかでそのディレクトリに制限かけとけ。
yiiならprotected/以下はアクセス制限かかるだろう。

一般的にどこにおくか、というよりは、そのファイルが何のファイルか、
どのような配置にあるのが意味が通じやすいか、とかそういうのを考えて配置すれば良いよ。
設定ならconfig/なりsettings/なりつくってその下にまとめたり、ログならlogs/にまとめる、とかそういう。
変数名どうするかとか、クラス名どうするかとか、パッケージどうわけるかとか、そういったのと同じ。

あと、パソコン初心者()じゃないんだから、「エラー」じゃなくて、そのエラーの内容からちった判断しれw
0761nobodyさん2012/02/26(日) 19:45:32.43ID:???
>>760
>現在のカレントディレクトリがどこかを確認しれ。

どうしてこれをやらなかったのかorz
file(getcwd().'/test/test.txt');
であっさり解決しました。人に聞く前に確認しろとorz
完全にあまえでした、すみません。

ファイルの配置のお話も勉強になりました。
見られておkなのでルート直下にディレクトリつくって放り込みました。

>そのエラーの内容からちった判断しれw
恥ずかしいですほんとにorz
「そんなファイルないよ」ってエラーでした。

あーだこーだやってたのが解決してとてもすっきりしました。
親切に教えていただいて、本当にありがとうございました。
0762nobodyさん2012/02/26(日) 21:35:39.39ID:???
yiiでお気に入りの機能とかありますか?
あと、これをこうしたら、すごく便利になったとか
0763nobodyさん2012/02/29(水) 11:54:14.13ID:???
Yiiは日本では流行らないよ
このスレの住民は初心者に対して高圧的な奴が多いから
0764nobodyさん2012/02/29(水) 14:41:37.99ID:???
高圧的だからとかそういう理由で選ぶもんじゃないけどなw
0765nobodyさん2012/02/29(水) 17:23:22.19ID:???
2chの人が優しければ流行るのか?
0766nobodyさん2012/02/29(水) 23:42:39.00ID:Ha59kcRM
>>763
個人的にはそういう奴を見つけたらソフトに排除するようにしてるんだけどね

そもそも2chの影響力なんてほとんどないっていう根本的なところに気付くべき
結局、日本語の情報が少ないのが原因でしょ
0767nobodyさん2012/02/29(水) 23:49:06.05ID:???
ほらな
初心者の質問がきても威嚇攻撃するから流行らない
結果、利用者がいなくて日本語の情報も少ない
0768nobodyさん2012/02/29(水) 23:52:23.66ID:???
流行ったら困るのか?
0769nobodyさん2012/03/01(木) 00:06:40.94ID:???
逆にCakePHPが流行ってるのってトレンド見る限り世界的に見ると日本だけだよね?
なんでだろう。
0770nobodyさん2012/03/01(木) 01:35:56.56ID:???
ガラパゴスらしいな
0771nobodyさん2012/03/01(木) 02:17:30.16ID:???
たしかにこのextentionは使っとけみたいな日本語のまとめは欲しいな
0772nobodyさん2012/03/01(木) 07:48:51.01ID:???
>>769
PHP4に縋りついてるゴミが多かったから
0773nobodyさん2012/03/03(土) 22:35:47.81ID:???
モデルのrules()に以下のように書いてもエラーメッセージが反映されないのはバグですか?
array('password', 'length', 'min'=>6, 'max'=>20, 'message'=>'6〜20文字で入力してください。'),

実際に表示されるエラーメッセージ
  パスワード が短過ぎます(最小 6 キャラクタ)。

ちなみに、unique、compareでは指定したメッセージが表示されました。
0774nobodyさん2012/03/03(土) 23:27:49.61ID:???
まずはPHPからだな。。
07757732012/03/03(土) 23:44:52.29ID:???
すみません自己解決しました。
http://www.yiiframework.com/forum/index.php/topic/21942-length-rule-message/page__p__107400__hl__me+age+length#entry107400
0776nobodyさん2012/03/04(日) 12:55:12.34ID:???
>>773
あーそれ俺もはじめはまったわ。
0777nobodyさん2012/03/05(月) 00:57:03.92ID:???
$message = '6〜20文字で入力してください。';
array('password', 'length', 'min'=>6, 'max'=>20, 'tooShort'=>$message , 'tooLong'=>$message , 'allowEmpt'=>false);
という感じかな?なるほど勉強になった。ありがとう。
0778nobodyさん2012/03/05(月) 00:57:45.13ID:???
allowEmptyな
0779nobodyさん2012/03/06(火) 12:18:46.28ID:???
>>777
ふとした時に、はたしてこういうのは開発効率がいいのかどうかといつも疑問に思ってしまう。
0780nobodyさん2012/03/06(火) 13:01:53.00ID:???
ifで書くよりは早いんじゃない?
0781nobodyさん2012/03/06(火) 16:43:43.22ID:???
確実にはやい。
特殊なバリデートの時は、独自で作ればいいだけだし。
0782nobodyさん2012/03/08(木) 14:36:30.75ID:???
Yiiとかつまんねーよ
0783nobodyさん2012/03/08(木) 14:48:17.09ID:???
PHPのフレームワークでは間違いなく一番出来がいい
PDO使ってるのが導入の障壁になってんの?
0784nobodyさん2012/03/08(木) 18:32:32.73ID:i+TebrmP
そうなの?
PDOが使えない環境って例えばどういうの?
0785nobodyさん2012/03/09(金) 12:55:26.85ID:???
PDO使えないサーバを探すほうが難しいが・・・
0786nobodyさん2012/03/09(金) 15:50:42.98ID:???
ぺ、ぺどだってーーーー!?
0787nobodyさん2012/03/09(金) 21:41:28.62ID:???
portsのphp5-extensionsで入れられねーだよ
@FreeBSD
0788nobodyさん2012/03/10(土) 10:23:30.51ID:???
ttp://povertyprogramming.co.cc
この嫌儲のサイトがYiiというものでつくられてるらしいんですけど
初心者でもできますか?strongタグで太字にしたりするのはできます。
0789nobodyさん2012/03/10(土) 10:48:11.83ID:0UAYpjt7
phpを勉強する必要がありますけど、Yii Frameworkは初心者の方でも問題ないと思います。

http://www.yiiframework.com/doc/guide/1.1/ja/index
ここにガイドがあります
0790nobodyさん2012/03/10(土) 10:51:45.67ID:???
>>789
ありがとうございます! 早速読んでみます
0791nobodyさん2012/03/10(土) 11:41:30.57ID:???
>>788
ステマ乙
0792nobodyさん2012/03/10(土) 11:44:36.32ID:???
自力でドキュメント見て解決できないと初心者は厳しいです
Yiiは基本的に鎖国社会なので質問しても教えてくれる人を探すのは厳しいでしょう。
このスレも初心者には厳しいです。
まずはCakePHPなど国内の利用ユーザー数が多いフレームワークから始めることが成功の近道です。
Yiiから入ると問題にぶち当っても人に聞いても解決できないのは人生の無駄遣いです
0793nobodyさん2012/03/10(土) 13:39:25.68ID:???
>>792
ステマ乙
0794nobodyさん2012/03/10(土) 14:03:30.99ID:???
ちょくちょく前から>>792は同じことばっか言ってるけど、よほど相手にされなくて悔しかったんだろうな
まともに質問してるやつで無視されてる奴なんてあんまり見たいけど
0795nobodyさん2012/03/10(土) 14:38:58.61ID:???
日本だけじゃ情報少なくて、全ての質問に答えれるほど習熟してる人なんて
今のところほぼ居ないに等しいような状況なのはわかってて、Yii触ったんだろうに

2chのスレが気に食わないから使わない、も個々の判断だけど
そんなくだらない理由で意固地になることはすごく勿体無い判断だと思うわw
0796nobodyさん2012/03/10(土) 15:16:38.79ID:???
>>794お前のような陰湿な奴がいなくなればいいのに
0797nobodyさん2012/03/10(土) 15:25:26.75ID:???
質問したら叩かれたかなんかしらんけど、それを理由にスレを貶めたい、みたいな
くだらない事に躍起になってる奴に、事実を突きつけて煽ったりして
程度の低い争いを繰り広げようとする人は、たしかに必要ないな。

相手は意固地になってるんだから、何を言っても突っかかってくるだろう。
相手をする事自体が間違い。>>792みたいなのはスルーするのが正解。
0798nobodyさん2012/03/10(土) 15:45:23.77ID:???
まあごく一部の人間が初心者をからかってるのは事実
0799nobodyさん2012/03/10(土) 16:00:19.34ID:???
2ちゃんなんてもともとそんなもんだろ
んな煽りでイライラしてるほうがおかしい
0800nobodyさん2012/03/10(土) 16:00:42.98ID:???
だなぁ。そんなことよりYiiの話しようぜ!
0801nobodyさん2012/03/10(土) 16:37:26.60ID:???
ログインしたユーザーのプロフィールページを表示するのに
以下のようにやってるんですけど、これでいいんでしょうか?
無駄とかあったら教えて欲しいです。

■UserController
public function actionIndex() {
  $model = new Post; // ←tweetするフォーム
  $user = User::model()->findByPk(Yii::app()->user->id);
  $this->render('index',array(
    'model'=>$model,
    'user'=>$user,
  ));
}

■views/user/index.php
<div><?php echo $user->username; ?></div>
<div><?php echo $user->profile; ?></div>
<!-- あとはpostフォームとかいろいろ -->
0802nobodyさん2012/03/10(土) 18:01:31.53ID:???
Yiiの話が来た途端だんまり
0803nobodyさん2012/03/10(土) 18:17:30.79ID:???
>>802
しね
08048012012/03/10(土) 18:18:55.57ID:MBX05hQs
すみません念のためID出しておきます。
よろしくお願いします。
0805nobodyさん2012/03/10(土) 18:38:26.51ID:???
>>794が答えてくれるはずだから待ちましょう!
0806nobodyさん2012/03/10(土) 18:49:05.69ID:???
>>801
無駄な所は特に感じないです。
想定通り動いてるなら問題ないのでは?
0807nobodyさん2012/03/10(土) 18:51:47.82ID:0UAYpjt7
特に無駄とかはないように見えますけど
08088012012/03/10(土) 19:09:18.46ID:MBX05hQs
ありがとうございます。
これでいいのかなぁと漠然とした不安があったので助かりました。
0809nobodyさん2012/03/12(月) 15:21:13.03ID:???
Yii勉強したいんだけど、他のFWと比べて何でこんなにHowToブログ記事少ないんだ?
0810nobodyさん2012/03/12(月) 15:29:30.95ID:???
・日本人に情弱=簡単な英語すら理解できない人たちが多いから
0811nobodyさん2012/03/12(月) 15:51:07.03ID:???
アウトプットしようと考えているヘビーユーザーがいないだけ
0812nobodyさん2012/03/12(月) 17:00:35.79ID:Qdae9kKU
日本人のほとんどはYii学べるくらいの英語力は持ってると思うけどな
ただ、英語アレルギーは結構あるよね
やっぱカリスマが牽引しないとコミュニティは成長しないんでしょ
0813nobodyさん2012/03/13(火) 16:51:05.10ID:???
>>812
普通の日本人は、英語ってだけで見ようともしないよ。
英語力がどのくらいないのかは分からないけど、まああまりないと思うよ。
別に日本国内で英語いらないし。
0814nobodyさん2012/03/13(火) 18:49:20.87ID:???
requirements見ると色々必要っぽいですが、
さくらのレンタルサーバーでも使えますか?

さくらで使えたら即移行するんですが・・・
0815nobodyさん2012/03/13(火) 18:56:09.19ID:OgH0Qw3S
>>121-124
APC使えない説があるぞ
0816nobodyさん2012/03/14(水) 11:18:23.67ID:???
>>814
さくらの1500円のレン鯖で使ったが普通に動いた。
apc利かないから大規模なやつは無理っぽい
08178142012/03/14(水) 13:54:04.14ID:???
おおっ!
最初は共用で、
規模が大きくなってきたらVPSやらに移ってAPC使えばおkですね。

てか、Yii楽しすw
0818nobodyさん2012/03/14(水) 20:25:32.84ID:zqK1VJfD
apc使えなくてもCFileCacheとか使えば
何も使わないよりはいいと思うよ
0819nobodyさん2012/03/14(水) 21:04:22.40ID:832chJcq
え、Yiiの実行がAPCで早くなるのはコードキャッシュの話だろ?
0820nobodyさん2012/03/15(木) 07:02:06.97ID:E3IxfR1a
群馬県高崎市に住む41歳AB型、製造業界で派遣プログラマーの仕事をしているhekenekoこと、黒飛健と申します。
新日本テクトスという会社を追われ、その後どうしてよいかわからなくなりました。
だけど私の大好きな尾崎豊の歌に励まされ、夢であるプロのクリエイターを目指すことにしました。
何度も挫けそうになりましたが、尾崎豊の歌を聞きながら自分を励ましています。
今も尾崎豊の歌のおかげで、夢を諦めずにCGアニメの製作を続けられています。
とりあえず、以下の動画を見てください。一生懸命作ったもので、自分では既にプロレベルの傑作だと思ってます。
できればみなさんのご意見、ご感想を聞きたいです。
新しいラダニアムの翼(new wing of radaniam part T) .mp4
http://www.youtube.com/watch?v=PRPJ69rVgbE

題名”ラダニアムの翼その1(A wing of radaniam_partT).mp4”
http://www.youtube.com/watch?v=WTde4RdA5LU
私の世界観の全てを凝縮した力作です。hekenekoワールドをご堪能あれ。
0821nobodyさん2012/03/15(木) 12:59:31.83ID:???
Yiiって、oauth2のモジュールなくね?皆どうしてんの?
0822nobodyさん2012/03/15(木) 19:23:03.36ID:???
デフォルトではHAS_MANYやMANY_MANYを一度にsaveしてくれる機能はないの?

調べたんだけど、いまいち分からなかった;
サンプルコードも、バリデーションやトランザクションを考慮してなかったり・・・
0823nobodyさん2012/03/15(木) 20:37:46.80ID:???
自分でoauthモジュール作った
0824nobodyさん2012/03/15(木) 20:49:50.87ID:A3CMDLk6
extension使うしかないんじゃないかなあ
0825nobodyさん2012/03/15(木) 21:48:06.21ID:???
>>822
HAS_MANYで親でsaveしたら子もsaveされるような機能は今のところない。

バリデーションやトランザクションについては、オフィシャルガイドに丁寧にかいてある。
0826nobodyさん2012/03/15(木) 22:00:11.15ID:A3CMDLk6
>>580とかどうであろうか?
0827nobodyさん2012/03/15(木) 22:04:43.66ID:???
複数データの同時insertもARでは出来ないね。
ちょこっとならループ回したほうがシンプルなのかもしれないけど。
0828nobodyさん2012/03/16(金) 04:56:40.83ID:???
ここらへんはわざと実装しないで、
緩くしてあるんだろうか・・・
0829nobodyさん2012/03/16(金) 07:06:54.44ID:???
意外に痒い所に手が届かないよね。Yii。
0830nobodyさん2012/03/16(金) 14:32:14.60ID:6mu8dRw7
extensionがあるべ
0831nobodyさん2012/03/16(金) 14:50:26.02ID:???
relationSaveはあるけどsaveAllは見つからんな
0832nobodyさん2012/03/16(金) 22:25:22.90ID:???
>>829
そう?cakeのほうがいいとこある?
0833nobodyさん2012/03/16(金) 22:55:17.05ID:6mu8dRw7
RoRとの比較のほうが興味ある
0834nobodyさん2012/03/17(土) 14:56:22.63ID:???
少人数で作るならCIとかFuelのほうが確実に開発が楽。
0835nobodyさん2012/03/17(土) 14:57:04.46ID:???
Silexでいいわ。
0836nobodyさん2012/03/18(日) 03:19:48.10ID:???
うん。開発が楽と思ったものでそれぞれやれば良い。
0837nobodyさん2012/03/18(日) 11:22:39.37ID:???
そうだね
0838nobodyさん2012/03/19(月) 14:11:56.77ID:???
おれはCIはしんどかったなー
自分で書く部分が多かった
0839nobodyさん2012/03/20(火) 14:59:22.46ID:???
ページングで、

?Post_page=2
みたいなのを
?page=2
にする方法ってないですかね?
08408392012/03/20(火) 15:19:31.75ID:???
pageVarで設定出来ました;
スレ汚しスミマセン・・・
0841nobodyさん2012/03/20(火) 15:25:19.25ID:???
>>840
きにすんな
0842nobodyさん2012/03/21(水) 05:42:19.48ID:???
ログインの仕組みが複雑というか、分かりづらいな
authenticateとloginが分かれてて
UserIdentityとかもあって
何が何かパッと理解できん。。。
0843nobodyさん2012/03/21(水) 06:18:13.36ID:???
>>842
最初はとっつきにくいけど、
わかると、自由に実装できてイイ!よ。

てか、yii-userのソース見てたんだが、
saltもなしにただハッシュしてるだけじゃん・・・
0844nobodyさん2012/03/21(水) 14:23:37.03ID:???
そうそう、ハッシュひどいよね
絶対自前実装が必要
ここで実装方法を共有してもいいかもね
0845nobodyさん2012/03/21(水) 15:19:01.53ID:???
http://www.yiiframework.com/doc/guide/1.1/ja/topics.auth

デフォルトでは CWebUser はユーザの個人情報を保存するのに、
持続的ストレージとしてセッションを使います。
クッキーベースのログインが有効(CWebUser: :allowAutoLoginがtrue)になっていると、
ユーザの個人情報がクッキーにも保存される可能性があります。
パスワードのような取り扱いに注意を要する個人情報を保存しないよう気をつけてください。

これの意味がよくわからないんだけど・・・
なんでこんな仕様になってるの?
0846nobodyさん2012/03/21(水) 20:31:26.55ID:???
ほんとだ。なんでsaltの設定無いんだろ?
0847nobodyさん2012/03/21(水) 20:56:37.85ID:???
>>845
クッキーやセッションにユーザーの個人情報を保存しないって当たり前のことだろ?
0848nobodyさん2012/03/22(木) 01:55:04.42ID:???
フォームからユーザ名・パスワードを入力させてログインさせる方法は
最初からあるLoginForm.phpでできるけど、
他コントローラからユーザ名とパスワードを渡してログインさせる方法はどうやったらいいのか分かる人いる?
0849nobodyさん2012/03/22(木) 23:05:16.16ID:???
http://d.hatena.ne.jp/te2u/20110822/p1
これってそもそもフォームで入力しないものをrequireしてる時点で間違っているよね?
0850nobodyさん2012/03/22(木) 23:55:16.50ID:???
>>848
LoginFormはモデルだからどのコントローラからでも使えるよ

$model=new LoginForm;
$model->username = 'user';
$model->password = 'password';
if($model->validate())
$model->login();

ログイン処理したいコントローラで、こんな感じにモデルに情報を設定して、ログインできまっせ
答えになってるかな
0851nobodyさん2012/03/22(木) 23:57:58.30ID:???
>>849
いいえ、beforeSave()で設定する前提というのも別に問題ないと思うよ
0852nobodyさん2012/03/23(金) 03:33:31.73ID:???
>>850
なるほど。
でもこの使い方、LoginFormって名前でいいのかこれw
0853nobodyさん2012/03/24(土) 09:23:14.59ID:???
>>850じゃないけど
$model->username = 'user';
$model->password = 'password';
の部分はあくまで例でしょ。
0854nobodyさん2012/03/24(土) 10:04:41.96ID:???
>>853
いや、「フォーム」からは受け取ってないなぁと思って
0855nobodyさん2012/03/24(土) 11:07:54.88ID:???
だから
$model->username = $_POST['LoginForm']['username'];
$model->password = $_POST['LoginForm']['password'];
こういうことでしょ? パスワードの部分はソルト付きのハッシュとかだろうけど
0856nobodyさん2012/03/24(土) 14:13:43.60ID:???
?
0857nobodyさん2012/03/24(土) 15:42:17.94ID:???
まずはガイド読もうか・・・
0858nobodyさん2012/03/24(土) 23:35:11.64ID:???
>>851
いや、モデルのrules()にフォーム入力しないものを入れちゃいかんだろ
自動生成でこうなったのか知らないけど、外せばいいだけ
afterConstruct()とか馬鹿げている。しかもtimestampビヘイビア使ってるのに$this->create_time = time();とか意味不明
■ このスレッドは過去ログ倉庫に格納されています