5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  
レス数が900を超えています。1000を超えると表示できなくなるよ。

[PHPフレームワーク]Laravel

1 :nobodyさん:2013/01/15(火) 11:01:50.34 ID:???
Laravelはシンプルでプログラミングが楽しくなるPHPフレームワークです。

■公式サイト
http://laravel.com/

■ライセンス
MIT License

■公式ドキュメント
http://laravel.com/docs

■ドキュメントの和訳
http://laravel.kore1server.com/

■動作確認したPHPのバージョン
5.3, 5.4

2 :nobodyさん:2013/01/15(火) 11:04:07.45 ID:???
将来symfonyに移行するならLaravelが最適です

3 :nobodyさん:2013/01/15(火) 13:21:46.58 ID:???
なぜ?

4 :nobodyさん:2013/01/15(火) 16:05:07.24 ID:???
Laravelはsymfonyのライブラリも組み込まれてるし概念もsymfonyに似ている部分があるから

5 :nobodyさん:2013/01/15(火) 23:42:03.87 ID:???
1と2とどっち?

6 :nobodyさん:2013/01/16(水) 10:31:09.64 ID:???
お前は何を言っておるのだ

7 :nobodyさん:2013/01/16(水) 10:56:09.83 ID:???
Q. 1と2とどっち?
A. まずは使ってみろ

8 :nobodyさん:2013/01/16(水) 11:31:35.64 ID:???
ダメな奴は何を使ってもダメ

9 :nobodyさん:2013/01/16(水) 17:28:30.16 ID:???
symfonyの1と2とどっちに似てるのか聞いとるのだ。
それぐらいちょっとは考えろ。

10 :nobodyさん:2013/01/16(水) 17:28:46.96 ID:???
>>8
自己紹介乙

11 :nobodyさん:2013/01/16(水) 17:36:40.15 ID:???
勉強しろよとしか言いようがない質問するな!

12 :nobodyさん:2013/01/16(水) 18:23:40.29 ID:???
Laravel使える奴は日本で少ないから過疎

13 :nobodyさん:2013/01/16(水) 23:40:45.77 ID:???
去年は FuelPHP が「いま一番活発なフレームワークです(キリッ」
また来年は新しいのが出てくるのかなw

14 :nobodyさん:2013/02/01(金) 00:21:23.40 ID:???
使ってる人いないの?
俺は好きなんだけどな。

15 :nobodyさん:2013/02/01(金) 13:58:22.30 ID:???
まずどこが好きか言いなさい

16 :nobodyさん:2013/02/10(日) 12:01:50.94 ID:???
バリバリ開発者じゃないから他とのちゃんとした比較はできないけど、
使ってみて良かったところ
・デフォルトテンプレートが綺麗。「開発環境」色がない。
 最初に画面見た時にヤル気出た。
・routes.phpの多機能っぷりのお陰で自由度が高い。
 「規約より設定」が好きな人向け?
・マイグレーションが楽(FuelPHP比較)
・バンドルが結構豊富、インストールも簡単。
・アメリカ、イギリスでの支持が大きい。
 googleトレンドで見ると先進国ではFuel、Kohanaあたりは完全に食っていてYiiも食いそう。

残念だったところ
・日本語ドキュメントが少ない、英語のマニュアルもボリューム足りない。
・Laravel4で大幅に仕様が変わるらしくさらにドキュメント不足に。

趣味のwebアプリで使う分には不自由してないし、ドキュメントの少なさも調べる楽しさがあって個人的には気に入ってるよ。

17 :nobodyさん:2013/02/11(月) 10:13:35.99 ID:???
DBとかフォームはどんな風に書くの?

18 :nobodyさん:2013/02/11(月) 22:52:48.85 ID:???
>>17
EloquentっていうORMクラスを使うのが一般的みたい。
usersテーブルだったら、modelディレクトリにUserっていう継承クラスを作っておくだけで入出力ができる(もちろんテーブル名は設定可能)
あとはコントローラで
$users = User::where_in('id', array(1, 2, 3))->get();
とか書けば配列が帰ってくる。
この辺は本当に直感的でお手軽だと思う。

ユーザ管理なら有志のバンドルの「Sentry」っていうのを試してみたら多機能だしマニュアルが超親切で良かった。
デフォルトのAuthはちょっと非力かもしれない、ユーザごとのパーミッションとかないし。
足りない機能は自前かバンドルで補ってねっていうスタンスらしく、laravel4ではHtml、Formクラスすら拡張対応になるそうだ。

19 :nobodyさん:2013/02/11(月) 23:04:22.32 ID:???
書き忘れた、フォームはViewに
Form::open();
とかで作って、コントローラでは
$id= Session::get('id');
という具合にセッションから受け取る感じ。
上に書いたようにLaravel4ではFormが標準から外れるから書き方が変わるみたいだけど。

20 :nobodyさん:2013/02/12(火) 01:45:54.37 ID:???
日本語のブログ書けば?

21 :nobodyさん:2013/02/14(木) 01:08:05.06 ID:???
書く気はあるけど三日坊主だから続ける自信はない
今後web上で見かけたらよろしくね

22 :nobodyさん:2013/02/14(木) 10:51:19.29 ID:???
まずは最初の導入からよろ

23 :nobodyさん:2013/02/23(土) 16:38:04.77 ID:???
最初の導入も分からない奴はcakephpでも使ってろよ

24 :nobodyさん:2013/02/24(日) 03:24:09.62 ID:???
そもそも興味がねーし

25 :nobodyさん:2013/03/14(木) 23:50:26.54 ID:???
>>19
FromはInput::get('id')だろ。
で、バリデーションは
$rules = array('id' => 'required|integer|exists:user');
$validator = Validator::make(Input::only(array_keys($rules), $rules));
if ($validator->fail()) {

}

こんな感じ。正直もうちょっと待ってLaravel4から始める方が良い気がする。
ちなみにComposerもライブラリとしては勿論使える。これは3でも4でもだが。

26 :nobodyさん:2013/03/23(土) 21:09:34.19 ID:???
Laravel4はいつ頃リリース予定?

27 :nobodyさん:2013/03/27(水) 20:36:02.45 ID:r73Jwrfn
いままでフレームワーク使ったことなかった頃に、
Fluentクエリービルダーみて感動したのは俺だけなんだろうか。

28 :nobodyさん:2013/04/06(土) 01:01:48.39 ID:???
Laravel 4 throws NotFoundHttpException (htaccess, virtualhost)
http://forums.laravel.io/viewtopic.php?id=6671
http://stackoverflow.com/questions/15836443/laravel-how-to-route-to-public-file
http://net.tutsplus.com/tutorials/php/building-web-applications-from-scratch-with-laravel/

$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing meido/html (v1.1.2)
Downloading: connection...
Could not fetch http://nodeload.github.com/meido/html/zip/v1.1.2, enter your Git
Hub credentials to access private repos

https://github.com/settings/applications/new
https://github.com/patricktalmadge/bootstrapper/blob/master/composer.json

うーんまだ3使ってるひと多そうなのと composer まだ時期尚早なん
じゃないかとかその辺でごちゃごちゃしそうな予感がする…

29 :nobodyさん:2013/04/10(水) 16:36:43.66 ID:???
http://stackoverflow.com/questions/14192750/getting-class-html-not-found-error-in-laravel-4
http://stackoverflow.com/questions/12448912/apache-mod-rewrite-for-laravel

30 :nobodyさん:2013/04/27(土) 11:18:54.28 ID:???
なんだかイベントとかで活気付いてきたね

31 :nobodyさん:2013/05/17(金) 11:23:02.30 ID:???
https://github.com/languages/PHP/most_watched
http://www.goldinteractive.ch/intro

今月の下旬にlaravel4リリースとかそんなかんじだけど
まだ先は長そうな印象だった

でもwatch数はすごいな。

32 :nobodyさん:2013/05/27(月) 01:37:19.39 ID:???
勉強会まとめ
http://togetter.com/li/508012

33 :nobodyさん:2013/05/27(月) 09:23:58.04 ID:???
なんかすごい良さそうだね

34 :nobodyさん:2013/07/23(火) NY:AN:NY.AN ID:???
これを実際の案件に使うのは
まだ時期尚早なん?

35 :nobodyさん:2013/08/05(月) NY:AN:NY.AN ID:???
てかPHPなんだし、問題が起きたら自分で直せばいいよ。
PNE案件とか大概そうだし。

36 :nobodyさん:2013/08/29(木) NY:AN:NY.AN ID:???
laravelの日本語マニュアルの人と
和訳をdisった人って
まだ決着ついてないのね
和訳サイトにわざわざdisられましたとか載せてて意味あるのかな
向こうもtwitterとか連絡できる手段があるんだから直接ぶつければいいのに

37 :nobodyさん:2013/09/01(日) 16:52:03.16 ID:tsHzUIB2
最近のフレームワークの中では日本語ドキュメントが整備されてて
ちょっと感動したんだが何か問題があるのか

38 :nobodyさん:2013/09/02(月) 17:19:53.84 ID:???
日本語ドキュメントを参照しないと言語使えないという時点でプログラマ失格。

39 :nobodyさん:2013/09/02(月) 20:20:43.08 ID:???
すまんが俺プログラマじゃ無いんだわ

40 :nobodyさん:2013/09/03(火) 09:23:00.33 ID:???
>>37
ttp://kore1server.com/149

41 :nobodyさん:2013/09/03(火) 09:38:08.69 ID:???
勉強会で問題のシーン
https://www.youtube.com/watch?v=SjGtzBHEvlE#6m22s

42 :nobodyさん:2013/09/03(火) 11:07:30.02 ID:???
この問題を2人で話し合って次の勉強会までには和解してもらいたいね
二人ともいい年した大人なんだからさ自分の意見を直接相手にぶつけることもできるでしょう
ずるずる関係悪いままで相手が折れるのを待ってるような情けない女々しい考えは捨てるべきだ
このまま引きずって双方が勉強会に参加されても場の空気が冷める場面に直面する可能性もある
前回の勉強会は実際に仲裁できるような人なんて1人もいなかった。俺もだけど
2人のために無駄に気を使わされるのも迷惑だし
解決できないならどちらとも勉強会には参加してもらいたくないのが次回も参加する俺の意見
オープンな勉強会に「(自分より知識ある|知り合いだ)から注意しにくい」とか関係ないから

43 :nobodyさん:2013/09/04(水) 12:17:06.89 ID:???
KとNで呼ばせてもらうけど
Kのサイトだけを読むと 一方的にNが悪いように見受けられるが
Nがdisる前に KがNをdisったから NがあそこでKをdisったって見方もできる
動画を見ても、Nの「アイツをdisってやった」オーラがハンパないもんね
KがNを怒らせたり嫉妬させるような出来事があったのかもしれない
Nが発表する前までに何か二人の関係にギクシャクする事があったんだろうと思う

44 :nobodyさん:2013/09/04(水) 12:18:35.88 ID:???
そんでKがサイトで一方的に文句たれていては火に油を祖即だけで何の解決にもならないと思うんだがなあ
何で二人で話し合えないのかね

45 :nobodyさん:2013/10/29(火) 09:15:41.62 ID:???
まぁ俺もそうだが、そういう人種だから仕方ねぇよな。
現場に入ると、初手から一方的にマチガイ対応するやつもいるし。

46 :nobodyさん:2013/10/29(火) 09:16:12.60 ID:???
×マチガイ
○キチガイ

47 :nobodyさん:2013/11/17(日) 14:32:53.55 ID:???
>>41
どのへんが問題なの?
何分辺り?

48 :nobodyさん:2013/12/06(金) 10:42:03.44 ID:???
このフレームワークってCakePHPみたいにCSSビルトインされていないの?
皆どうしてるの?一から書いている?

49 :nobodyさん:2013/12/19(木) 21:55:15.69 ID:???
Twitter Bootstrap とか Foundation5 とか使うといいよ

50 :nobodyさん:2013/12/22(日) 21:23:45.96 ID:???
バリデーションをなぜモデルでなくコントローラーでやるのか
その辺の思想?みたいなものがわかるページない?

51 :nobodyさん:2013/12/26(木) 00:59:59.04 ID:???
なぜモデルでやるのかそっちの方がわからん

52 :nobodyさん:2013/12/26(木) 03:05:10.46 ID:???
このモデルはこういうデータしか受け付けませんよエラー返しますよ
ってのがおかしいの?なにがわからん?

53 :nobodyさん:2013/12/26(木) 19:21:12.45 ID:???
>>49
ありがとう!

54 :nobodyさん:2013/12/26(木) 19:24:59.42 ID:???
>>50
Cakeから来た俺もそれ思った。「コントローラでヴァリデするんかー、へー」くらい。
何故かは深く考えたことない。

55 :nobodyさん:2013/12/26(木) 23:35:57.39 ID:???
codeigniterやそこから派生したFuelやkohanaなんかもvalidationは専用のクラスを使ってコントローラーでするってかんじなのな
なんでこんなことになってるか考えたら多分MVCしないで横着にコントローラだけですますとかrouterだけで済ますとかの軽量アプリを全然OKっていうところから来てるんだと思った
railsでコンソールからModel.create({name:'hoge', age:30})とかやった場合にバリデーション吐き出すのは素晴らしくスマートだと思ってたし
そうじゃないとおかしいだろとまで思ってたけどそもそも思想が違うんだろうな
Ardentとかいうの入れればモデルでバリデーションできるらしいけどもういいや
まずMVC語るのやめれ

56 :nobodyさん:2013/12/27(金) 02:25:38.08 ID:???
バリデーションはコントローラーが適切でしょ
モデルはないわ
ケークはダメフレームワークだから参考にしちゃだめだよ〜

57 :nobodyさん:2013/12/30(月) 15:23:03.26 ID:???
LaravelはComposerでパッケージをダウンロードして使うとサイズが大きくなっちゃうからいらねえよ
なんでWebフレームワークで15MB前後の要領食わなきゃいけないんだ
なめすぎ

58 :nobodyさん:2014/01/02(木) 00:44:11.02 ID:???
他もコアは同じような容量あるっしょ

59 :nobodyさん:2014/02/13(木) 16:08:07.15 ID:???
LaravelでFuel並みにモジュールが扱いやすくなるプラグイン無いんかな
VやらCやらがゴチャゴチャしてきて機能別に分類したいんだけどlaravel-modulesもなんか面倒くさい
設置してさっと使えるようにして欲しいわ

60 :nobodyさん:2014/02/17(月) 03:45:11.10 ID:???
モデルってDBのデータを入れた入れ物だけじゃないよ

61 :nobodyさん:2014/02/18(火) 14:45:19.61 ID:???
勘違いしてんだろ
モデルは手続きも含むものだ
そのメソッド独特の入力制限でもしたいんだろうが、
例えば同じテーブルの同じフィールドに別のバリデーションを設ける場合がそうあるのかって話だ
権限の違いなんかで制限が変わってくる場合はその権限用のバリデ付きモデル作れた方が後で見通しがしやすい
>>55が言ってる「横着」ってのはそれを面倒臭がってコントローラで済ますんじゃねぇってことでしょ

62 :nobodyさん:2014/02/20(木) 13:16:42.50 ID:???
俺もFuelphpじゃモデルでバリデーションやってるで

63 :nobodyさん:2014/02/21(金) 01:50:12.79 ID:???
DBのモデルのフィールドとユーザー入力が一致しないこともあるからな

64 :nobodyさん:2014/02/22(土) 20:41:17.48 ID:???
ところでLaravelて本当に活発なの?
日本で使ってる人が少ないだけ?

65 :nobodyさん:2014/02/26(水) 16:18:34.86 ID:99VMDxnD
基本的なことだったら申し訳ないですが質問。

検索条件をPOSTしてその結果を、条件入力した同じページの下部に表示させるお馴染みの処理なんですが、
Routes.phpのPOSTのところで、Redirect::toでGETへ戻すのがいいのか、 View::make('GETと同じヴュー') で
ヴューを作っちゃうのか、どっちがベストプラクティスなんですかね?

66 :nobodyさん:2014/02/27(木) 19:44:22.56 ID:???
return View::make(どこどこ)->with(変数名、変数) ← そのままechoできる
return Redirect::to(どこどこ)->with(変数名、 変数); ← セッションに突っ込む

この違いがどうにもはまるポイントなんだが。なんで同じwithで動きがちがうんですかね。

67 :nobodyさん:2014/02/28(金) 22:19:35.96 ID:FMgjLjQ5
ララベル全く知らないが、そういうのは普通GETで送信してそのまま表示する
GETにしておかないと、ページャーでページングして戻るボタンがウザいとか問題がある
検索処理じゃなくて、例えば掲示板の書き込みなんかの場合、POSTで送信して処理後にリダイレクトでGETし直す
必ずこうしないと行けない訳じゃないが、だいたいこう

68 :nobodyさん:2014/02/28(金) 22:54:42.61 ID:???
冪等かつリソースに副作用のない安全な処理はGETがいいよね
検索は基本的にGET

69 :nobodyさん:2014/03/03(月) 16:22:26.75 ID:???
>>67
>>68
ありがとう。GETで引数渡すってことは、URLの後ろにごちゃごちゃと長い検索条件をくっつけるあの方法ですよね。
確かにそれが一般的ですよね。ありがとう。

70 :nobodyさん:2014/03/18(火) 12:15:59.33 ID:???
この前laravelで作ったものを納品した。

これ、覚えること多くて奥が深いよ。
フレームワークのアップデートはコマンドで一発だから楽だな。

俺は個人的に大好きだけど、大人数でやる場合には、色々と取り決めが必要になる。じゃないと後々面倒。

後、クラスを追加した後にコマンドとか打たなきゃだから、vagrant環境で開発進めていって、後で皆のファイルをマージした方が楽かもね。

71 :nobodyさん:2014/04/06(日) 03:39:10.60 ID:???
FuelPHPとLaravelってどっちが勢いある?

72 :nobodyさん:2014/04/06(日) 11:18:52.80 ID:???
比較にならないでしょ

73 :nobodyさん:2014/04/06(日) 11:58:53.66 ID:???
どっち?

74 :nobodyさん:2014/04/06(日) 12:14:19.16 ID:???
日本だとちょっとだけlaravelのが使われてる。勢いもかな

海外だとlaravel

75 :nobodyさん:2014/04/07(月) 09:33:58.93 ID:???
fuelphpは日本でしかはやってない印象
グーグルトレンド見るとひどい

76 :nobodyさん:2014/04/24(木) 20:17:30.75 ID:QhtXd2CQ
ララベル4興味があって使おうかなと導入を読んでいたのですが
何らかのライブラリを追加しつつ
ローカルで開発し終わったら
本番環境ではFTPでディレクトリ単位でローカルのファイルを
単にアップしたんじゃ動かない?
ローカルと本番のディレクトリ名を直したりとか必要?
もしくは、sshで追加したライブラリをインストールし直さなきゃ動かない?

77 :nobodyさん:2014/04/25(金) 08:12:22.37 ID:???
>>76
俺がマイナーなのかな?

php開発ってローカルでするものなの?
サーバーにサブドメイン切って、本番、開発、デザイナー用とか作らない?
環境揃うし、なによりrsyncで複製作れる。
そういう意味で、ドメイン、ホスト名、サブドメインはどこにも設定しないので問題ない。
ただし、デザイナーの書くテンプレに絶対パスが紛れる可能性は否定できない。

蛇足: PCがWindowsでもwin-sshfsでドライブをマウントできるから。

78 :nobodyさん:2014/04/25(金) 13:17:43.82 ID:???
Laravelをglobalにインストールする方法を教えてください。
アップデートを1箇所で管理したいのでプロジェクトごとにLaravelをインストールするやり方はしたくないです

79 :nobodyさん:2014/04/25(金) 13:45:11.68 ID:???
>>78
composerの管理をglobalでやればいいんでないの?

80 :nobodyさん:2014/04/29(火) 16:05:38.32 ID:???
それ試してから言ってるの?できないよ

81 :nobodyさん:2014/04/29(火) 16:37:19.94 ID:???
>>80
試したの?

82 :nobodyさん:2014/04/30(水) 00:14:39.76 ID:???
適当なディレクトリにjson置いて実行するだけじゃん。

include指定がめんどくさくなるから、プロジェクトの外に置くメリットをあまり感じないけど。

83 :nobodyさん:2014/04/30(水) 01:45:55.65 ID:???
そういう使い方はlaravelに用意されてない
よってcomposerでglobalインストールする方法はない

84 :nobodyさん:2014/04/30(水) 07:30:12.23 ID:???
>>83
そういう使い方が用意されてるFWなんてないっしょ

85 :nobodyさん:2014/04/30(水) 07:58:36.89 ID:???
外部のパスを指定するだけでは?

86 :nobodyさん:2014/04/30(水) 08:33:56.35 ID:???
laravelは他のFWよりcomposer分離は難しい

composer.jsonのアプリ部分とベンダー部分を分離しないとダメだし
artisanが敵でhookを書き換えないと正常に動かないし
require,includeが複数あるから面倒だし
path.baseの直下にvendorがあるとFW内で書かれているので対応しないとダメだし

workbenchあたりもなにかあるかもな

>>78
プロジェクト毎にlaravelは置いておいて
全composerを管理するシェルを作るとか、デプロイツール使うとかが現実的

87 :nobodyさん:2014/04/30(水) 13:40:18.90 ID:???
laravelをインストールすると21MBも使う。
5プロジェクトで100MB超
大規模に向かないフレームワークのくせにサイズ多すぎなんだよ

88 :nobodyさん:2014/05/12(月) 03:37:39.65 ID:???
そのサイズが問題になることはないから
どうでもよい。

89 :nobodyさん:2014/05/16(金) 00:36:14.57 ID:???
今日明日とLaraconやってますね
4.2は何が変わるんだろ

90 :nobodyさん:2014/07/15(火) 20:56:22.33 ID:???
なんかスレの勢い全然ないね;;
LaravelでCakeの出番はもうなくなったなーと思って早1年。
日本では全然ブレイクする兆しがない不思議さ
Cakeより何十倍もLaravelのが出来がいいと思うのだけどねぇ

91 :nobodyさん:2014/07/18(金) 01:47:04.66 ID:???
まだまだ日本語の情報少ないし、使ってるフレームワークを切り替えるのは大変だしね
2chってこういうプログラミング関連の書き込み意外と少ないし

92 :nobodyさん:2014/07/18(金) 13:18:18.33 ID:???
少ないってか減ったな

93 :nobodyさん:2014/07/18(金) 14:12:32.46 ID:???
意識高い系は他に流れた
それが健全だと思うわ

94 :nobodyさん:2014/07/18(金) 14:57:02.55 ID:???
意識低い系はCakeからRailsに移ったが
意識高い系はどこからどこに移ったんだ?

95 :nobodyさん:2014/07/18(金) 15:29:48.90 ID:???
2chから人が流れたって話し

96 :nobodyさん:2014/07/18(金) 15:31:24.46 ID:???
そういうことか
自己顕示欲を出せるところ増えたしな

97 :nobodyさん:2014/07/19(土) 05:11:38.64 ID:???
>>96
最近だとqiitaとかかな。質問できないのが辛いが

98 :nobodyさん:2014/07/19(土) 08:44:37.36 ID:???
codeigniterんやめて、だいぶlaravelにもなれてきた
アイデアやライブラリもたまってきたけど、だから何?って感じ

ブログ書いてる暇ないし

99 :nobodyさん:2014/07/19(土) 11:02:14.21 ID:???
>>97
コメント書けるでしょ

Laravelに限らないけど、情報を共有しようとする姿勢の人が増えないと流行らないだろうね
でも海外じゃあ十分流行ってて情報もあるから、英語できれば問題ないね

100 :nobodyさん:2014/07/19(土) 12:42:35.92 ID:???
2chの方がレスポンスが早い、気がする。
有用かどうかはともかくw。

101 :nobodyさん:2014/07/19(土) 13:21:08.16 ID:???
2chは聞く場
Qiitaは書く場

今まで2chで答えてた人は
自己顕示欲を出したいだけなので、書きたかっただけ

102 :nobodyさん:2014/07/19(土) 13:23:10.77 ID:???
しばらくしたらStack Overflowが日本に進出する予定だから質問する場ができるよ

103 :nobodyさん:2014/07/19(土) 22:21:54.55 ID:???
アソコに日本語版とか必要なんかね。
そもそも日本語情報じゃなきゃいけない場合って、込み入った内容だし、コードで会話するのがエンジニアでしょ。
アウトプットの場所はあって良いけど。

104 :nobodyさん:2014/07/20(日) 11:09:10.73 ID:???
>>103
コードで会話カコイイ!

105 :nobodyさん:2014/07/20(日) 12:32:41.46 ID:???
人がいないわけではなさそうなので
せっかくだから質問してみる

artisanコマンドの中で
use Menber;
と書いたらしかられた

modelsをロードするには、何をおまじない書いたらいい?

106 :nobodyさん:2014/07/20(日) 12:37:24.86 ID:???
>>105
Menber

107 :nobodyさん:2014/07/20(日) 15:28:23.66 ID:???
>>106
いや、そういう問題じゃなく(typoはあやまるが

include_path通しただけじゃだめだよね

108 :nobodyさん:2014/07/20(日) 15:52:08.73 ID:???
>>107
あ、include_pathもuseもなしで、いきなり使えるのか

やられた!

109 :nobodyさん:2014/07/20(日) 17:41:38.86 ID:???
ここよりもgoogle グループで質問したほうが人はいる

110 :nobodyさん:2014/07/20(日) 17:43:20.39 ID:???
>>90
日本ではPHPで開発する機会が減ってるからPHPのフレームワークネタはもう盛り上がらない

111 :nobodyさん:2014/07/20(日) 17:57:23.61 ID:???
>>110
なんで減ったの?

112 :nobodyさん:2014/07/20(日) 18:01:02.19 ID:???
日本の主流派は
cake→railsって流れ

113 :nobodyさん:2014/07/21(月) 00:06:40.15 ID:???
ITに限らんかもしれんけど、アメリカにワンテンポ遅れて流れが来る感じだね
Laravelも来年あたりから本格的に来るのかねー

ところで、githubあたりでそれなりの規模のあるアプリのプロジェクトとかってないかな?
他の人が、どういうふうに書いてるのか読みたいんだけど サンプルに毛が生えたやつしか見つけきれん orz

114 :nobodyさん:2014/07/21(月) 01:25:17.17 ID:???
>>112
そんなに多くの企業がRails使ってんのかな

115 :nobodyさん:2014/07/21(月) 01:45:47.36 ID:???
あぁ、主流派と多数派は違うか

116 :nobodyさん:2014/07/21(月) 09:08:28.86 ID:???
ていうか、cakeがはやったのが、信じられない
(はやった理由は理解してる)

117 :nobodyさん:2014/07/21(月) 18:30:32.94 ID:???
Railsは流行りにのりたくて使ってるだけの会社、個人が多い気がする

118 :nobodyさん:2014/07/22(火) 23:26:13.08 ID:???
1回は使ってみるものだろ。
Rails以降のフレームワークのほとんどは、フォロワーとしてアンチとして何かしらの影響受けてるんだから。

119 :nobodyさん:2014/07/23(水) 02:13:51.90 ID:???
cakeもrailsもアーリーアダプターは良いけど、レイトマジョリティは全体的に低レベルでウンザリする。
そんな中、ここの皆はLaravelのアーリーアダプター。知見を集めて一歩先んじておこう。

120 :nobodyさん:2014/07/23(水) 11:43:33.12 ID:???
小規模開発ならphpで十分と思うがどうだろう?レンサバも安いし

121 :nobodyさん:2014/07/23(水) 18:33:06.03 ID:???
大規模はダメなの?

122 :nobodyさん:2014/07/23(水) 20:15:59.00 ID:???
Laravelいいなーと思ったけどちょっと遅いな…

123 :nobodyさん:2014/07/23(水) 20:23:20.19 ID:???
一緒にHackも使えばいいよ

124 :nobodyさん:2014/07/23(水) 20:24:30.82 ID:???
大規模で自由度のある仕組みはリーダーの統率力に左右されそう

125 :nobodyさん:2014/07/24(木) 10:47:19.92 ID:???
>>104
コードで会話。わかるわ〜。
英語のブログの文章読むの辛いがコードが書いてあると読みやすくなる

126 :nobodyさん:2014/07/24(木) 22:00:49.50 ID:???
>>125
$you = 'shit';
とか
$var1 = 'fuck';
$var2 = 'you';
echo $var1 . ' ' . $var2;
とかね

127 :nobodyさん:2014/07/25(金) 08:32:52.53 ID:???
コード読めて英語読めないのはなぜか

128 :nobodyさん:2014/08/01(金) 19:36:06.71 ID:???
echo "プログラマはコードで会話だぜ";

129 :nobodyさん:2014/08/05(火) 19:51:31.98 ID:???
GoogleのトレンドでLaravelが急上昇だと知り、マニュアルをサクっと
読んでみたのだが、何がよいのかわからなかった。
CodeIgniterから乗り換えようと思ったんだけど。

そんな僕に、Laravelの良さを教えてください。

130 :nobodyさん:2014/08/07(木) 01:30:58.93 ID:???
フレームワーク設計のセンス

131 :nobodyさん:2014/08/07(木) 08:07:16.55 ID:???
buckbitとかでgit管理したlaravelぱねぇ

開発クローンの作成やメンテが瞬時だ
(composerの実行時間は除く)

132 :nobodyさん:2014/08/07(木) 10:24:30.53 ID:???
>>129
オワコンフレームワークを使い続けるのは、いつか破たんするから。

133 :nobodyさん:2014/08/07(木) 17:50:58.64 ID:???
ぶっちゃけると既存のPHPフレームワークの中では一番Railsに近いからw
つまりLaravelの良さはRailsの良さと直結する
RailsいいけどRubyだから環境を選ぶからなぁ って人がこぞってLaravel使ってるんじゃないかな 特に海外は。

134 :nobodyさん:2014/08/07(木) 20:19:49.13 ID:???
Railsクローンだけど、Railsよりシンプルでいい

135 :129教えて君:2014/08/08(金) 06:43:05.53 ID:???
Railsに近いから良いと言われても、Railsを知らないのでワカリマセン・・・
Laravelのどこがいいのでしょうか?

・・・と質問しても、なかなか一言で答えられるようなモノでは
ないですよねきっと。

136 :nobodyさん:2014/08/08(金) 07:51:52.77 ID:HCj6Owhx
IoCコンテナでクラスを疎結合にできる

137 :nobodyさん:2014/08/08(金) 17:11:04.89 ID:???
おれんじでかわいい

138 :nobodyさん:2014/08/10(日) 00:48:13.42 ID:???
マジックメソッド祭りでエスパー能力が鍛えられる
コードリーディングし辛すぎ泣きそう

139 :nobodyさん:2014/08/10(日) 15:14:32.38 ID:???
ソースコードの読みやすさも売りの一つだと思うけどね

140 :129:2014/08/11(月) 21:58:58.35 ID:???
皆様ありがとうございました。
とりあえずお盆やすみは、Laravelマニュアルを読んで、
動かして見ます。

ありがとうございました。

141 :nobodyさん:2014/08/18(月) 15:34:37.64 ID:???
RailsのようなSinatraのような。

142 :nobodyさん:2014/08/20(水) 15:22:46.99 ID:???
PhpStormでBladeの補完できてる〜

143 :nobodyさん:2014/08/20(水) 21:25:07.85 ID:???
>>142
PhpStormってやっぱいいの?

144 :nobodyさん:2014/08/29(金) 11:25:59.77 ID:???
PHPもLaravelも初心者です。以下、質問です。
ORMとクエリビルダーはどちらを先に覚えるべきなんでしょうか。
セオリーがもしあるなら知りたいです。特にないならクエリビルダから触ってみようと思います。

145 :nobodyさん:2014/08/29(金) 18:56:32.23 ID:???
>>144
同時一択w

モデルはORMで書くぺき

しかしstatic関数やコントローラーではビルダーが必要

今日明日というスパンでいうなら、ORMからってこと

146 :nobodyさん:2014/09/02(火) 05:50:12.31 ID:???
世界はLaravelだったのか!
http://bigchinpo.blogspot.jp/2014/08/php.html

147 :nobodyさん:2014/09/13(土) 00:03:01.57 ID:???
4.3で、dir構成変わりすぎw

148 :nobodyさん:2014/09/19(金) 15:50:04.04 ID:???
やっと学習するに値する一強時代くるの?

149 :nobodyさん:2014/10/18(土) 10:32:28.24 ID:???
5.0 来きましたね。

laravel/framework - Packagist
https://packagist.org/packages/laravel/framework

150 :nobodyさん:2014/10/19(日) 16:09:25.24 ID:???
どっかにサンプルいっぱいあるサイト知らない?
公式は見たけど、いまいち使い方がわからん。

151 :nobodyさん:2014/10/19(日) 19:03:23.65 ID:???
あ、5.0になったのか。

152 :nobodyさん:2014/10/20(月) 22:53:19.00 ID:???
>>150
サンプルというか tips ならここがまとまってる。

Laravel Recipes日本語版
http://recipes.laravel.jp/

あとは Stack Overflow とか?

153 :nobodyさん:2014/10/21(火) 00:11:48.48 ID:???
>>152
ありがてぇ、ありがてぇ
早速見てみる。

154 :nobodyさん:2014/10/22(水) 19:27:44.48 ID:???
なんだかこれ、理解するの難しいな。
解説日本語だけど、専門用語多くて、いまいちわからんw

155 :nobodyさん:2014/10/23(木) 14:30:11.68 ID:???
Eloquent難しすぎワロタw
解説読んでも全然意味わからねーww

156 :nobodyさん:2014/10/25(土) 09:54:05.27 ID:???
初めて入れてみたけど最初全然わからない
fuelphpを入れてみてそのマニュアルからやっと構造が見えてきたけど
public/index.php をアクセスするなんて推測できなかった
もうちょっとなんとかならないか
一番最初だけにかなり損しているのでは?

157 :nobodyさん:2014/10/25(土) 11:48:53.33 ID:???
public/index.phpにアクセスするのがそんなに変か???
外に見せるものだけpublicに置くのは当たり前だし、普通のPHP有効なWebサーバならindex.phpがDirectoryIndexになってるだろうし。

158 :nobodyさん:2014/10/25(土) 14:53:21.38 ID:???
これ、マニュアルこれでええんか?
丁寧に翻訳されてるのは嬉しいが、これだけじゃさっぱりわからん。

テンプレートに関するところなんて、これで理解できるわけ無いだろう。
http://laravel4.kore1server.com/docs/42/templates
「layoutプロパティーをコントローラーで指定すれば、指定されたビューが生成され、アクションからレスポンスが自動的にリターンされます。」
って、日本語でおkって感じなんだがw

しかも、仕方なく解説サイト見ても、1つ2つ前のバージョンのものしか見つからず、
書式が変更になってて全然動かんし…。
やっぱりこういう時に活発なフォーラムが必要と痛感するわ。

159 :nobodyさん:2014/10/25(土) 15:01:43.88 ID:???
>>156
全然わからないという気持ち、よくわかるよ。
最初は、F/Wはとてつもなく難しい。

さっぱり分からなくても、すこしづつやって、「動いたよバンザイ!」って気持ちを
その都度その都度持ち続けられれば、そのうち使えるようになるよ。


そもそもWebアプリを開発するには、PHPの文法、HTML、Webサーバの構築、
HTTPプロトコルの理解、リダイレクトの理解、アクセス権の理解などなど多くの
知識が必要で、Winアプリの開発などとは比較にならないほど大変なのよ。
開発環境を作るだけでも大変なの。

がんばれよ〜

160 :nobodyさん:2014/10/25(土) 15:16:27.79 ID:???
>>158
テンプレートのマニュアルは、これで必要にして十分だと思うけどな。


> layoutプロパティーをコントローラーで指定すれば、指定されたビューが生成され、
> アクションからレスポンスが自動的にリターンされます。

的確な解説だと思うが、F/W初心者にはわからないかもしれないね。
「日本語でおk」って気持ちはよくわかる。

文章にいちいち文句言わないで、とにかく動かしてみるのが良いと思うぞ。

161 :nobodyさん:2014/10/25(土) 15:28:00.08 ID:???
いや、別に文章には文句言って無くて、
これだけだと全然テンプレートの解説になってないってことを言いたいわけよ。

Bladeテンプレートの方はたくさん書かれてんのに、この解説だけすげー投げやり。
そして試しにテストしながら動かしてんだけど、
これでは何をテストしていいやらそれすらわからんということ。

そもそもビューの使い方は「View::make」で指定するんちゃうんかい!
全然自動ちゃうやんけ!
ただコントローラーにビュー指定してんのとテンプレートとなんの関係があるんだよ。
と、思ってるところ。

162 :nobodyさん:2014/10/25(土) 18:45:52.73 ID:???
英語聴けるなら、laracastとか。

163 :nobodyさん:2014/10/25(土) 19:20:49.99 ID:???
これってルーティングとかキャッシュされてるってことある?
XAMPPでテストしてんだけど、さっきやって動かなかったやつが、急に表示されたりするんだけど…
単なるスペルミスかな?

164 :nobodyさん:2014/10/25(土) 22:45:34.51 ID:???
確かに初見でこの例だけ見ると混乱するかも

ビューとレスポンスの章のビューの部分を既に読んでView::makeしてreturnする普通の手法は心得てるとして
http://laravel4.kore1server.com/docs/42/responses
テンプレートの章では@extendsによる拡張の説明&共通レイアウトの分離の例を出してから
コントローラーで継承するレイアウトを指定してcontentにテンプレートを割り当てる便利な方法もあるという流れのほうがすんなり入りそう

FWの歴史を考慮すればコントローラーレイアウトが基本なのかもしれないけど
個人的にはあまり使わないんだよなあ

165 :nobodyさん:2014/10/25(土) 22:55:02.42 ID:???
自動的にリターンってところの解釈の違いか?
コントローラーアクション内で明示的にレスポンスをreturnせずとも
レイアウトにコンテンツのテンプレート突っ込んどくだけで
後はよしなにやってくれるというだけの話なんだが

166 :nobodyさん:2014/10/26(日) 17:53:21.99 ID:???
ふー、やっとブレードレイアウトも全体像がわかった。
なんでもっと分かりやすく解説してくれないんだろう。
わざと分かりにくく書いてテストさせようとしてんのかな?

167 :nobodyさん:2014/10/26(日) 21:21:49.32 ID:???
このF/W使うとコーディングが楽しくなるというウリらしいけど。。。

ちょっと見た限り、メソッドの名前にクセがありすぎ。
楽しくなるどころか、とてもじゃないけど苦痛になりそうだな・・・

FuelPHPとかCodeIgniterのほうが、よっぽど素直。

168 :nobodyさん:2014/10/26(日) 21:26:11.14 ID:???
将来性としてはどう?

169 :nobodyさん:2014/10/26(日) 21:56:45.34 ID:???
将来性なんて、どんなFWも”どんぐりの背比べ”だと思う。

今はLaravelはトレンドかもしれないけど、1年後には廃れる気がしている。

FWを選ぶなら、今現在自分にとって最高と思えるFWを選ぶべきじゃないかな。

170 :nobodyさん:2014/10/27(月) 03:00:10.50 ID:???
安定性でいえばzendしかないが糞めんどいからな
今アメリカじゃlaravelとphalconって大方独占してるらしいけど
両方とも新規すぎて何とも言えないね

171 :nobodyさん:2014/10/27(月) 22:39:38.94 ID:???
これってルーティングをgroupでまとめてgetとか書いていく方法と、
コントローラーでrestフルに書く方法あると思うんだけど、
どっちがオススメとかある?

172 :nobodyさん:2014/10/27(月) 23:05:53.00 ID:???
個人的にはコントローラーでまとめてgetIndex()とかpostProfile()とか指定するのが楽で好み
ドキュメントにはImplicit Controllers(暗黙的なコントローラー)と書いてある
ルーティングを一覧したい派には不評みたいだけど

173 :nobodyさん:2014/10/27(月) 23:13:25.48 ID:???
そういやLaravel5ではルートをアノテーションで指定できるようになるんだってね
https://laracasts.com/discuss/channels/general-discussion/route-annotation-in-laravel-5
before filterもミドルウェアに置き換わってるし色々試さないと

賛否分かれそうな感じだ

174 :nobodyさん:2014/10/28(火) 01:37:38.62 ID:???
ミドルウェアって、
「HTTPなんてリクエスト送ってレスポンスが返ってくるだけだし、フィルタみたいな感じで処理挟めるんだから、じゃあそれをフレームワークに依存しない共通のインタフェースで書こうよ」
ってこと?

175 :nobodyさん:2014/10/28(火) 07:01:32.65 ID:???
Laravelは、Symphony兄貴にのっかてるだけだが。
PHP本体に入ることはなくても、PSRみたいな感じでまとまっていくのかな。

176 :nobodyさん:2014/10/28(火) 11:44:12.55 ID:???
Eloquent が気に入った
whereHas() が where (select count(*) ...) >= 1 みたいなうんこSQLになるけど
この辺りは今後に期待してる

177 :nobodyさん:2014/10/28(火) 20:51:40.49 ID:???
>>172
ありがとうコントローラーでまとめてやってみるわー。
1ページにまとまってるサンプル見ると、一覧性があるというけど、
そのぶんごちゃごちゃで内容把握しにくいよね。
作った本人は完全に理解してるから気にならないだろうけども。

178 :nobodyさん:2014/10/29(水) 21:19:46.09 ID:???
ふー。
やっとログイン機構と、メールでの登録確認まで出来た…。

あとはユーザーページと、投稿画面、一覧表示だな。
先は長いぜ…。

179 :nobodyさん:2014/10/31(金) 14:25:20.52 ID:???
投稿画面、確認画面、データベースへの書き込みまでオワター。
データベースの連動と、ログインしている場合と、してない場合の振り分けがメンドイ…。
匿名ユーザーの投稿とか実装するとメンドイのね。

みんなはデザイン抜きで、ブログシステムを作ったりするのにどれくらい時間がかかるものなの?

180 :nobodyさん:2014/11/01(土) 08:51:55.82 ID:???
htdocsの下に、testフォルダを作成し、そこにLaravelをインストールしました。

で、ブラウザで、http://localhost/test にアクセスしましたが何も表示されません。

http://localhost/test/public とすると表示されます。


http://localhost/test で表示できるようにするには、どうしたらよいのでしょうか?
設定不足? 日本語マニュアルには記載がないようですけど・・・

181 :nobodyさん:2014/11/01(土) 11:09:38.83 ID:???
app/config/app.php設定した?

182 :nobodyさん:2014/11/01(土) 12:30:49.79 ID:???
Webサーバ側の設定だと思うんだけど、Laravelだけで何とかできるんか?

183 :nobodyさん:2014/11/01(土) 12:39:56.72 ID:???
ん?public_html/test/public みたいになってんのコレ?

184 :nobodyさん:2014/11/01(土) 23:22:55.62 ID:???
Laravelの入門書の出版予定ってある?

185 :nobodyさん:2014/11/02(日) 10:19:07.05 ID:???
なんか既に何冊も出てなかったっけ?

186 :nobodyさん:2014/11/02(日) 11:03:14.37 ID:???
電子書籍がたくさん出てる

187 :nobodyさん:2014/11/02(日) 22:35:45.98 ID:???
"Laravel 電子書籍" で検索

188 :nobodyさん:2014/11/02(日) 22:59:30.64 ID:???
なんで電子書籍なんだよー

189 :nobodyさん:2014/11/03(月) 01:53:00.36 ID:???
確かにハウツー本って普通立てかけたり、
テーブルに置いたりして見ながら進めるから、電子書籍だとすげー使いにくいよな。
アイパットとかあるならいいが。

辞書みたいにプロパティ全部網羅とかなると、今度は検索使えるから電子書籍が断然有利だけど。

190 :nobodyさん:2014/11/03(月) 19:14:31.01 ID:???
同感!

リファレンスなら電子書籍のメリットがあるけど。
入門書は絶対に紙の本がいい。
電子書籍じゃ使いにくいし、読んでも頭に残らない。

CakeやFuel並の書籍は出ないかな・・・

191 :nobodyさん:2014/11/04(火) 15:42:50.75 ID:???
これ、ルーティングって内部的には何をしてんだろ?
単純にApacheのRewriteみたいなことしてるだけかな?

192 :nobodyさん:2014/11/04(火) 21:09:40.70 ID:???
なんと答えていいやら。

193 :nobodyさん:2014/11/05(水) 16:38:17.98 ID:???
ふー。タグ一覧の実装がやっとこできた。
データベースの設計から考えないといけないから大変だ。

って言っても、ネット上の情報探して真似するだけだけどw

194 :nobodyさん:2014/11/05(水) 20:07:02.89 ID:???
日記乙!

195 :nobodyさん:2014/11/06(木) 12:23:41.05 ID:???
これルーティングって上から順番に評価されるって普通なの?

サブディレクトリ作るのにroutes.phpでグループ化して

/
/hoge

だとエラーで

/hoge
/

の順番に記述すると正常にできるんだけど…。

196 :nobodyさん:2014/11/06(木) 21:11:29.59 ID:???
普通です

197 :nobodyさん:2014/11/06(木) 21:27:09.00 ID:???
上から順に実行って普通やんか

198 :nobodyさん:2014/11/06(木) 21:28:44.01 ID:???
最長一致になって欲しい気持ちも判るが
パフォーマンスを考えたら我慢できるレベル

199 :nobodyさん:2014/11/06(木) 22:01:44.70 ID:???
あ、そうなんだ普通なんだ。

いやさ、

/
/hoge/tag
/hoge/category
/user
/user/{id}

みたいな感じで書きたいじゃん。
単純に見やすいし。

それにしてもEloquentってこれ、便利なんかな?
やっぱり覚えたほうがいいの?

「美しくシンプルなアクティブレコードによるデーター操作の実装です。」って言われても、
そのシンプルに書くためにモデル作って、書式覚えて、1度書いたSQL文を変換してってなると、
なんか余計な手間のほうが増えてる気がするんだが…。
っていうか、サブクエリの方法がわからん…。
そしてEloquentってそもそもなんて発音するんだよw

200 :nobodyさん:2014/11/06(木) 22:21:55.34 ID:???
アクティブレコードやORMってのはオブジェクト(or モデル or エンティティ)が先に存在して
それを永続化する際に保存先のRDBとインピーダンスミスマッチを起こすからその面倒を引き受けてやるよって話であって
逆にRDBやSQLありきの単なるラッパと思ってるならそりゃあ存在意義もわからんだろ

ほとんど作らないだろうがオブジェクトをDBに永続化する必要のないアプリケーションだってあるわけよ

201 :nobodyさん:2014/11/07(金) 11:56:06.03 ID:???
なんだー、Eloquentでサブクエリはネストするだけか。
何時間も使っちまった。

$results = Post::whereIn(
'id',
Postmeta::where('meta_value', $tag)->lists('post_id')
)->paginate(2);

絶対需要多いと思うだけど、なんで解説に書いといてくれないんだろ。

しかしインピーダンスミスマッチなんて言葉初めて聞いたわw
SQLでデータ取ると加工が面倒だけど、そのへんの面倒を見てくれてるってわけね。

202 :nobodyさん:2014/11/07(金) 12:34:00.42 ID:???
オブジェクトを単に入れ物に出し入れするがごとく
DBへの透過的な永続性をORMに担ってもらうことで
プログラマはオブジェクト指向プログラミングに集中できる

俺も経験あるがORM使う以前ってRDBの奴隷として調教されすぎているんだよな
ORMなんてSQLも使えねえゆとり用じゃねーかwwwと馬鹿にするやつもいる
もちろんライブラリが自動でやる分パフォーマンスの問題が出ることはあるから
SQLやRDBの知識が要らなくなるというわけではないんだがな


暇があったら他のORMも調べてみるといい
Symfony2のDoctrineの説明はわかりやすい
http://docs.symfony.gr.jp/symfony2/book/doctrine.html

203 :nobodyさん:2014/11/07(金) 18:46:54.89 ID:???
5.0もう翻訳できとるやん。
神かな?

204 :nobodyさん:2014/11/07(金) 18:57:34.58 ID:???
Laravelに限ったことではないのですが・・・
Webの一覧画面、登録画面、修正画面、削除画面の遷移方法について質問です。

各々の画面遷移をPOSTでやるのかGETでやるのか、常套的な方法がありましたら
教えてください。
またエラーメッセージの画面間の引き渡しはフラッシュデータを使うのが常套手段なの
でしょうか。

205 :nobodyさん:2014/11/07(金) 20:33:41.43 ID:???
HTTPメソッドは冪等性と安全性によって使い分けるのが一般的
冪等というのは同じ操作を何回行っても結果が同じということ
安全というのはサーバ上のリソース(大抵DBと対応)の状態を変化させないこと

・冪等 かつ 安全         GET HEAD
・冪等 かつ 安全でない     PUT DELETE
・冪等でない かつ 安全でない POST

・POST→リソース新規作成
・GET→リソース取得
・PUT→リソース更新
・DELETE→リソース削除
という風にCRUDと対応付ける実装が多くLaravelの標準も同じ
※PUTとDELETEはHTMLのformが対応していないので隠しパラメータで擬似的に表現される

Laravelが用意しているリソースコントローラーのアクションの命名規則とHTTPメソッドの使い分けが参考になるだろ
実際にリソースを新規作成したり更新するリクエストはPOSTや(擬似)PUTだが
それらのリクエストを発するための新規作成画面(createアクション)や編集画面(editアクション)を表示するのはGETだな
http://laravel4.kore1server.com/docs/controllers#resource-controllers

リダイレクト云々についてはGeneratorのControllerのScafolding見てみたら?
https://github.com/JeffreyWay/Laravel-4-Generators

206 :nobodyさん:2014/11/07(金) 20:46:00.90 ID:???
postで画面描画しないよう徹したほうがよいよ

postメソッドは、エラー時もOK時もredirecrして必ずgetメソッドで画面描画

withInput()とwithError()が効率的に使えるし
ブラウザの戻るボタンで戻れるウィザードにもなるから

テンプレートにflashメッセージとflashエラーの描画入れとくと、いれいろ便利

207 :nobodyさん:2014/11/08(土) 08:16:19.80 ID:???
>>205、206
すばらしい回答ありがとうございました。
両回答とも、知りたい事のドンピシャの回答で、よくわかり、大いに納得しました。


ご回答をふまえて追加で質問させてください。

修正画面を表示
   ↓
OKボタンが押される
   ↓
バリデーションエラーで修正画面を再表示


という画面遷移を考えたとき、修正画面に表示するレコードのID等を引き回す必要が出てくると思います。
このIDの引き回しは、<input type="hidden"> で引き回すのが普通なのでしょうか?
(つまり修正画面に、<input type="hidden"> を入れる)

それとももっとスマート?な方法があるのでしょうか?

208 :nobodyさん:2014/11/08(土) 09:18:56.48 ID:???
レコードのIDの値はURLに含めるほうが楽じゃない?
リソースフルコントローラーの規則に合わせるなら

修正画面(edit): GET /resource_name/{id}/edit
更新(update):  PUT /resource_name/{id}

としておく まあIDに限らずユニークなフィールドでレコードを特定できるならなんでもいいんだけど

修正画面のformからPUTしてupdateアクションでバリデーションが通らなかったら
withInput()とwithErrors()を利用してeditアクションにユーザの入力値やエラーを渡しつつリダイレクトする
editアクションではInput::old()が空じゃなければそちらの値を優先して表示

探してみたらベストプラクティスの考察記事もあったよ
http://qiita.com/asaokamei/items/e5070f9fad4c91e52bdc

209 :201:2014/11/08(土) 12:02:58.64 ID:???
>>202
ありがとう。まずはEloquent理解してからだわw

しかし今まで作ったやつEloquentに書き換えてるけど、
実際使ってみると確かに楽だわ。
クエリースコープ便利すぎワロリンコ

210 :207:2014/11/08(土) 18:49:26.00 ID:???
>>208

>レコードのIDの値はURLに含めるほうが楽じゃない?

こうすると、修正画面に遷移する前の画面(つまり一覧表示画面)で、修正するレコードがどれかを
判別し、そのIDをURLに入れてsubmitする、という javascript が必要になります。
修正画面にはPOSTで遷移すればjavascriptを書く必要がないのでシンプルで良いと思った次第です。

しかし、紹介していただいたベストプラクティスを見ると、バリデーションエラーになって元画面を表示
するのに、
  return Redirect::back();
という方法を採っています。
この方法、シンプルですね。
やはり修正画面の表示はGETに統一し、上で書いた javascript は必要、と考えたほうがよい気がしました。

211 :210:2014/11/08(土) 18:54:17.79 ID:???
すみません訂正です。

FORMをGETでsubmitしたことがないので間違ったことを書いたかも。
GETでも javascript は必要ないですね。

212 :nobodyさん:2014/11/08(土) 19:29:51.91 ID:???
普通にaタグでリンク辿ればGETになるだろ何言ってんだ

213 :nobodyさん:2014/11/08(土) 22:17:22.56 ID:???
Aタグ!?
そう言えばそうですね。
チェックボックスをチェックして修正ボタンをクリック、ばかり考えていましたので。

ただ、修正画面ではなく、複数選択して次の画面に遷移する画面もあると思います。
そんな時はやはりAタグではなくチェックボックスだと思います。
すると、FORMでGETメソッドですよね。

あ、GETではパラメタサイズが制限されるから、チェックボックスで複数選択のときはPOSTなのかな。

214 :nobodyさん:2014/11/09(日) 09:46:44.91 ID:???
後付で条件変えられても……
最近のGETパラメータのサイズの制限はそんなに厳しくないと思うけど

215 :201:2014/11/09(日) 12:01:02.03 ID:???
同一IPによる連投禁止って、データベースにIPと作成日を保存しておいて、
バリデーションのカスタムフィルタ作ってValidator::makeするって感じしかないのかな?

そういった普通に使いそうな便利ツールまとめたライブラリとか無いのかな?

216 :201:2014/11/09(日) 12:07:08.95 ID:???
ごめん、普通にCookieでやればいいのか。
新しいこと頭に入れすぎて混乱しとるわw
失礼しやした

217 :213:2014/11/09(日) 12:23:37.75 ID:???
>>214
後付条件になってしまい、すみませんでした。

204の質問に対して205, 206の回答をいただき、
DBに保存しない処理は「GETで統一がいい」と納得しました。
しかし、画面によっては複数のチェックボックスにチェックして「修正する」ボタンを
押すような画面もあることに気づき、その結果、後付条件になってしまいました。

ご勘弁ください。

218 :nobodyさん:2014/11/09(日) 12:26:11.16 ID:???
>>215
同一IPによる連投禁止は、プロキシを介してリクエストしてきたとき
実際に端末は違っていたとしても同一IPになってしまうよ。

219 :201:2014/11/09(日) 12:53:46.05 ID:???
>>218
ですよね。
っていうかCookieでも毎回消されたら意味ないけどw

まあ、ただの投票ボタン付けるだけだから
厳密に規制したいわけじゃないからいいんだけどね。

220 :201:2014/11/09(日) 18:58:18.75 ID:???
ふーい、やっとこコメントへの投票とCookieによる連投規制でけた。
カスタムバリデーションへ複数のパラメータを渡すにはカンマ区切りな。
いい子はテストにでるから忘れるなよ。

'meta_key' => 'custom_validation:parameter1,parameter2'

いちいちマニュアルになくて試しながらだからくっそ時間かかるわー

221 :nobodyさん:2014/11/10(月) 19:45:29.55 ID:???
マニュアルになくて試しながら、だよな。

俺もメールで戸惑った。
簡単なメール送信でさえ、わからなくて悩んだよ。

222 :nobodyさん:2014/11/11(火) 15:14:47.41 ID:???
今日はカスタムコマンドを使って
cornでキャッシュ作成と、データベースの更新とメンテまでできた。

カスタムコマンドは引数使わない場合はモードを
InputArgument::REQUIREDではなくてInputArgument::OPTIONALな。
これもテスト出るぞ。

223 :nobodyさん:2014/11/11(火) 18:42:37.29 ID:???
日記乙

224 :nobodyさん:2014/11/11(火) 18:58:32.81 ID:???
本屋に行ってきたんだが
Fuel > Cake >> zend みたいな感じで陳列されてた。
LaravelってCakeぐらいは越えられる?

225 :nobodyさん:2014/11/11(火) 19:09:16.88 ID:???
Laravelが人気ありそうなので学習しはじめましたが、人気がある理由がわかりません。

FuelPHPやYiiのほうが、オンラインマニュアルの質が格段に高い。
ふつうのWebサービスを作るにはFuelPHPやYiiで十分だろうし、学習コストを考えると、
FuelPHPなどのほうがよさそうに思いました。
仕事で使うには、学習コストって重要ですよね。

世界的に見てFuelPHPよりLaravelがトレンドのようですが、Laraveが優っている
理由はなんなんでしょうか?
単に宣伝が上手かっただけとか?

226 :nobodyさん:2014/11/11(火) 19:21:22.10 ID:???
Laravelを触ってみて FuelやYiiのがいいと思うのは 君の知性に問題があるとしか言いようがないよ

227 :nobodyさん:2014/11/11(火) 19:46:30.78 ID:???
Laraveが優っている理由を具体的に教えてください。

228 :nobodyさん:2014/11/11(火) 20:01:15.63 ID:???
11月11日午前8時頃、バージョン4のCSRFフィルターに関する脆弱性が公表されました。
フィルター中の比較演算子を!==に変更してください。
http://laravel4.kore1server.com/docs

229 :nobodyさん:2014/11/11(火) 20:17:11.34 ID:???
確かにマニュアルは分かりにくい。
昔のマニュアルにあったのが、新しいマニュアルで削除されたりしてる謎。
変なとこだけ冗長だったり、肝心のところがなかったりする。

ただ、実際書いてみると「なるほどね」って機能が多いよ。

実用的なチュートリアルも無いし、日本ではまだまだこれからって感じだね。

とにかく手を動かして、ダメなときは海外のフォーラム覗いて、
既に公開されてるソースを眺める。
今のところこれしかない。

230 :nobodyさん:2014/11/12(水) 11:32:04.66 ID:???
> 実用的なチュートリアル

絶対ここの常駐者だな...

ttp://www.rapidexp.com/wordpress/category/laravel/

てか、まだ現役だってことにビックしたw

231 :nobodyさん:2014/11/12(水) 19:27:25.35 ID:???
>>230
誰それ?初めて見たが…。
一応迷惑かかるとあれだから否定しとくわ。

てかさ、サイドバーを付けたいんだけど、
これってメインのコンテンツ表示してるコントローラーでサイドバーについてもデータ渡すの?
せっかくbladeのViewでインクルードしてんのに、意味なくね?

sidebar.blade.php側でコントローラーのデータ読み込んだりできないのかしら?

232 :nobodyさん:2014/11/12(水) 20:00:30.91 ID:???
>>231
blade側でやるのは、メニューデータのforeach展開だけ

メニューデータ取得は、全コントローラーで継承するベースコントローラーでしょ

>誰
うん、DOSやパソ通しらなきゃどうでもいい

233 :nobodyさん:2014/11/12(水) 20:32:17.90 ID:???
>>232
なるほど、こういうときにベースコントローラー使うのか。
何のために継承してんだかわからずおまじないとして書いてたけど、そういうことね。
ありがとう。

234 :nobodyさん:2014/11/12(水) 21:26:07.80 ID:???
ビューコンポーサー派はおらんのかえ

235 :nobodyさん:2014/11/13(木) 10:39:51.71 ID:???
ビューコンポーサー試してみたけど、利点がわからんな…。
特定のビューが呼び出されると一緒にレンダリングされるってだけでしょ。

デフォルトでroutes.phpに書くって意味もわからんし、
逆にどこに書いても良いって言われても置く場所困るわ。
分けたところで作った人しか場所がわからず見通しが異常に悪くなるし…。

っていうか、デフォルトでroutes.phpに書くってマニュアルに無いのはなんでなんだ?
ホント歯抜けの多いマニュアルだよなこれ。

236 :nobodyさん:2014/11/13(木) 20:27:25.45 ID:???
ふーい、なんとかサイドバーも終わった。
あとはユーザーページと
ログインユーザーとゲストの表示の調整だけだ。

これでやっとコーディングやらデザインに入れる…。

237 :nobodyさん:2014/11/14(金) 06:15:40.60 ID:???
バリデーションエラーになって、元画面を再表示するとき、
POSTされた入力値を再表示画面にセットしたいと思っています。

テキストボックスに再表示する方法は old() でできますが、
リストボックス、チェックボックス、ラジオボタン のセットは
どのように行ったらよいのでしょうか?

238 :nobodyさん:2014/11/14(金) 07:49:01.47 ID:???
>>237
->withError()するだけじゃん
getで初期値いれとくだけで何も考える必要ない

>>230 のリンクみてる?

239 :nobodyさん:2014/11/14(金) 07:51:56.59 ID:???
->withInput() な

240 :nobodyさん:2014/11/14(金) 18:13:33.59 ID:???
「Laravel 4 Cookbook 日本語版」って70%で止まってるけど、もう翻訳されないんだろうか?
最初に買った「Laravel4でこなすプログラム術 Getting Stuff Done」 はとても良かったんだけど
DB系の機能に一切触れてなかったから次はCookbook買おうと思ったんだけど翻訳止まってるんだよね…
「Code Bright」はマニュアル程度の内容だったし…

241 :nobodyさん:2014/11/14(金) 21:31:02.96 ID:???
Code Bright のP28

  Composer ガオーとロードできるように・・・

なんだよコレ。。。
日本語なのに翻訳が必要じゃねーか。



ところで入門書としてのお勧め書籍を教えて!

242 :nobodyさん:2014/11/14(金) 23:32:47.76 ID:???
>>241
なにそれかわいい

243 :nobodyさん:2014/11/14(金) 23:45:36.37 ID:???
入門書なぞない。
マニュアルと、海外gitとかでいろいろアップされてるからコード見て勉強だ

244 :nobodyさん:2014/11/15(土) 11:15:02.56 ID:???
laravel関係ないけどさ、コントローラー名やらメソッド名とかって
ガンガン長くなちゃうんだけど、どうしたら良いの?

意味はわかるように出来るだけ短くとか、ドヤ顔で解説してるところあるけど、
それができたらわざわざ質問しねーよとw

ハイフンで区切ったり、アンダーバーで区切ったり、大文字にしたりあるけど、
なんかフレームワークによってバラバラだし、好きにしていいよってことなんかな?

245 :nobodyさん:2014/11/15(土) 16:28:25.12 ID:???
20文字以内なら許容範囲と思うかなー
昔のハンガリアン記法チックな名付けしたりして 辺な短縮するよりわかり易いほうがいい。
エディタの補完機能あればタイプミスはまぁ発生しないし。
20文字超えだすと一行内に収まらないコード続出で可読性が正直落ちる…

246 :nobodyさん:2014/11/15(土) 17:22:50.62 ID:???
「Controller」だけで11文字もあるんじゃん。

長くても、後で意味が分かるほうがいいと思うけど。

247 :nobodyさん:2014/11/15(土) 17:39:13.66 ID:???
testとかめちゃくちゃ長くなるよね。

248 :nobodyさん:2014/11/15(土) 19:59:50.29 ID:???
20文字は厳しな。
いま見てみたら25文字のファイルあった。

まあ長くてもわかるほうがいいか。どうせ自分で使うんだし。

あと面倒だとint、str、val、key、arr、とかつけるけど、
あとで見ると何だったかわからなくなる罠w
こういうのって、なんかルールほしいよね。

249 :nobodyさん:2014/11/15(土) 22:50:57.36 ID:vEAdgPxd
ここもなんだかんだで伸びが早くなってきてるな。
そろそろ日本でも本格的に広まってほしい

250 :nobodyさん:2014/11/16(日) 01:16:53.95 ID:???
いやーしかし覚えないといけないこと多いね。
リンク生成するだけでも一苦労だわ。
別に普通に相対URL書いてもいいけど、それだと負けた気がする不思議。
そして恐らく関数使ったほうが遅いというパラドックス…

251 :nobodyさん:2014/11/16(日) 08:24:28.64 ID:???
>>250
同意。

しかも、http://からの絶対URLだと、Webサーバの前段にロードバランサなど入れてあると
ダメだったりする。

相対URLのほうが良いと思うなあ。
相対URLを取得する関数はないのかな?

252 :nobodyさん:2014/11/16(日) 09:02:39.44 ID:???
"{{url()}}/admin/hoge" じゃだめなん?

253 :nobodyさん:2014/11/16(日) 10:38:46.70 ID:???
だめ、正しくは
{{link_to('admin/hoge', 'ほげに移動')}}

理由はなんか負けた気がするからw

254 :nobodyさん:2014/11/16(日) 11:18:33.31 ID:???
アプリの中なら、URL::to()とかHTML::LinkRoute()とかを使う。
これらを&#22169;ますだけで「遅い」とかぬかすなら、端からFWなんか使うな。

255 :nobodyさん:2014/11/16(日) 15:14:19.27 ID:???
>>254
端からFWなんか使うな、なんていう前に、
URL::to()を使うメリットを語ったらどうかな。

それとも貴方は道具に弄ばれてる馬鹿ですか?

256 :nobodyさん:2014/11/16(日) 15:32:42.83 ID:???
CodeIgniterからのスキルの引っ越し先としてLaravelに的を絞って学習を進めてきた。
結果、あまり良さを見せなかった。。。


良いと思ったのは、Routerの機能、Bladeの簡潔さ、withInput()、withErros、old()、くらい。
Queueも良いと思ったが、自分で作ればいいやと。

特に自分の場合、過去の資産の関係からテンプレートをBladeではなくSmartyに
したいため、Blade依存のwithErros、old()などは意味がなくなってしまう。

また、V3からV4で仕様がかなり変わったようだし、V5でも仕様が変わるらしいので、
長期に亘り安定的に使うのはダメだな、という印象です。

LaravelはGoogleトレンドでは高ポイントだが、それを鵜呑みにしちゃダメでした。
日本語マニュアルもダメだし、業務に採用はできないな、と思いました。

257 :nobodyさん:2014/11/16(日) 15:37:00.44 ID:???
>Blade依存のwithErros、old()などは意味がなくなってしまう。
???

258 :nobodyさん:2014/11/16(日) 15:38:21.56 ID:???
>>255
リンク全てをハードコーディング。。。
アホですか。

259 :nobodyさん:2014/11/16(日) 15:43:34.93 ID:???
ローカルでテストしないん?

260 :nobodyさん:2014/11/16(日) 16:03:02.00 ID:???
>>251
ロードバランサやWebサーバの設定でなんとかなるでしょ
担当範囲外でいじれないって話ならご愁傷様

261 :nobodyさん:2014/11/16(日) 16:08:31.80 ID:???
アプリのrootをDocumentRootにしとかないと、嵌ることがあるな。
ドキュメントに明確に書いてはいなかった気がするし、絶対に動かないわけではないので、余計に厄介。

262 :nobodyさん:2014/11/16(日) 16:09:11.55 ID:???
公式ドキュメントはそもそも方針として網羅性を重視していないんじゃないの?
歯抜けと言われればそうだね〜としか

ドキュメントの充実度を評価の基準の1つにするならYiiなんてどうよ?
最近出た2の翻訳はまだだけど概念の説明から細かいところまでかなり揃ってる印象

263 :nobodyさん:2014/11/16(日) 16:09:27.83 ID:???
間違えた。アプリのrootじゃなくて、publicね。

264 :nobodyさん:2014/11/16(日) 16:14:25.31 ID:???
それまで何を使ってきたかでLaravelの評価わかれるみたいねー
俺みたいに Rails使ってきた人には高評価
偽RailsなCakeのクソさに苦しめられてきた、やっとホンモノのRailsライクなフレームワークが来た!みたいな感じで。
逆にFuelみたいな軽量系や、CodeIgniter みたいに小さな部品を組み合わせて作る系のフレームワーク使ってた人は
微妙って感じの人が多い

265 :nobodyさん:2014/11/16(日) 16:24:57.02 ID:???
>>261, 263
このスレだけでも困ってる奴2人はいたな
大抵のフレームワークにエントリーポイントとなる1つのファイルがあるってわかってりゃ
publicがDocumentRootかどうかって些細な話だと思うけど
PHP初級者がFWデビューしてハマったら辛いだろうな
DocumentRootがいじれない共用サーバへの設置とか

266 :nobodyさん:2014/11/16(日) 18:29:28.01 ID:???
>>262
Yii のマニュアルは、かなりイイ! と俺も思うよ。

267 :nobodyさん:2014/11/16(日) 20:12:58.56 ID:z2oZHTF6
codebrightの翻訳版誤字多すぎじゃない?
訂正の要望出したら直してくれるかな

268 :nobodyさん:2014/11/16(日) 20:13:44.53 ID:???
>>264
>偽RailsなCakeのクソさに苦しめられてきた、やっとホンモノのRailsライクなフレームワークが来た!みたいな感じで。
わかる 最近は苦しみ通り越してダメな子ほど可愛い的な感覚すらある
CakePHP3がもう1年早ければ使い続ける選択肢もあったかな

269 :nobodyさん:2014/11/17(月) 20:17:21.50 ID:???
ふーい。やっと今日でシステム周りが全部できた…。
1から全部作るのに1ヶ月以上もかかっちまった。もちろん片手間にだけども。

マニュアル読む

コード書いてみる

マニュアルにない

海外の情報調べる

自分でまとめ直してコード書く

こうしたプロセスをほぼすべての段階で踏んだわw

270 :nobodyさん:2014/11/17(月) 21:57:02.73 ID:???
しかし全文検索の実装がくっそ簡単でびっくりした。

ルートで検索結果ページ作って、
ビューでブレード使って検索ワード渡して、
検索するテーブルのモデル作って、
コントローラーでエロクアント使って検索してまたビューに渡して、
またブレードで表示整えると…できあがり。

おまじない抜かしたら、実質10行くらいで書けるもんね。

271 :nobodyさん:2014/11/20(木) 18:21:57.65 ID:???
Laravel5って今月ホントにリリースされるの?

272 :nobodyさん:2014/11/21(金) 18:58:55.71 ID:???
カスタムでクラスとかメソッド作るときに一覧が無いから
バッティングしてめちゃくちゃ時間無駄にした。
最低でもエラーメッセージで「バッティングして作成できません」って表示されればいいが、
hoge model not found…。

まあ作り方も当たり前のように本家のマニュアルに無いという徹底ぶり。
こりゃ早い時点でちゃんとしたドキュメント作れば売れるでw

273 :nobodyさん:2014/11/21(金) 19:02:32.42 ID:???
なにいってんだ APIリストあるだろ

274 :nobodyさん:2014/11/21(金) 19:42:44.00 ID:???
お、ほんまやあった。
でもくっそ見にくいな…。

しっかしこの30点くらいのマニュアルはまじでないわ。
痒いところに全然手が届かん。
やりたいことができて見ても全く解決しないから
最初からググるようになってきたわw

275 :nobodyさん:2014/11/21(金) 21:18:47.53 ID:???
Laravelのあのマニュアルが網羅性は重視してないのは確かだな
あれだけ見ても分からないことが多すぎた
どっちかというとクイックスタート的な感じ
そう考えると手につけやすく分かりやすい部類なのかもと感じる
アレとAPIリストの中間にある逆引き的なのがあればとは思う
レシピ集はどっかにあったけど数が少なすぎ

276 :nobodyさん:2014/11/21(金) 21:50:51.68 ID:???
>どっちかというとクイックスタート的

クイックスタートにもなってないと思う。
ほんとマニュアルがクソだと思うよLaravel。


マニュアルも成果物の重要要素なのに。
残念。

277 :nobodyさん:2014/11/21(金) 22:21:32.48 ID:???
あれでわからないなら無理じゃない?

マニュアルで不明な引数はソースみれば判明する

278 :nobodyさん:2014/11/21(金) 22:34:10.89 ID:???
>>274-276
https://github.com/laravel/docs
お前等のコントリビュート待ってるぜ!

279 :nobodyさん:2014/11/22(土) 00:10:24.20 ID:???
リファレンス作ってる傍から、陳腐化していくからw

280 :nobodyさん:2014/11/22(土) 01:41:39.62 ID:???
Laravel recipes も見なきゃいかんよ

281 :nobodyさん:2014/11/22(土) 02:15:39.41 ID:???
困ったときはソース見て大体何とかなるから良いよな。
マニュアルは英語だからよくわからんしw

282 :nobodyさん:2014/11/22(土) 11:11:27.08 ID:???
バリデーションのactive_url正しく動作しないじゃん。
checkdnsrrでDNSのチェックしてるだけかこれ。

っていうかDNSで名前解決しないサイトって何なんだ?
CDNかなんかでも噛ませてんのかな?

283 :nobodyさん:2014/11/24(月) 20:06:02.69 ID:2ZXXtFiK
フォーム作るときlaravelのメソッド使う?
それとも普通にhtml使う?どっちがいいとかあるのかな

284 :nobodyさん:2014/11/24(月) 22:32:27.29 ID:???
管理画面ならメソッド、ユーザー画面ならhtml
あとはデザイナーにませるから

素のhtmlでもwithInput()あるから制御できるし

285 :nobodyさん:2014/11/25(火) 18:46:44.27 ID:???
一部の機能(formのhiddenとか)だけlaravelのメソッドを使うソースとか見たことあるな。

286 :nobodyさん:2014/11/29(土) 12:53:42.96 ID:???
用意された関数はひたすら使う。
これがプロのフレームワーカー

287 :nobodyさん:2014/12/01(月) 20:59:13.93 ID:???
エロクアントって、どこにアクセントがくるの?

288 :nobodyさん:2014/12/04(木) 14:04:08.85 ID:???
ららべるをメインに扱うようになった会社増えたね。
どうやら日本でも定着しそうだ。
海外のトレンドが日本でも定着するスピードが早くなった気がする。

ただしPython、お前は別だ!

289 :nobodyさん:2014/12/04(木) 19:54:30.97 ID:???
>>ららべるをメインに扱うようになった会社増えたね。

ソースは?

290 :nobodyさん:2014/12/05(金) 00:23:21.24 ID:???
いや、個人的に周りの会社がってことだけどw
新規案件から指定がなければララベルってとこ増えとる

291 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 20:55:42.88 ID:???
これ別に、特筆して他のフレームワークより使いやすいってこともないね。
フォーム関連は便利かなってくらい。

まあ元々フレームワーク使う人は自分で何でも作るだろうから、
導入とアップデートが楽ってのが一番のポイントなのかな?

292 :名無しさん@そうだ選挙に行こう:2014/12/14(日) 16:57:08.49 ID:???
>>291
同意。

ところで5.0はまだかな?

293 :nobodyさん:2014/12/16(火) 18:48:12.47 ID:???
データベースのクエリはCache::putできねーのか。

「キャッシュにアイテムを保存するのは、実に簡単です」とか余計なこと書く前に、
こういうことも書いといてほしいな。
それかエラーメッセージでそれとわかるように表示してほしいわ。

実用的なまとめ本の出版が待たれる。

294 :nobodyさん:2015/01/03(土) 16:17:38.33 ID:???
情報少ないって声が多いからブログに解説書こうかとも思うけど、
5.0で豪快に変わりそうだから書く気起こらんなw

4系って、結局どれくらいの期間もったの?

295 :nobodyさん:2015/01/05(月) 13:19:43.43 ID:???
Laravel4.2 始めたばかりです。
テーブルのupdateしようとしたらupdated_atがないとエラーが出たので
public $timestamps = false; をモデルに書けば怒られないとのこと。
それでも怒られました、updated_atを追加して動きましたが今後は追加したくない。
キャッシュか何か残ってるのでしょうか。

296 :nobodyさん:2015/01/05(月) 20:41:48.93 ID:???
エロクアントで書き込むときはupdated_atと更新用のテーブル(名前ぐぐるのめんどいw)は
必須でっせ。

自動で更新日と作成日が追加される。
rowとかでSQL書けば必要ない。

297 :nobodyさん:2015/01/07(水) 00:06:16.35 ID:???
モデルじゃなくてmigrationファイルじゃなかったっけ?

298 :nobodyさん:2015/01/07(水) 22:29:04.55 ID:???
なんでlaravel.jpとlaravel.tokyoがあるんですか?

299 :nobodyさん:2015/01/08(木) 19:24:00.30 ID:???
新しい解説サイト(個人的にすげー見にくい)や、レシピサイトもあるやで。
あと青っぽい解説サイトもある。

全部バラバラの謎。

300 :nobodyさん:2015/01/08(木) 20:12:17.98 ID:BWcux7KG
知らんうちにフォーラムが.tokyoのほうにあるみたいだけど
開設当初.jpのサブドメインじゃなかったっけ?

わざわざ分裂させて何がしたいの?
せっかく流行ってきたのに銭の臭いがしていやんな感じですわ

301 :nobodyさん:2015/01/08(木) 23:35:20.11 ID:???
銭なんて大して稼げんやろ。
WordPressとかならまだしも、フレームワークじゃ。

たぶん海外のこの仕組欲しいな。あのサイトに作ってくれないかな。
まあ頼むくらいなら自分で作れるからさくっと作ろう。

って感じのエンジニア特有のコミュ症が発症した結果だと思う。

302 :nobodyさん:2015/01/09(金) 04:01:26.76 ID:???
tokyoの方初めて知ったよ
問答無用でSE鳴らしたり:hoverでリンクの文字サイズ変えるとか何時の時代だよ
公式じゃなきゃLaravelのアイコン外して欲しい

303 :nobodyさん:2015/01/09(金) 12:22:38.64 ID:???
>>302
わかるwいきなり音なってびっくりした後に
「Laravelは最も洗練されたPHPフレームワークです。」 の文字見つけてイラッとしたw

304 :nobodyさん:2015/01/09(金) 13:16:04.11 ID:???
高度なネガキャン

305 :nobodyさん:2015/01/12(月) 14:52:31.57 ID:???
すいません質問なのですが、http://readouble.com/laravel/4/2/0/ja/quick.htmlの手順どおりに
php artisan migrateを実行すると下記のようなエラーがでてしまいます
[PDOException]
SQLSTATE[42000] [1044] Access denied for user ''@'localhost' to database 'f
orge'
環境が行けないのかと思いmampからhomesteadに変えたり試したのですがダメでした
エラーメッセージを見るにアクセスが拒否されたとのことなので、どこかで設定等しなければならないのでしょうか?

306 :nobodyさん:2015/01/13(火) 08:49:52.50 ID:???
テンプレートの画面出を変数に取得する方法がみつからない

307 :nobodyさん:2015/01/13(火) 10:29:57.22 ID:???
$output = View::make('xxx.yyy')->render();
とかじゃないのか?

308 :nobodyさん:2015/01/16(金) 05:40:41.40 ID:???
>>305
やや亀だけど
databaseの設定が間違ってるかも

app/config/database.phpのl設定を直すか、
手っ取りばやく試したいならdefaultをsqliteにすれば良いはず

309 :nobodyさん:2015/01/16(金) 21:33:27.42 ID:???
>>308
ありがとうございます
sqliteにしてみたら上手く行きました

310 :nobodyさん:2015/01/21(水) 20:48:53.66 ID:???
5来ないね
なんかごっそり変わるらしいけど、どうなんかね?
ちょこっと使いやすくするためだけに、それ以上の学習コストかかるようなアップデート無いことを祈る

311 :nobodyさん:2015/01/23(金) 00:52:08.86 ID:???
5 待ってるのになぁ

312 :nobodyさん:2015/01/24(土) 21:56:53.43 ID:???
artisanを触っててふと思ったのですが「php artisan up」や「php artisan down」は
一体どこで設定を保持しているのでしょうか。
app/storage内を見てもそれらしきファイルが見当たらなかったので質問させていただきました。

Laravelのバージョンは4.2.16です。

313 :nobodyさん:2015/01/25(日) 10:39:45.33 ID:???
https://github.com/laravel/framework/blob/4.2/src/Illuminate/Foundation/Console/UpCommand.php#L26
https://github.com/laravel/framework/blob/4.2/src/Illuminate/Foundation/Application.php#L878
このへん見ると、app/storage/meta/down ってファイルがあるかどうかで判断してるな

314 :nobodyさん:2015/01/25(日) 11:11:49.94 ID:???
>>313
ありがとうございます。
ファイルの有無で判断しているのですね。 勉強になりました

315 :nobodyさん:2015/02/02(月) 13:38:44.84 ID:o4Pw8oBo
自分で作ったshapeってクラスのインスタンスをeloquentの製品モデルに持たせ、
製品モデルに座標値をsetしたらshapeのプロパティも変化し、
モデルの座標値をgetすればshapeの方から取ってくるようにしたい。
shapeを作るのはfillメソッドの中でやり、座標値の読み書きは
get[座標値名]AttributeとSet[座標値名]Attributeでやってるんだけど、どうにもうまくいかないのです。
てか、うまくいくんだけどモデルをsaveすると製品のテーブルでは座標値が全部0になっちゃう。
すごく苦しんでます。どなたかお知恵を!

316 :nobodyさん:2015/02/02(月) 18:08:46.80 ID:???
自己解決
どうもアクセサもしくはミューテータのあるアトリビュートは
toArrayの対象に含まれないようで
自前のtoArrayを作って追加したらおkですた
お騒がせスマソ

317 :nobodyさん:2015/02/02(月) 19:11:01.47 ID:???
自前のtoArrayも悪くないが attributesの対象を追加したり除いたりするメソッドがあった気がする

318 :nobodyさん:2015/02/02(月) 19:49:17.39 ID:???
$attributesに追加しちゃうと、対応するカラムが存在しない場合、save()とかエラーになる気がする

319 :nobodyさん:2015/02/02(月) 21:38:17.00 ID:???
>>318
今回はもともと対応するカラムが「ある」ケースなんですわ
そして普通にsaveするだけなら問題ない
でもtoArrayを通すと消えちゃうわけ

そういう意味ではこういう時ミューテータやアクセサを使うってのが
そもそも不適切なんだろうけど
特定アトリビュートが変化したとき副作用を起こさせる方法を
他に思いつかないんですわ
なんかいい方法あるかな?

320 :319:2015/02/02(月) 21:50:17.56 ID:???
今回はShapeクラスのオブジェクトを製品モデルのプロパティとして持たせたけど
Shapeをインターフェイスで書いて製品モデルに多重継承させるのが
きっとスジなんでしょうね
でもPHPのインターフェイスってなんか苦手でorz

321 :nobodyさん:2015/02/03(火) 00:25:39.98 ID:???
toArray()で出力して欲しいなら、追加した座標値名とやらを $appendsプロパティにセットする必要があるんじゃないかな
http://laravel.com/docs/4.2/eloquent の一番下にそんなような事が書いてある
ソースコードだと、
https://github.com/laravel/framework/blob/4.2/src/Illuminate/Database/Eloquent/Model.php#L2296
あたりかな

322 :319:2015/02/03(火) 00:35:19.74 ID:???
>>321
そこにも書いてあるけどappendsは
対応するカラムが「ない」時に使うものなんだよね
今回はそうじゃないのでスジ違いかなと思いつつ試してもみたけど
ダメだったんですわ
しかしアクセサの書き方を間違ってたせいかもしれないので
また今度試してみますわ、ありがとう

323 :nobodyさん:2015/02/03(火) 02:45:33.55 ID:???
Eloquent::$attributes に座標を入れずに保存してたりしてね

324 :nobodyさん:2015/02/05(木) 19:33:02.47 ID:???
5 出たね

325 :nobodyさん:2015/02/09(月) 08:58:34.49 ID:???
Single Table Inheritanceの機構を標準で持って欲しい
ほとんど必須だと思うんだけどなあ

326 :nobodyさん:2015/02/09(月) 15:34:13.36 ID:???
5出たけど、差分のドキュメントないからさっぱりわからんな。
動画は英語だし、テンポ遅くて見てらんないし。
まあまだ、これからかな。

327 :nobodyさん:2015/02/09(月) 21:12:58.22 ID:???
ハマりどころに関しての対応策とか、そういう情報もまだ少ないから様子見てる

328 :nobodyさん:2015/02/09(月) 21:24:27.44 ID:???
しかし4の情報は今後減っていくんだろうなあ
悩ましいところだ

329 :nobodyさん:2015/02/09(月) 21:59:40.15 ID:???
Laravel4.2からLaravel5に移行しています。

DBに関してなのですが、データベースを使用するときは use DB; をしないといけなくなったのでしょうか。
use DB; をしないと

Class 'App\Http\Controllers\hoge\DB' not found

と怒られてしまいます。

330 :nobodyさん:2015/02/09(月) 22:50:20.40 ID:???
>>329
そのファイルの先頭で、namespace App\Http\Controllers\hoge; って書いてあるからでしょ
\DB::xxx() と呼ぶか、use DB; するかかな
PHP自体の名前空間の勉強も必要かもね

331 :nobodyさん:2015/02/10(火) 07:27:55.80 ID:???
>>330
ありがとうございます。
名前空間に関しては調べてみます。
Laravel4.2の頃は余り意識せずに済んだので少し大変です。。

332 :nobodyさん:2015/02/12(木) 00:09:13.50 ID:???
Laravel4.2で動いてるのを5に移して動かしてみた
結構変わってるね、フォルダの把握とか名前空間とか(\DBのままでいいのかな)
一番ハマったのがAjax時のエラー、結果的にcsrf_token()を埋め込むだけなんだけど
Laravel初心者にはキツかった

333 :nobodyさん:2015/02/12(木) 05:17:29.55 ID:???
5になって、何が良くなったんですか?
スピード?
可読性?
機能UP?

334 :nobodyさん:2015/02/12(木) 18:35:12.16 ID:???
なんで差分ドキュメントないんだ?w

335 :nobodyさん:2015/02/17(火) 16:07:57.42 ID:???
差分ドキュメントってどういうの?

336 :nobodyさん:2015/02/18(水) 05:13:00.01 ID:???
まじで聞いてんのか?

337 :nobodyさん:2015/02/19(木) 08:51:22.88 ID:???
CentOS6で動かしてる人います?
PHP5.4以上って意外とハードル高いと思うんだけど
みなさんどうしてるんだろう・・・
ちなみに俺はremiを使ってるんだけど
yumに自動アップデートさせてたら今日おかしくなってしまった
やはり非標準レポは怖いということか
それとも他に要因があるのか
はぁまじ()

338 :337:2015/02/19(木) 12:01:18.73 ID:???
自己解決
NetBeansのデバッグセッションを終了してなかったので
CLI含めてPHPからの出力が全てリダイレクトされてた
そうするとyum updateの対象にPHP関連が含まれてる場合
(というか多分更新にPHP自身の動作が必要な場合)
yumが無言で止まってしまうんですな
こんなことで凄い時間を使ってしまったorz

339 :nobodyさん:2015/02/19(木) 22:46:13.64 ID:???
5になってモデルをどこに置くか困る

340 :nobodyさん:2015/02/19(木) 23:05:44.78 ID:???
>>337
5.4の公式サポートも今年の9月で終わるのに大変だな(´・ω・`)

341 :nobodyさん:2015/02/20(金) 00:04:49.39 ID:???
remi で 5.4 使ってるってことは、
remi には remi-php55 と remi-php56 っていうレポジトリが別にあるの知らないのか
/etc/yum.repos.d/remi.repo.rpmnew 見れば設定が書いてあるだろうから、
/etc/yum.repos.d/remi.repo に必要なところをコピーすれば使える

342 :nobodyさん:2015/02/20(金) 00:35:27.12 ID:???
全部公式のパッケージ使うのなんて、むしろ稀でしょ。
導入時は一番最新のにしといて、あとはテコでもバージョンアップしないのがプロ。

343 :nobodyさん:2015/02/20(金) 00:47:27.58 ID:???
最近PHPのリリースサイクルも早いし
標準パッケージで最新版かその前のくらいに追い付けるディストロに乗り換えたい

344 :337:2015/02/20(金) 06:19:04.20 ID:???
>>341
php関連ライブラリ(具体的にはphp-seclib-*)の
アップデートも削除もできないようになっちゃったんだからどうしようもない
とパニクっちゃった次第ですわ
PHP5.4自体の削除はできても55や56を入れようとすると依存関係で跳ねられるわけわけ
原因がバージョン云々ではなくxdebugセッションの終了し忘れにあったことは前述の通り(お粗末)

まあ今回の案件の実稼働環境はイントラのwindowsサーバなので
直接関係ないんだけどね
そっちはそっちでXampp(php5.6)上のLaravel4だとApacheがコケる
という問題が出てたりする
環境依存っぽいしphp5.4のWampなら大丈夫だから
何とかなると踏んでるんだけど気になるっちゃーなる

345 :nobodyさん:2015/02/21(土) 00:08:58.45 ID:???
belongsToのリレーションを持つモデルをセッションに保存しておいて
それを取り出すと
ちゃんと正しいクラスのオブジェクトではあるのに
リレーションが取得できない状態になるんだな
$my_model = new MyModel(Session::get('my_model_name')->toArray());
等とすれば大丈夫

これ仕様なんだろうけどバグといえるレベルなんじゃないかと
ちなみに4.2

346 :nobodyさん:2015/02/21(土) 01:28:48.87 ID:???
リレーションが取得できない状態というのがよく分からん

347 :nobodyさん:2015/02/21(土) 01:55:17.54 ID:???
>>345
4.2で試したけど普通にリレーション取れたよ
ダメな状況がわからん

348 :nobodyさん:2015/02/21(土) 03:03:33.50 ID:???
名前じゃね?
4.1の頃の話だけど、モデル名にアンダーバーが使われてるリレーション貼ると取れなかったり
値をセットできなくなったりした
シンプルな post 1-N comments なら相互に取れるんだけど
post 1-N user_comments だと ダメになったりした

349 :nobodyさん:2015/02/21(土) 06:49:59.51 ID:???
>>347
モデルをテーブルには未セーブ、つまりIDがない状態でセッションに入れるとどう?
IDがないとhasOneはもちろん無理だけどbelongsToは可能
それがセッション通過後だとnullになっちゃう
>>349
名前か、確かにリレーションは複合語ばっかりだからあるかも

350 :nobodyさん:2015/02/21(土) 09:32:53.33 ID:???
Laravel5日本語マニュアルをローカルPC
にダウンロードしたいのですが、丸ごとダウンロードはできるのでしょうか?

351 :nobodyさん:2015/02/21(土) 16:05:00.49 ID:???
>>349
未保存でそのままセッションに入れて別ページで取ってみたけど、問題なくbelongsTo先は取れたよ。
アンダーバー有りは試してないからそれかもね。

352 :nobodyさん:2015/02/21(土) 19:36:35.56 ID:???
モデル名に複合語つかってると、前者と後者のモデルの区切りを識別できないのかね?
なんかおかしな挙動になったのは覚えてる

353 :349:2015/02/21(土) 19:42:37.54 ID:???
>>351
検証ありがとう。でも名前は関係無いようだ。そしてSessionも直接は無関係っぽい。
やっとちょっと整理できた気がするのでまとめます。長文容赦。

例としてUserとPhoneの関係。普通にPhone::userがbelongsTo('User')とします。
[ケース1]
$phone = new Phone();
$phone->user_id = 1;
$user = $phone->user;
return $user;

[ケース2]
$phone = new Phone();
$dummy = $phone->user;
$phone->user_id = 1;
$user = $phone->user;
return $user;

ケース1との違いは2行目が増えているだけ。もちろん$dummyにはnullが入ります。
で、結果はケース1だと普通に$userの内容が出力され、ケース2はnullが返ります。
つまり一度でも空っぽのリレーションを参照してしまうと、その後はキーの値を代入してもリレーションが作られない。
もちろん代入じゃなくてfillでも同じです。
fillや代入じゃなくてちゃんとassociateすれば大丈夫。
普通はfillの後saveして遷移するから、テーブルからの再取得時にリレーションができてめでたしとなるわけだけど、
セッションで引き継いでしまうとキーの代入やfillでは永久にリレーションができなくなってしまう。
結構イヤな挙動だと思いませんか?

354 :nobodyさん:2015/02/21(土) 23:53:54.67 ID:???
>>353
使い方が悪い

> When updating a belongsTo relationship, you may use the associate method.

355 :nobodyさん:2015/02/22(日) 02:00:36.90 ID:???
Laravelは(というかORMのEloquentは)
$phone->user とか未定義のプロパティにアクセスした際に走る __get, __set をオーバーロードして
Laravelのあの魔化不思議な動きを実装してる

具体的には、$phone->user とした時点で以下の動作が走る
プロパティ user の存在をチェック (PHPの動き)
- userプロパティが存在したら そのまま userプロパティの内容を戻す これはPHPの言語仕様でオーバーロードとかは一切できない
- userプロパティが存在しなかったら __get マジックメソッドが走る

で マジックメソッドはLaravel側でオーバーロードされていて 以下の処理をしている

- リレーションの有無をチェック
- リレーションが存在したら user_id の存在を確認する
- user_id も存在しなかったら userプロパティに null をセットした上で、そのnull を戻す
- user_id が存在して値が入っていたら select * from user where user_id = 1 が走った上で
  userプロパティには userオブジェクトが格納し、その上でuserオブジェクトを戻す

キモは すでに存在するいプロパティにアクセスした時に効かせられるフックはPHPに存在しない って話。
ケース2では、すでに一度 $dummy = $phone->user;  でアクセスし、この時点でuserプロパティが 内容null で作られてしまってる。

user_id をいじったら user の内容も連動して変わるってのは錯覚だって話なのよね。
初回だけマジックメソッドの効果でそう動いてるように見えるから混乱する。

user, user_id が共にセットされた後、つまりプロパティが作られた後は user_id を変えただけでは userの内容は自動的には変わらない。
さっき言ったように、すでに存在するプロパティにアクセスした時に効かせられるフックはPHPに存在しないから。
だから
$user = User::find(2);
$phone->user = $user;
とした後に、 $phone->user_id = 1; としても $phone->user の内容は自動的には変わらないし変えることも出来ない。

ただ、saveとか一旦すると user_id の値がDBに保存されて、次 またuser を再取得するときは user_id 1 のオブジェクトが戻されるため
いかにも自動的に変わったように錯覚してしまう。

356 :nobodyさん:2015/02/22(日) 05:14:46.77 ID:???
オブジェクトをセッションに保存するなら、そのオブジェクトのIDだけ保存した方がいい

357 :nobodyさん:2015/02/22(日) 08:11:55.44 ID:???
>>355
丁寧にありがとう。
・null値も「存在するプロパティ」の扱いになる
・存在確認のために参照するだけでnull値が入る
というあたりがなんともモヤモヤするところではありますな。言語仕様的に。

「セッションにモデルを持って複数フォームで順次更新、最後にテーブルへ書き込み」
という流れは割と普通にやりたくなるところだと思うけど、
それはあんまりLaravelish wayではないということなのでしょう。

__wakeupをオーバーライドしてリレーションを取得させるようにすれば
テーブルへの書き込み->読み出しを経た場合と挙動が近くなると思うんだけど、
そう簡単なもんでもないのかな。

358 :nobodyさん:2015/02/22(日) 08:26:28.55 ID:???
というか未定義プロパティにアクセスした時にnull値をセットしてるのがマジックメソッドの中でなら、
それをやめてくれるだけでいいのか。
そうすれば少なくとも初回のキー値代入で常にリレーションはできることになる。

359 :nobodyさん:2015/02/22(日) 10:23:22.99 ID:???
毎回取得してたら遅くなるから、一旦内部で保持しちゃうのかな
とりあえず、後から
$phone->user_id = 1;
としたら、その直後に
$phone->load('user');
ってすればいいなら許容範囲な仕様だと思うけどね

360 :nobodyさん:2015/02/22(日) 10:45:25.93 ID:???
>>359
わかってしまえば対処は楽なんですけどね。
新規作成はnew Model(Input::all())で問題ないから、
更新もfill(Input::all())で済ませたくなる。
で、その前にリレーションを一度も参照してなければなまじ動いてしまうもんだから
すっかり混乱してしまった次第。
こんなんで丸一日とか潰れちゃうんだよな・・・orz

361 :nobodyさん:2015/02/22(日) 11:09:10.22 ID:???
公式ドキュメントのdynamic properties

362 :nobodyさん:2015/02/22(日) 11:09:50.07 ID:???
のところに、この説明があってもいいかもしれない

363 :nobodyさん:2015/02/22(日) 13:25:02.78 ID:???
modelとcontrollerの書き方について教えていただけませんか。
特定の条件を入力して検索機能を作る場合、zendだとmodelにwhere文からfetchまでを書いてreturnすると思うのですが、
larabelではコントローラーで条件を書くのでしょうか?
↓こんな感じであってますか?

class Controroller extends BaseController {
public function anyIndex()
{
$query = new Model;
$query = query->leftJoin('sample', 'sample', '=', 'sample');
$query = query->where('sample', '=', 'sample');
$query->get();
}
}

class Model extends Eloquent {
protected $table = 'sample';
}

364 :nobodyさん:2015/02/22(日) 17:15:47.93 ID:???
60まで
現役通せ
プログラマ

365 :364:2015/02/22(日) 17:16:21.11 ID:???
まちがえた。ごめん。

366 :nobodyさん:2015/02/24(火) 00:08:41.73 ID:???
>>363
別に唯一正しいやり方はないし簡単なクエリーならControllerで組み立てても問題ない
Eloquentの使い方についてはドキュメント読んだほうがいい
http://readouble.com/laravel/5/0/dev/ja/eloquent.html


複雑なクエリーをテストしたかったり他のアクションで再利用したかったり
コードを整理したりしたいならクエリースコープ使えばいいんじゃない
http://readouble.com/laravel/5/0/dev/ja/eloquent.html#query-scopes

class SearchController extends BaseController {
public function getIndex()
{
$condition1 = Input::get('hoge');
$condition2 = Input::get('fuga');
//入力値チェックなどしてから
$models = Model::search($condition1, $condition2)->get();
}
}

class Model extends Eloquent {
public function scopeSearch($query, $condition1, $condition2)
{
return $query->whereHoge($condition1)->whereFuga($condtion2);
}
}

ORMはオブジェクトありきで裏のRDBの存在をあまり意識しないで済むようにするための道具
SQLに近いコードが書きたいならクエリービルダーのほうが向いてるかもね
http://laravel.com/docs/5.0/queries

367 :nobodyさん:2015/02/25(水) 05:17:57.32 ID:???
>>355
これめっちゃハマりどころじゃね?
普通きづかんだろ

368 :nobodyさん:2015/02/26(木) 05:39:51.70 ID:???
>>367
リレーションの仕様を理解していないだけの話だよ
そもそもプロパティなんて作らん、リレーションのキャッシュが働いているだけだ

369 :nobodyさん:2015/02/26(木) 07:39:22.64 ID:???
裏で何が起きてるのか理解してないと使えないような機能なら
公式ドキュメントのよっぽど目立つところにそういう説明がないと
まあ普通にハマる人は出るわね
結果「使えねーフレームワーク」という評価が広まることにもなるかと
実際俺はそうなりかけてたよ

370 :nobodyさん:2015/02/26(木) 15:28:44.52 ID:???
公式ドキュメントはほんとうに最小限の事しか書いてないから
暇な奴は https://github.com/laravel/docs にPR出してくれ

371 :nobodyさん:2015/02/26(木) 19:22:36.53 ID:???
>>368
リレーションをプロパティ(PHPのプロパティでもあるしLarvelのDynamicPropertyでもある)を使って実装してる

372 :nobodyさん:2015/02/26(木) 20:40:12.95 ID:???
>>371
何を言いたいのか判らんけど間違ってるのはここ

>>355
> プロパティ user の存在をチェック (PHPの動き)
> - userプロパティが存在したら そのまま userプロパティの内容を戻す これはPHPの言語仕様でオーバーロードとかは一切できない

> - user_id が存在して値が入っていたら select * from user where user_id = 1 が走った上で
>  userプロパティには userオブジェクトが格納し、その上でuserオブジェクトを戻す
>
> キモは すでに存在するいプロパティにアクセスした時に効かせられるフックはPHPに存在しない って話。
> ケース2では、すでに一度 $dummy = $phone->user;  でアクセスし、この時点でuserプロパティが 内容null で作られてしまってる。

373 :nobodyさん:2015/02/26(木) 20:51:46.90 ID:???
引用が長くてどこが「ここ」なのかよくわからんけど
「未設定リレーションを参照するとnull値が設定されて
その後はキー値を代入してもリレーションは取得されない」
という挙動が言語仕様的に不可避じゃないなら
ぜひとも解消してほしいところかな
原状、リレーションのプロパティがいつ設定されるのか見ようとして
デバッガでウォッチしてるといつまでもできないんだよね
ウォッチも参照だから先にnullが入っちゃうわけ
デバッガ通すと挙動が変わるってのは少なくとも開発に優しくはないと思うよ

374 :nobodyさん:2015/02/26(木) 21:55:13.04 ID:???
>>373
なんで>>355みたいな事言ってたのか判った気がするわ
$relationsがキャッシュの入れ物なのに他のプロパティ監視しててもブレークする訳ないさ
一度Modelのソースを読んだ方がいいよ

375 :nobodyさん:2015/02/26(木) 23:36:59.44 ID:???
話にならんな
俺は355じゃないし
ソース読まないと使えないようなフレームワークなりライブラリは
そもそも使う気にならんという
ごくヘタレなプログラマでしかないよ

Laravelの開発者もユーザーに「一度ソース読んでみたら」
なんて平気で言うような「情強」じゃないことを切に祈るわ

まあでも元MSの人なんだっけ?
じゃ典型的な「情強」()なんだろうなきっとw

376 :nobodyさん:2015/02/26(木) 23:58:46.58 ID:???
ソース読まなくていいフレームワークを教えて欲しい
あればそれを使いたい

377 :nobodyさん:2015/02/26(木) 23:59:53.62 ID:???
真面目な話、.Netとかみんな読んでんの?

378 :nobodyさん:2015/02/27(金) 00:32:24.44 ID:???
罵り合い的なのは良くないな
この問題にどう対処するかの実際のとこが知りたい
ってことでざっと Eloquent/Model.php まわり読んでみたけど
>>355 の解釈であってるように見えた

__get をオーバライドして、メソッド setAttribute を呼び出してる。
setAttribute内で呼び出しプロパティ名をメタプログラミング的にメソッド呼び出ししてる。
hoge->user; だと user() が呼ばれるようになってる。
それがたまたま以下の様な リレーション定義だと BelongsToオブジェクトが戻されてる(Userじゃない)。
fucntion user() { return $this->belongsTo("User") };

protected な $relations って変数もあってリレーション作る度に そこに配列として格納されてるけど、
以降 hoge->user にアクセスした際は、$relations は見ずに やっぱ単にプロパティにアクセスされて
先述のBelongsToオブジェクトが戻ってるように見える。
っていうか hoge->user にアクセスした際に、その都度、 $relations の中身を戻すのって
原理的に出来るのかな?
もっというとプロパティを呼んだ時に、メソッド呼び出しに置き換えられるのかなって話になるのか。
でもそれ出来るなら >>353 みたいな問題おこらんよう気も・・・

379 :nobodyさん:2015/02/27(金) 00:43:08.87 ID:???
まだ検証してないけど
hoge->user というプロパティ形式じゃなくて
hoge->user() で必ずメソッド形式で呼ぶといいのかも
副作用があるかもしれんがw

380 :nobodyさん:2015/02/27(金) 01:16:35.66 ID:???
>>379
それは大丈夫だろうなあ
検証してないけど

381 :nobodyさん:2015/03/04(水) 19:29:49.84 ID:???
イマイチ名前空間についてが理解できん。
書かなくても動くのと、動かないのがあるのは何でなんだぜ?

382 :nobodyさん:2015/03/04(水) 22:11:48.61 ID:???
それだけ言われてもな
他の主流な言語の名前空間とだいたい同じだし

383 :nobodyさん:2015/03/04(水) 22:22:31.53 ID:???
useで名前空間を指定していても
変数名にクラス名を入れてnew $class_nameなんてやるときは
フルパスを入れないとダメなんだよな
かなりもにょる仕様だと思った

384 :nobodyさん:2015/03/05(木) 04:11:22.76 ID:???
Javaとかの名前空間と確かに違う気がする

385 :nobodyさん:2015/03/05(木) 08:44:43.47 ID:???
ワイルドカードによる指定ができないのは結構痛いかも

386 :nobodyさん:2015/03/05(木) 09:01:09.61 ID:???
変な仕様ではあるね。ないよりマシだけど
https://pornel.net/phpns

387 :nobodyさん:2015/03/06(金) 08:28:20.62 ID:???
>>381
もしかしてエイリアスが定義されているかどうかって話?
https://github.com/laravel/laravel/blob/master/config/app.php#L163-L194

388 :nobodyさん:2015/03/06(金) 22:53:23.63 ID:???
エイリアスは登録してるんだけど、
カスタムコマンド作ったりすると、結局書かないと動かないでしょ。
どっかで他にも設定するところあるの?

389 :nobodyさん:2015/03/07(土) 05:27:23.68 ID:???
動かないパターンの具体例が無いと答えられる人いないんじゃないか?

390 :nobodyさん:2015/03/07(土) 19:02:45.35 ID:???
ドメインキングとかいう糞鯖だからssh使えないんだけど、sshなしじゃデプロイできないよね?
試しにディレクトリ全部ftpでアップロードしてみたけど動かなかった

391 :nobodyさん:2015/03/07(土) 19:04:31.40 ID:???
>>390
herokuを使ってみます

392 :nobodyさん:2015/03/07(土) 19:29:12.55 ID:???
ファイル全部ありゃ動くと思うがな
まさかapp/storageのパーミッションを設定してないとか

393 :363:2015/03/07(土) 21:16:38.31 ID:???
>>366
すみません、凄い遅レスなんですが、返信ありがとうございます。

394 :nobodyさん:2015/03/08(日) 07:53:33.90 ID:???
ドメインキングって調べたらPHPが5.3だな
LaravelはPHP5.4以上が必要

395 :nobodyさん:2015/03/08(日) 08:45:05.45 ID:???
5.3ってサポート切れてるんじゃね

396 :nobodyさん:2015/03/08(日) 08:54:59.54 ID:???
5.3系のバージョンアップはもうないって意味ならそのとおりだが
XPとかのサポート切れとはまた意味が違う気がする
安定しててセキュリティに問題がなく新機能が不要なら
ずっとそのまま運用して別に問題ないんじゃね?

397 :nobodyさん:2015/03/08(日) 10:24:05.96 ID:???
脆弱性が発見された時に、詳しい人がすぐに対応できる体制が整ってるならいいんだろうね

398 :nobodyさん:2015/03/08(日) 11:53:10.98 ID:???
そもそも無料なんだから問題出たら5.4以上に移行してね、で済む話ではあるんだがな
移行にあたって互換性の問題がある?そもそも無料なんで我慢してね、って話でもあるし
そもそも無料なんだからサポートってなにそれ美味しいの?って話でもある

399 :nobodyさん:2015/03/08(日) 16:20:17.93 ID:???
>>394
わざわざ調べていただきありがとうございました

400 :nobodyさん:2015/03/08(日) 20:52:00.32 ID:???
なぁーにいいってことよ。俺じゃないけど

401 :nobodyさん:2015/03/10(火) 09:41:59.59 ID:???
Laravel5のスケジュール機能ってWindowsではどうなるんだ?
ちょっと調べた範囲じゃcronの話しか見つからなかった

402 :nobodyさん:2015/03/10(火) 22:05:06.53 ID:???
さすがにWindowsは対象外じゃね
誰かが 記述はそのままに、 Windowsのタスク機能を呼び出すようにするプラグインは書いてくれるかもだが

403 :nobodyさん:2015/03/11(水) 08:39:16.04 ID:???
いやcronやタスクスケジューラから呼ばれる側の立場だろ

Windowsでも日に一度より多いタスクを定義できるようだが
普通にやってできないのは痛いな
あと5分置きとか可能なのかはわからん

404 :nobodyさん:2015/03/11(水) 22:09:46.54 ID:???
WordPressみたいにアクセスされたのをトリガーにする擬似cronってのもあるからね。
いや、調べてないから全然わからんけど。

405 :nobodyさん:2015/03/12(木) 08:34:54.59 ID:???
重い処理を夜中にやっときたい
とかって需要だと
アクセスされたタイミングでしか動かないのは困るな

Windowsサーバなんて排除の方向なら
それはそれで異論ないがね

406 :nobodyさん:2015/03/12(木) 10:55:20.92 ID:???
Laravelのコマンドとして作っておけば、Windowsのタスクスケジューラ的な機能でそのコマンドを実行させるのは大した話しではないような

407 :nobodyさん:2015/03/12(木) 23:46:46.31 ID:8bLDlGtb
今更Laravel4入れるのって、出来ますか?

本やサイトやVagrantやら、みんな入れたら5になっちゃうんですが…

408 :nobodyさん:2015/03/12(木) 23:55:49.66 ID:???
レン鯖のPHP古いの多いからなー
4.1 まででないと動かないとこ多いよな・・・ムカつくぜ

でも 普通に composer.json で Laravelのバージョン指定すればいいだけじゃね

409 :nobodyさん:2015/03/13(金) 10:06:09.37 ID:???
>>406
タスクをひとつずつ登録するんじゃ楽しくないわけよ
5分ごとのcron一つ作ればあとはLaravel側で済む
ってのが売りだからさ

410 :nobodyさん:2015/03/13(金) 13:41:13.50 ID:???
じゃあその一つをWindowsのタスクに登録すればいいんじゃないの

411 :nobodyさん:2015/03/13(金) 14:22:49.35 ID:???
普通には5分置きなんて設定できんだろ?
って話

412 :nobodyさん:2015/03/13(金) 14:34:49.22 ID:???
>>410
すまん、少なくとも7以降ならできるようだな
お騒がせしたわ消えるわ

413 :nobodyさん:2015/03/13(金) 21:23:30.85 ID:???
Laravelを基礎から覚えたいんですが、書籍がないんですよね・・・
電子書籍は内容的に今一つだし・・・

流行るのかなLaravel・・・

414 :nobodyさん:2015/03/13(金) 21:33:09.54 ID:???
海の向こうでは大流行だよ

415 :nobodyさん:2015/03/13(金) 21:43:37.69 ID:???
技術系フォーラムで話題になった回数ナンバーワン
っていう記事を見て使い始めたけど
使いこなせない人が質問してる回数ナンバーワン
ってことじゃないのかと思い始めた

416 :nobodyさん:2015/03/13(金) 21:45:04.71 ID:???
まずは公式ドキュメントを一通り読むのがいいと思う

417 :nobodyさん:2015/03/14(土) 01:58:01.51 ID:???
その先がないんだよな
API見てもインターフェースだけで動作内容が書いてないし

418 :nobodyさん:2015/03/14(土) 04:21:54.62 ID:???
とりあえずなんか作りながら必要になった情報探してく感じでやってるから、あんま不便に感じたことないな。
困ったらドキュメントとかソース見ればいいし。

419 :nobodyさん:2015/03/14(土) 10:08:56.08 ID:???
だね。
俺なんかはブログ形式のサンプルをgitから探してソース読み読み勉強した。
手取り足取り解説して欲しいけど、まあそれは書籍になってからって感じだね。

これとか
https://github.com/ytake/Tutorial.Laravel4

420 :nobodyさん:2015/03/14(土) 15:09:56.49 ID:???
laravelは他のフレームワークと比べてどこか優れていて、
流行っているんですか?

421 :nobodyさん:2015/03/14(土) 15:55:01.98 ID:???
凄く手抜きができそうな印象を与えてくれるところかな
実際には手抜きするために従わなきゃならないルールが多くて結構大変な印象
まあ慣れたら楽になるんだろうけど

422 :nobodyさん:2015/03/14(土) 18:57:35.76 ID:???
フォームとか、クッキーとか、セッションとか、認証とか、バリデーションとか、エラー処理とか
その辺全部簡単に実装できる。
ルーティングもページングも簡単だし。

だけど>>421が言うように手抜きの方法を覚えるのがめんどう。
「1から実装するよりは簡単だろ」と言われそうだけど、
慣れてる処理なんかは1から書いたほうが楽なことが多々ある。
特にブレードテンプレートなんかは地雷。

でも全体的に使いやすいよ。
慣れると何でもカスタマイズできるし。

423 :nobodyさん:2015/03/14(土) 19:38:51.44 ID:???
bladeの中でもちゃんとデバッガが動いてくれりゃいいんだけどな
まあViewには極力ロジックを書かないのがBest Practiceだから筋違いなんだけどさ
継承とかセクションの書き方も最初は厄介なものがあるけど
ちゃんと使うと凄い楽できるよね

424 :nobodyさん:2015/03/14(土) 23:05:04.08 ID:???
>>421
>>422
参考になるレスありがとうございます
助かります

425 :nobodyさん:2015/03/15(日) 16:45:05.27 ID:???
>フォームとか、クッキーとか、セッションとか、認証とか、バリデーションとか、エラー処理とか
>その辺全部簡単に実装できる。

ほとんどのフレームワークなら全部簡単に実装できそうだけど。。。

Ver5から、フォームは非標準になったようですね。

426 :nobodyさん:2015/03/16(月) 12:48:23.21 ID:???
本でるってよ。ツイッターとかで誰かが言ってた。

427 :nobodyさん:2015/03/16(月) 18:34:00.72 ID:???
本楽しみ、バージョン4かな5かな

428 :nobodyさん:2015/03/17(火) 17:21:22.73 ID:???
lolipopのチカッパプランで動作確認出来た。

429 :nobodyさん:2015/03/20(金) 02:23:45.03 ID:???
日本で一番有名なLaravelerって誰?

430 :nobodyさん:2015/03/20(金) 05:44:35.08 ID:???
公式ドキュメントを一括ダウンロードしたいです。
できれば日本語版がいいです。

URLや方法がありましたら教えてください。

431 :nobodyさん:2015/03/23(月) 14:40:56.39 ID:???
いろんなやり方でできるのはいいけど
用途や規模によってどれが望ましいとかおすすめしないとか
ある程度ドキュメントに指針がほしいわ
コントローラールートが楽だからってんで使い始めたけど
どうにも痒いところに手が届かずイライラするばかり
で、いろいろ検索したら「可読性を下げるだけ、使うな」の大合唱
そのうちなくなるかも、とか書かれてる始末
そんなもん初めから実装すんなっつーのよ

432 :nobodyさん:2015/03/23(月) 19:16:30.36 ID:???
>>431
そんなことをいちいちドキュメントに書かれたら、ドキュメントの
質が落ちると思うぞ。

いろんな方法から最適なものを選択する力がないなら、チュートリアル
通りに開発を進めるのが無難だろう。

433 :nobodyさん:2015/03/23(月) 20:10:55.89 ID:???
なんでいちいちそういう嫌味な言い方になるかね

434 :nobodyさん:2015/03/24(火) 04:35:40.04 ID:???
Laravelで書かれたお手本的なコードが欲しいね
RailsはGithubに山ほどあったからすげえ助かった

435 :nobodyさん:2015/03/24(火) 20:39:26.98 ID:???
探せばあるけど山ほどはないもんな

436 :nobodyさん:2015/03/25(水) 14:28:59.43 ID:???
新しい公式ドキュメント見難いよー
なんでサイドバーやめちゃったんだ
スマホで見てる奴なんてほとんどいないだろ…。
むしろもっとサイドバーにメニューたくさん表示してほしいくらいなのに。
アコーディオン式にすらなってないとかかんべんしてくれ

437 :nobodyさん:2015/03/25(水) 21:28:54.44 ID:???
>>436
もしかして: ブラウザの幅狭すぎ

438 :nobodyさん:2015/03/25(水) 22:07:15.94 ID:???
同意!

目次は隠れたり折りたたまれたりしないで、ページの上か左にフツーに表示して欲しい。

439 :nobodyさん:2015/04/01(水) 14:53:53.30 ID:???
laravel5への以降を試してる

{{ Form::open() }} で画面に生<form>タグ表示されるだがw

何がおまじないが足りない?

440 :nobodyさん:2015/04/01(水) 14:57:53.04 ID:???
>>439
あう、速攻で自己解決www

もっとドキュメント読み込まないと

441 :nobodyさん:2015/04/03(金) 19:38:00.60 ID:???
CodeIgniter 3 出たんだね!

442 :nobodyさん:2015/04/03(金) 19:48:58.26 ID:/u+q9gob
このフレームワーク重いから使うのやめた

443 :nobodyさん:2015/04/03(金) 20:06:02.67 ID:???
重いだろうなぁというのはリクエストのたびに処理するファイル数やマジックメソッドの嵐で分かるが
具体的にどんくらい遅かった? 気になる

444 :nobodyさん:2015/04/03(金) 20:58:39.43 ID:???
5ではブートアップが劇的に早くなってるよな
てか4でもデバッグモードやめれば早いんだが
5では常時compiled.phpを作るようになった
デバッグfalseでも重いってんなら知らん

445 :nobodyさん:2015/04/03(金) 21:49:56.51 ID:???
俺も、チュートリアルやってみて、クソ重いから止めた。
Eloquentなんて、重すぎて使い物にならない。

納品後に「応答遅すぎだ」なんて言われたら、対応できないもんな。

446 :nobodyさん:2015/04/03(金) 21:51:36.39 ID:???
そんな奴らがなんでこのスレにいるか、だな

447 :nobodyさん:2015/04/03(金) 23:08:27.59 ID:???
ちゃんとデバックモード切って、キャッシュ使えば早いよ。
むしろ他のどんなフレームワークより早いくらいだけど。

448 :nobodyさん:2015/04/04(土) 06:52:46.13 ID:???
こんなページ見っけた。

「2015年最新PHPフレームワーク(9つ)のベンチマーク」
http://blog.a-way-out.net/blog/2015/03/26/php-framework-benchmark/

449 :nobodyさん:2015/04/04(土) 07:31:21.91 ID:pNr6GXYK
そのベンチ、ありえないくらいlaravelだけおそいよ
メモリ512とか少ない環境でやってるんじゃないのかねー
会社の環境で動かすとfuelphpとかと大して変わらないんだけどな

450 :nobodyさん:2015/04/04(土) 09:42:48.78 ID:???
PHP遅いから使うのやめたわ

451 :nobodyさん:2015/04/04(土) 13:25:08.37 ID:???
PhalconってPHPじゃなくCで書いてあるんだな
そら速いわけだ
あのDAOみたいなORMはちょっと使う気にならんが

452 :nobodyさん:2015/04/05(日) 02:22:45.81 ID:???
ああ例のベンチかw

453 :nobodyさん:2015/04/09(木) 13:22:10.88 ID:jehHF/WR
つまりLaravelはメモリを大量消費するからコストがかかるってことか
それなりに良い環境で動かせない場合はLaravelは勧められないな

454 :nobodyさん:2015/04/17(金) 00:43:23.92 ID:???
Unread × 2 = So unreadable!!
2倍(Double)の読みにくさを!

455 :nobodyさん:2015/04/17(金) 13:33:03.90 ID:???
lumenキタなー
待ち望んでいたフレームワークだ
早速slimから移行しよ

456 :nobodyさん:2015/04/20(月) 13:12:29.98 ID:???
>>455
試してみた?
ある程度感触がつかめたらインプレよろ
直でLaravel使うのに比べて
どんなメリットがあるのかいまいちわからん

457 :nobodyさん:2015/04/21(火) 08:57:10.47 ID:???
独自仕様独自仕様で困るけど、
ぐぐると即効で解決策見つかるのがすごいな。
日本語の解説はほとんどないけどw

458 :nobodyさん:2015/04/21(火) 15:21:49.31 ID:???
>>456
laravelと比べてのメリットとなると軽いことぐらいなんじゃね?

459 :nobodyさん:2015/04/21(火) 16:14:48.24 ID:???
phpを使う理由が知りたい。
複雑で覚えにくくて初心者が扱いにくい言語という印象。

460 :nobodyさん:2015/04/21(火) 17:13:10.68 ID:???
言語論争はさすがにスレ違いやな
10年以上争い続けてるスレがあったはずだからそっちでやるといい

461 :nobodyさん:2015/04/21(火) 19:22:58.92 ID:???
技評のムックって内容いいの?

Laravelエキスパート養成読本[モダンな開発を実現するPHPフレームワーク!] (Software Design plus)

462 :nobodyさん:2015/04/22(水) 00:47:58.19 ID:???
正直Laravelになんの魅力も感じない。
クソ遅いし。

463 :nobodyさん:2015/04/22(水) 00:53:24.09 ID:???
またお前か
もう休めよ

464 :nobodyさん:2015/04/22(水) 14:32:11.12 ID:???
phpを今さら否定しても始まらん。
世界中の名だたるwebサービスで使われてる。
それをいうならJavaScriptなんて糞の極みだが、こうなったら使わざるをえない。

農家がコメを作るのに水田作るのと一緒だ。
めんどくさいが実りのためには作るしかない。

本は気になってるけど、出すの遅かったな。
もうだいたいの使い方覚えちゃったよw

465 :nobodyさん:2015/04/26(日) 11:04:04.20 ID:???
おっさんは自分が仕切っていると勘違いしてるんだろう。
確かにXSSについては早く直したほうがいいのだろうけど、
他人の記事の正誤表について上から偉そうに言う暇があったら、
自分のサイトのCSSのズレなおせ。

466 :nobodyさん:2015/04/28(火) 10:53:10.55 ID:oM0Me9SU
>>461
いろんなブログとかの評判曰く中級者向けって感じ。
他のフレームワークとか使ってた人がなんとなくを把握するにはいいかもだけど、
俺のようなド素人にはあんまり良くなかった。
全体的に見辛いし、サンプルのコードもバグあるし

467 :nobodyさん:2015/04/29(水) 11:38:12.20 ID:???
なんで一冊目がエキスパート育成なんだろうな?

普通こういうのは入門編とか、初めての…とか、初心者向けとかが一番売れんのに。

468 :nobodyさん:2015/04/29(水) 17:02:56.47 ID:???
初心者向けは公式サイトので十分だからじゃね? アレ良く出来てるよ

469 :nobodyさん:2015/05/01(金) 20:58:19.58 ID:???
laravel5の遅さは異常。
何か解決策ない?

470 :nobodyさん:2015/05/01(金) 21:36:47.67 ID:???
デバッグモードで動かしてるんじゃ? よほどアクセスがないサービスでないと問題になることないだろ

471 :nobodyさん:2015/05/02(土) 16:05:58.26 ID:???
ただのアンチだろ
実際使ってるかも怪しい

472 :nobodyさん:2015/05/07(木) 13:19:49.42 ID:???
魔法少女ララベル

473 :nobodyさん:2015/05/08(金) 15:07:36.47 ID:???
ケーキ?ララベル?ケーキ?ララベル?
う〜〜〜、あーーりーん!!

474 :nobodyさん:2015/05/09(土) 01:03:09.16 ID:???
うわー、おもしろーい

475 :nobodyさん:2015/05/09(土) 17:18:17.65 ID:???
Lumen二郎

476 :nobodyさん:2015/05/10(日) 21:34:09.18 ID:???
インスパイア系

477 :nobodyさん:2015/05/11(月) 17:12:44.20 ID:???
で、5使ってみた感じどうよ?
4とかわならい?

478 :nobodyさん:2015/05/13(水) 02:59:29.21 ID:???
4とは変わる

479 :nobodyさん:2015/05/16(土) 21:18:32.34 ID:???
Laravelエキスパート養成読本って本が、本屋にあったので立ち読みした。

著者には悪いが、Webのマニュアル読んだほうが100倍マシ! と思った。

480 :nobodyさん:2015/05/18(月) 22:59:31.41 ID:???
久々にlaravel使うが
laravel3の頃からEloquentの処理内容はあまり変わってないんだな・・・
viewcomposerは使ったほうがいいぞ

481 :nobodyさん:2015/05/20(水) 16:37:14.72 ID:ZR/gr4cf
Lumenでかすぎ。
DLして使う前に削除した。

あんなにでかいと、フレームワーク絡みのトラブルの時、
追っていくのしんどいだろうが。

482 :nobodyさん:2015/05/20(水) 21:51:45.91 ID:???
lumenの存在意義はベンチ用ぐらいじゃないのかね
開発では自前で全て用意する系じゃなきゃ使えないし

そもそもFWの挙動が追いやすいとかならCIとか使うべき
CI3は知らないが、CI2は実装すかすかで追いやすかったぞ

483 :nobodyさん:2015/05/21(木) 01:49:08.79 ID:???
っていうかわざわざフレームワーク自体のソース見なきゃいけないほど独自の実装してない。
フレームワークによくあるオーソドックスをバランスよく組み合わせてるだけ。

そんなところが海外で人気の理由なんだろうけど。

ただManualが糞だから初心者には何のこと言ってるのか理解するのが困難。

484 :nobodyさん:2015/05/21(木) 08:16:46.28 ID:???
公式マニュアルは最初から全部読まないとダメなのが面倒。

485 :nobodyさん:2015/05/21(木) 16:01:36.45 ID:ZYAM1o+z
Lumenの競合相手が、Slim、Phalconだとすると、
全く優っているところがない。

486 :10人に一人はカルトか外国人:2015/05/23(土) 20:14:15.48 ID:d70HWW/K
★マインドコントロールの手法★

・沢山の人が偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法

偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い

靖国参拝、皇族、国旗国歌、神社神道を嫌うカルト

10人に一人はカルトか外国人

「ガスライティング」で検索を!

487 :nobodyさん:2015/05/27(水) 22:28:18.54 ID:???
POSTパラメータのバリデーションって
コントローラーでやっていいの?

488 :nobodyさん:2015/05/28(木) 02:16:29.00 ID:???
Railsから来るとアレはビビるよな
でもPOSTされたデータ自体はモデルと=ってわけじゃないからコントローラーでやるってのもアリかなと思った
POST値のバリデーションとモデルのバリデーションは別ってのも合理的っちゃ合理的
ただ 書く場所がバラバラになるのはイヤだから 結局 モデルにバリデーションルールのリストを書くようにしちゃったけどね

489 :nobodyさん:2015/05/28(木) 10:11:09.38 ID:???
え、ララベルはコントローラーでやる前提じゃないの?

withErrorsやら$validator->messages使ってViewにエラーメッセージ渡すってのが
公式の使い方でしょ。

490 :nobodyさん:2015/05/28(木) 19:04:08.58 ID:???
Form Request Validation てのもある

491 :nobodyさん:2015/05/30(土) 12:05:53.96 ID:???
じゃあもうJavaScriptでバリデーションすりゃいいじゃん

492 :nobodyさん:2015/05/30(土) 15:56:41.02 ID:???
ローカルproxyでtrapして、値書き換えられるとか
考えすぎなの? 普通がわからん。

493 :nobodyさん:2015/05/30(土) 19:22:41.22 ID:???
考えすぎじゃないよ

494 :nobodyさん:2015/05/31(日) 01:46:04.41 ID:???
Auth::user()->とかで、どこからでもログイン情報が取り出せるのってどういう仕組みなの?俺みたいなバカでも分かるように誰か解説してくれ

495 :nobodyさん:2015/05/31(日) 10:46:35.92 ID:???
設定ファイルとモデルで予めデータベースへのアクセスを定義してるから

自分で使えるようにpostやらcommentなんてモデル作れば同じように使えるで

496 :nobodyさん:2015/05/31(日) 22:26:51.95 ID:???
postやcommentってモデル作ると¥postや¥commentでどこからでもアクセス出来るのな。

例えば$ret=¥post::createと$ret->fillの間で¥post::whereとかやってもいいの?

497 :nobodyさん:2015/06/03(水) 09:05:04.53 ID:???
Collectionのlistsメソッドの返り値が
いつの間にかCollectionになってないか?
ドキュメントによればArrayのはずで
以前は確かにArrayだったと思うんだが

498 :nobodyさん:2015/06/03(水) 20:03:42.97 ID:???
blade側に渡した配列の検証方法ってありますか?

return view('ビュー名')->with(compact('配列名'));

という感じでmodelからbladeに配列を渡してるんだけど、幾つかのカラムの値が渡らないんです。

499 :nobodyさん:2015/06/03(水) 20:20:56.77 ID:???
コントローラーじゃなくて、モデルからブレードにわたしてんの?なして?

500 :nobodyさん:2015/06/03(水) 20:30:31.43 ID:???
レスありがとうございます。

説明下手ですいません。
コントローラでmodelから取得した配列をbladeに渡しています。

501 :nobodyさん:2015/06/03(水) 21:31:46.45 ID:???
こんなふうにテンプレートを定義して
public $layout = 'template';

こんな風に渡すといいよ
$this->layout->content = View::make('ビュー名', array('results' => $results, 'arg2' => $arg2));

この場合$resultsが配列の場合は
@foreach($results as $val)
ごにょごにょ
@endforeach

みたいな感じで取れる。

502 :nobodyさん:2015/06/03(水) 22:16:24.91 ID:???
laravel-debugbar 入れれば見れた気がする

503 :nobodyさん:2015/06/04(木) 10:05:15.96 ID:???
>501さん
ありがとう。

1. $templateを定義して、¥View::makeの戻り値をcontentsに値を代入している理由
2. ¥View::makeを使う理由

がわかりません。

contensにブレードが生成したhtmlが入ってるよということでしょうか?

504 :nobodyさん:2015/06/04(木) 10:11:54.09 ID:???
>502さん

レスありがとうございます!

debugbar入れてみた。
IDE使ってるからこういうブラウザに機能追加されるようなデバッグツールの使い道がよくわからん。

クエリビルダだと実行されたクエリがわからないので、それが気軽にみられるようになるとこは気に入った。

Debug::info();で出力するってことでしょうか?

505 :nobodyさん:2015/06/04(木) 13:36:44.12 ID:???
>>503
意味は使ってみたらわかる。
まずやってみるよろし。

上の例ではtemplate.blade.phpで{{@$content}}って書けばあとは作成したビューで値が取れる。
View::makeでビューの作成と、ビューに渡す配列を同時に設定してんだね。楽だね。

つまり「ビュー名.blade.php」で@foreach($results as $val)とかすればいいってことだね。

506 :nobodyさん:2015/06/04(木) 13:41:52.81 ID:???
あ、テンプレートを作る理由はもちろん各パーツのモジュール化が楽だから。
ヘッダーとか、フッターとか、ビュー作るごとにわざわざ付けるの面倒でしょ。
全部テンプレート経由で設定しとけば、変更も楽よ。

507 :nobodyさん:2015/06/04(木) 14:13:45.46 ID:???
>505,506さん
すごい!
テンプレート作る理由の解説、滅茶苦茶分かりやすくて涙出そうです。
ありがとうございます。


ただやってみたのですがうまくはいきませんでした。
環境はlaravel5で、上記例の$this->layout->content = View::make(…とするとプロパティがないようでエラーが発生します。
予めtemplate.blade.phpに何か仕込んでおく必要があるのでしょうか?

508 :nobodyさん:2015/06/04(木) 14:29:57.63 ID:???
ごめん、5はまだ試してないんだw

PostController.phpを作る。
class PostController extends BaseController { // http://example.com/post

public $layout = 'template'; // これtemplate.blade.php

public function getIndex($id) // getでhttp://example.com/post/<id>でアクセスした場合
{
$results = Post::where('id', $id)->get(); // 適当にPostモデルで定義したデータベースから値取得
$hoge = "hoge"; // 解説のために、こんなパラメータも追加

$this->layout->content = View::make('post', array( // ここでpost.blade.php
'results' => $resultsCashe,
'hoge' => $hoge
));
}

template.blade.php作る。
//なんか適当にヘッダーとか
{{@$content}}
//サイドバーとかフッターとか

post.blade.php作る。
@foreach($results as $val)
e($val->post_title); //例えば投稿のタイトルとか出力
@endforeach

全体こんな感じ

509 :nobodyさん:2015/06/04(木) 14:31:39.98 ID:???
あ、コピペしてミスった。

「'results' => $resultsCashe,」じゃなくて
「'results' => $results,」ね

510 :nobodyさん:2015/06/04(木) 14:39:06.24 ID:???
$results = モデル名::all()->where(条件)->pagenation(1ページ表示件数);

として取得したオブジェクトをビューで表示すると

@foreach($results as $val)

{{$val->カラム名}} ・・・表示できない(値がnullになっている)
{{$val['origin']['カラム名']}} ・・・表示できる
{{$val->created_at}} ・・・表示できる

@endforeach

{{$results->render()}} ・・・表示できる

という結果になりテーブルの値がビューに渡せません。
created_atはcarbonという仕組みのおかげで表示できているだけのようです。

例えばコントローラ側を$results = モデル名::all()->where(条件)->pagination(1ページ表示件数)->toArray();
とすれば普通に連想配列で値は取れますが

@foreach($results as $val)

{{$val['カラム名']}} ・・・表示できる
{{$val->created_at}} ・・・表示できない

@endforeach

{{$results->render()}} ・・・エラーが発生してしまう

今度はページネーションが使えなくなってしまいます。

どうやるのが正解なのでしょうか?

511 :nobodyさん:2015/06/04(木) 14:40:04.40 ID:???
>>504
普通にViewsタブ内の各ビューをクリックすれば、そのビューの持ってる変数見られるでしょ

512 :nobodyさん:2015/06/04(木) 14:45:46.24 ID:???
質問の続き(510)を先に書き込んでしまいました。すみません。。。


>508さん
完全に理解できました!ありがとうございます。
用途としては画面共通で使う検索条件のプルダウン用配列なんかをtemplateで読み込んでおくような使い方でいいのでしょうか?

513 :nobodyさん:2015/06/04(木) 14:49:46.33 ID:???
>511さん

ありがとうございます。
私の環境だと配列を渡すと配列名しか見えません。

514 :nobodyさん:2015/06/04(木) 15:14:39.87 ID:???
用途は思いつく限りなんでもいいんじゃない?

上で書いたとおりヘッダーやフッターを設定しとくのが一般的だろうけども。

例えば特定の画面で、メニューバーの表示非表示をコントロールしたいとかの場合は
$this->layout->menubar = View::make('menubar', array('flag' => 'true'));
みたいにすればフラグも渡せるし。

まあなんていうか、自由w

515 :nobodyさん:2015/06/05(金) 11:30:37.70 ID:???
度々すみません。

510の件まだ解決できず悩んでいます。

ビューに渡したコレクションからアロー演算子でテーブルの値を取得し、さらにrender()でpaginationを生成するにはどのようにしたらよいのでしょうか。

2ちゃんねるの皆さんのお知恵をかしてください。環境はlaravel5です。

516 :nobodyさん:2015/06/05(金) 13:11:19.84 ID:???
>>510
最初の$val->カラム名で値が取れないのがおかしい
その$valが何なのかもう少し調べてみばいいんじゃないかな
get_class関数でそれがどのクラスのオブジェクトなのか調べたり、単純に中身を表示させたりとかさ
中身はdd関数で表示できたかな

517 :nobodyさん:2015/06/05(金) 13:48:57.94 ID:???
pagenationのところ、paginateじゃないの?変わったの?

モデルはこんなかんじで

$results = Post::orderBy('id', 'desc')->paginate(10);

ビューは

{{$results->links()}}

ってな感じでできない?

518 :nobodyさん:2015/06/06(土) 11:33:08.22 ID:T7FH2DZR
>516さん

ありがとうございます。$valの型について調べてみました。


$results1 = モデル名::orderby('created_at','desc')->paginate(PER_PAGE);
$results2 = モデル名::all();
$results3 = モデル名::all()->paginate(PER_PAGE);
$results4 = モデル名::all()->forPage(1,PER_PAGE);

とした場合、それぞれの型は下記の通りでした。

$results1 ・・・ Illuminate\Pagination\LengthAwarePaginator
$results2 ・・・ Illuminate\Database\Eloquent\Collection
$results3 ・・・ staticメソッドが無いというエラー
$results4 ・・・ Illuminate\Database\Eloquent\Collection

さらに$result1,$result2,$result4をコントローラで
foreach($resultN as $val)した時の$valの型は

$results1 ・・・ App\モデル名
$results2 ・・・ App\モデル名
$results3 ・・・ -
$results4 ・・・ App\モデル名

となり、$val->カラム名では値が取得できませんでした。
ブレード側で{{ $val->カラム名 }}とした場合は値は取得できず
{{ $val['original']['カラム名'] }}とすることで値が取得できました。

難しい。。。

519 :nobodyさん:2015/06/06(土) 11:35:35.27 ID:T7FH2DZR
>517さん

ありがとうございます!
links()はlaravel5からrender()になったようです。
とはいえ同様のことをやっているように思うのですが
うまくいきません。。

520 :nobodyさん:2015/06/06(土) 12:28:36.65 ID:???
本当にその方法で値が取れないなら、モデルか、データベースの設計が間違ってる。

例えばPostというモデルを作る場合は、こんなかんじだよ。

class Post extends Eloquent {
protected $guarded = []; // 複数のカラムからデータを取得するため
protected $table = 'posts';
}

protected $table = 'posts'は省略可能だけど、自動でモデル名+sになるから注意。

データベースについてはちゃんとモデル名に対応したテーブルがあること、
配列で返って来るだけの複数の投稿があることを確認かなぁ。

っていうか$val['original']ってのがさっぱりわからん。
たぶんどっかで凡ミスしてる。

521 :nobodyさん:2015/06/06(土) 13:10:11.48 ID:???
がーど

522 :nobodyさん:2015/06/06(土) 15:04:20.38 ID:???
>>518
> ブレード側で{{ $val->カラム名 }}とした場合は値は取得できず
> {{ $val['original']['カラム名'] }}とすることで値が取得できました。

モデルにおかしなミューテーターを書いてるだけのように見えるが

523 :nobodyさん:2015/06/07(日) 02:29:41.28 ID:???
みゅーてーたー?

524 :nobodyさん:2015/06/07(日) 15:41:19.32 ID:???
>>523
ごめん >>522 はミューテーターじゃなくてアクセサーだ
original 経由で正しい値が読み取れるのなら
アクセサーかアクセサーを呼び出すどこかに問題があるんじゃないかとね

525 :nobodyさん:2015/06/07(日) 20:11:06.43 ID:???
518です。

>520、521、522さん
ありがとうございます!!
原因が判明しました。どうやらモデルにカラムと同名のプロパティを定義したことが原因だったようです。
ガード、ミューテタがヒントになりました。

526 :nobodyさん:2015/06/07(日) 23:49:39.17 ID:???
検証するときは考えられる最も単純な記述で値が取れるか調べるといいよ。
「ここはあってるはず」ってのが一番の天敵。

527 :nobodyさん:2015/06/08(月) 00:28:02.49 ID:???
>526さん

アドバイスありがとうございます。

528 :nobodyさん:2015/06/14(日) 00:28:37.45 ID:???
っていうか、ミューテーターとかアクセサーとか初めて聞いた。
一般的に使われる言葉なの?

529 :nobodyさん:2015/06/16(火) 08:34:14.30 ID:sVb6gbHI
使われてるんじゃね?
アクセサーのことを
ゲッター/セッターの両方をさす場合(rubyとかrubyとかrubyとか)もあるから、
少しややこしいけど。

530 :nobodyさん:2015/06/22(月) 18:07:15.57 ID:???
やっぱり5.1からEloquentとIlluminate&#165;SupportのCollectionのlistsメソッドは
arrayじゃなくCollectionを返すようになったんだな
しかしQueryBuilderのlistsはarrayのままという謎仕様
こういうのホントやめてほしいんだがな

531 :nobodyさん:2015/06/22(月) 19:37:25.41 ID:???
なぁーにvar_dumpで頑張ればいいさ

532 :nobodyさん:2015/06/23(火) 09:11:54.72 ID:???
そういう時はプルリクかイシュー書いてみんなで良くしていこうよ

533 :nobodyさん:2015/06/24(水) 09:06:25.58 ID:???
laravl取り入れてる人や会社はレベルが高くて丁寧なイメージあるね。
海外でも活発に情報がやりとりされてるし。
あんま素人が手を出しにくいってのもあるかもしれんけども。

534 :nobodyさん:2015/06/26(金) 19:31:44.88 ID:???
ねーよそんなイメージ。
てかララベルを業務に採用している会社なんてあるんかw

535 :nobodyさん:2015/06/27(土) 00:08:04.47 ID:???
すまんな、ここ数年俺が納品した会社はlaravel運用だ

536 :nobodyさん:2015/06/27(土) 00:35:31.98 ID:???
普通にあるだろ。しらねーなら黙ってろ田舎もん。

537 :nobodyさん:2015/07/04(土) 13:47:19.61 ID:???
Laravelの賞味期限は、あと何年くらいかな・・・

538 :nobodyさん:2015/07/09(木) 21:55:12.94 ID:ZXY7EvvD
お、5.1はLTSか。

539 :nobodyさん:2015/07/17(金) 21:42:22.89 ID:???
CodeIgniterをずっと使ってきましたが、ちょっとだけ新しいフレームワーク
に興味を持ち始めました。

Laravelって良いですか?
10年以上運用保守するシステムにも安心して使えますか?

CodeIgniterから乗り換えた方、Laravelの良さを教えてください。

540 :nobodyさん:2015/07/17(金) 23:33:51.59 ID:???
今回の長期保証でも2年とかじゃね?
WordPressみたいなもんだよ。ころころ更新される。
良さはコンポーサーとか、restfulなモデルとか、OAuthとか、新しい技術をどんどん取り入れること。
だから長期運用が目的なら向かないだろうね。

ちなみに10年同じバージョンで運用保守可能なフレームワークなんてないから。
CentOSですら無理じゃね?w

541 :nobodyさん:2015/07/18(土) 09:17:57.86 ID:???
getメソッドとpostメソッドを別に扱う点だな。
最初は戸惑うだろし、混在したコードを書いてしましがちだが、徹底して分離するべし。

もうcodeIgniterには戻れん。

542 :nobodyさん:2015/07/19(日) 02:23:58.37 ID:vWE/6X6C
【ワカヤマン】PHP技術者認定試験 Part2
http://hello.2ch.net/test/read.cgi/lic/1437239772/l50

543 :nobodyさん:2015/07/25(土) 22:48:26.63 ID:k4s0riSk
煮詰まってて意見が欲しいです。

laravel5に使ってます。

publicディレクトリ配下に実ディレクトリを配置したいです。
例えば、下みたいに特定のディレクトリ(今回は、pc)だけに聞く外部ファイルを置きたいです。
/laravel/public/pc/common/hoge.css

デフォルトだと、実ディレクトリがあれば、アクセス時に403になってしまいます。

nginxのtry_grepでディレクトリしていしてないからかなと思ったのですが、そもそも指定されてる。
publicディレクトリのパーミッションも755

外部ファイルと、アクセスするディレクトリを完全に分けてしまう事も考えましたが、
HTMLが出来上がってしまったので、できれば現状のフォルダ構成を保ちたい。

何か良い方法は無いでしょうか?

544 :nobodyさん:2015/07/26(日) 00:10:36.10 ID:???
特定のディレクトリ(今回は、pc)だけに聞く外部ファイルを置きたいです

これの意味が何回読んでもわからんw
聞くが「効く」でも「きく」でもさっぱりわからん

内部でpublic以下のファイルを指定したいだけなら、そんな関数が用意されてるでしょ。

545 :nobodyさん:2015/07/26(日) 01:30:22.00 ID:9J+5FH4Y
>>544
ありがとう。そして申し訳ない。

>特定のディレクトリ(今回は、pc)だけに聞く外部ファイルを置きたいです
外部ファイルはcssだと思って聞いてほしいです。
全てのページ用と、特定のページ用のcssを用意していて、
pcディレクトリだけ使いたいcssは、同じ階層のディレクトリにcssファイルをおきたいです。

例えば、
/index.html はcommon.css(共通)だけ。
/pc/index.htmlはcommon.cssとpc.css(特定)を読み込む。
ということをしたいです。

こういう場合、下みたいなファイル構成でhtmlを書く事があると思います。
/index.html
/common.css
/pc/index.html
/pc/pc.css


これをlaravelでもやりたかったので、
rootファイルには、
「/」、「/pc/」にアクセスされた時に個別のviewを見に行くように処理を書き、
スタイルファイルは相対パスで読めるように、public配下に「common.css」と「pc/common.css」を置きました。

この状態で、http://(ドメイン)/pc/にアクセスると403になってしまう状態です。

>内部でpublic以下のファイルを指定したいだけなら、そんな関数が用意されてるでしょ。
assets関数を使えばできるし、使わなくても可能なのは確認しました。
悩んでいることは、設置したディレクトリ配下のページにアクセスすると403になってしまう事です。

546 :nobodyさん:2015/07/26(日) 01:32:54.76 ID:9J+5FH4Y
>スタイルファイルは相対パスで読めるように、public配下に「common.css」と「pc/common.css」を置きました。
「common.css」と「pc/pc.css」ですね。失礼しました。

547 :nobodyさん:2015/07/26(日) 06:46:43.83 ID:???
そもそもなぜに相対を使う?
普通に/common.cssと/pc/pc.cssを読むのではダメなの?
てかファイル名違うならフォルダ分ける意味もなくないか?

548 :nobodyさん:2015/07/26(日) 09:29:28.73 ID:???
public_path(pc/pc.css)
これじゃあかんの?

これで403なるならnginxだっけ?のリライトらへんが間違ってる。

もしかして、public配下のディレクトリにページを作って、アクセスしてんの?
それなら、そもそもLaravelを勘違いしてる

549 :nobodyさん:2015/07/26(日) 10:24:52.58 ID:9J+5FH4Y
指摘ありがとう。
初歩的な事なのですが、画像やcssやjsはpublic配下以外の場所に置くのでしょうか?
publicがlaravelのドキュメントルートだと思って、public配下にファイルを置いてます。
話を聞いていて、今のhtmlの組み方がlaravelに合ってないんじゃないかと思えてきました。
他の人はどうやっているのだろう…?。
マークアッパーから上がって来るhtmlはLaravelの事なんか考えていないでしょうし。

>>547
>普通に/common.cssと/pc/pc.cssを読むのではダメなの?
相対から絶対に変えるのは可能です。それで、cssを読むことは出来ました。
外部ファイルは設置して読めるのですが、/pc/にviewを作って(rootファイルに「/pc/」アクセス時の振舞を設定して)、「/pc/」にアクセスが出来ません。

>てかファイル名違うならフォルダ分ける意味もなくないか?
分けたのは、あくまで個人の主義です。
HTMLを組むときに、個別のディレクトリしか使わないものを一色多にしてしまうと(自分は)管理しずらいです。
また、外部ファイル読み込み用のディレクトリを別途用意(例えば、pc/pc.cssではなく、common/pc/pc.css)にするでも良いかと思ったのですが、
この問題がある事は予想していなかったので自分の調査不足です。

>>548
>public_path(pc/pc.css)これじゃあかんの?
なるほど。publicディレクトリのパスを取得する関数ですね。
ただ、今抱えている問題と少し違うかもしれません。
cssのパスの通し方に困っているわけではないのです。rootファイルのルーティング(?)で迷ってます。
pubilicディレクトリ内に実ディレクトリを作ってしまうと、そのディレクトリ配下にルーティングすると403になることを解決したいです。

>もしかして、public配下のディレクトリにページを作って、アクセスしてんの?
それは「publicディレクトリ配下に静的ページを置いてるか?」という事であってますか?
それなら、やってません。viewかcontorollerでしか、表示を作ってないです。

550 :nobodyさん:2015/07/26(日) 13:14:46.10 ID:???
>>549
viewはhtmlを作るためのテンプレートであって
htmlそのものじゃない
Laravelのbladeエンジンがviewファイルを読み取って
それを変換した結果のphpプログラムがwebサーバに渡され
そのphpが(普通と同じように)htmlを吐き出すわけ

publicはあくまでも通常のサイトルートであって
そこにはwebサーバ(NginX)が直接処理できる形のファイルを置く
具体的にはcssやjsだな
もちろんphpもwebサーバが処理できるファイルではあるが
publicにindex.php以外のphpファイルを置くのは
Laravelのルーティングとぶつかるからやらない方がいい
またblade.phpは拡張子こそphpでも
webサーバが処理できる正規のphpではないので
いかなる意味でもpublicに置くべきじゃない

551 :nobodyさん:2015/07/26(日) 13:20:18.62 ID:???
またviewファイルをLaravelのルーティング経由で読ませようとしたってダメ
.blade.phpは上に書いたように「phpじゃない」んだからな
viewはあくまでもresource/views(のサブディレクトリでもいい)に置いて
Viewクラスなりview()関数に専用のドット記法でパスを渡す必要がある

552 :nobodyさん:2015/07/26(日) 14:05:09.51 ID:???
>>543
> nginxのtry_grepでディレクトリしていしてないからかなと思ったのですが、そもそも指定されてる。

もしかして: try_files
というか nginx の設定の問題であって Laravel は関係ないよね

553 :nobodyさん:2015/07/26(日) 14:37:43.73 ID:Z7kp1tNf
>>550 >>551

>publicはあくまでも通常のサイトルートであって
>そこにはwebサーバ(NginX)が直接処理できる形のファイルを置く
具体的にはcssやjsだな
了解です。public配下にファイルを置く事自体は問題ないのですね?
ただ、自作phpやhtmlを置くlaravelの動作に影響があるかもしれないから辞めた方が良い。
ということですかね。

>またviewファイルをLaravelのルーティング経由で読ませようとしたってダメ
.blade.phpは上に書いたように「phpじゃない」んだからな
説明不足で申し訳ない。viewのテンプレートを吐かせる関数を噛ませて表示をしています。
別に、「(laravelの記述ルールを無視して)viewのファイルをインクルードしたけど失敗する。」
「PHPライブラリを作ってpublicに配下に置いたけどけど使えない。」
と言っているわけではありません。

>>552
>もしかして: try_files
すみません。try_filesの間違いです。
>というか nginx の設定の問題であって Laravel は関係ないよね
それも、そうだと思います。
何か話の取っ掛かりになればと思い書きました。蛇足だったかもしれません。

今やりたいこと(publicディレクトリ配下に実ディレクトリを設置できるようにする方法)を調べると、
nginxの設定を変える方法しか見つからなかったので試した事を共有したかっただけです。
laravelだけで実装する方法があるのであれば、ぜひお聞きしたいです。

554 :nobodyさん:2015/07/26(日) 14:47:30.51 ID:???
>viewのテンプレートを吐かせる関数を噛ませて表示をしています。

ここがわからない
bladeを直接書くんじゃなくて
ある関数の出力がbladeの文法に従ったテンプレートになってるわけ?
具体的にどうやってviewを返してるの?
return view(some_function());とか
return view('pc/some_view.php/');
みたいなことをやろうとしている?
それとも
return some_function();
で、some_function()の返り値がbladeテンプレートとか?

ちなみにどれも動かないからね

555 :nobodyさん:2015/07/26(日) 14:49:50.29 ID:???
そもそも
>viewのテンプレートを吐かせる関数を噛ませて
みたいなことをしなくて済ませるための「テンプレートエンジン」なんだから
多分すごく無駄な労力を費やしてるんだろうな

556 :548:2015/07/26(日) 15:18:23.40 ID:???
だめだわ。言ってる意味がさっぱりわからん。

>今やりたいこと(publicディレクトリ配下に実ディレクトリを設置できるようにする方法)を調べると、

ってのが何を指してるのか、全くもって理解できん。
public_path(pc/pc.css)でパスが取れるけど、アクセスすると403になるってこと?
それともpublic/pc/ディレクトリそのものにアクセスしたいってこと?

例えばnginxでServerディレクティブにこんなかんじで書いて、
root /var/www/html/laravel/public;

ファイルが存在しない場合はこんなかんじでphpを実行。
location / {
try_files $uri $uri/ /index.php$is_args$args;
} # location /

みたいにしとけば、普通動くと思うんだけど。

557 :552:2015/07/26(日) 15:31:47.54 ID:???
>>553
> laravelだけで実装する方法があるのであれば、ぜひお聞きしたいです。

だから Laravel は関係ないと言ってるじゃないw

> nginxのtry_grepでディレクトリしていしてないからかなと思ったのですが、そもそも指定されてる。

try_files にディレクトリを列挙しちゃってるから
index.php にフォールバックできてないでしょ?

558 :nobodyさん:2015/07/26(日) 23:06:36.30 ID:HqKZ3pMp
>>554
pctop.blade.phpというviewファイルを作って、rootes.phpにView::make('pctop')と書いて読んでいます。
噛ませた関数というのが「View::make」です。

>>556
>public_path(pc/pc.css)でパスが取れるけど、アクセスすると403になるってこと?
>それともpublic/pc/ディレクトリそのものにアクセスしたいってこと?
前者の事をやろうと思っています。
nginxのコンフィグに、「$uri/」が無いから403ではじかれていると思い、書いていただいたコード同じ設定をするつもりでした。
ただ、今使っている環境のnginxコンフィグにはすでに書いていました。参考程度の話ですが、homesteadで構築した環境です。

>>557
読解力が無くて申し訳ない。てっきり、今の話はnginxの話だからスレちがいだよ?と言われてると思って、laravelに話をもどそうと思ってました。

>try_files にディレクトリを列挙しちゃってるから index.php にフォールバックできてないでしょ?
理解力が無くて申し訳ないです。
それは、優先順位の設定に問題があり、分岐処理をするはずのindex.phpに遷移する前に、
本来lravelが取らないindex.php以外のファイルにアクセスしてるんじゃないか?
と言っていますか?

559 :552:2015/07/26(日) 23:38:02.59 ID:???
>>558
そうそう
nginx の try_files ディレクティブの説明を読もう

560 :nobodyさん:2015/08/02(日) 03:22:21.94 ID:???
検索条件のPOSTパラメータをフォームに復元したいのにできません。

具体的にはwithInput()がView::makeだと使えません。Redirect::toは使え、blade側でInput::old()で取得できました。
しかし今度はRedirect::toだとページネーションで次ページ移動すると検索条件がクリアされてしまいます。

バージョンはlaravel5です。

561 :nobodyさん:2015/08/02(日) 03:23:29.30 ID:???
解決方法教えて頂けないでしょうか。。

562 :nobodyさん:2015/08/02(日) 14:15:30.44 ID:???
リダイレクトに対する理解の混乱が見られる

リダイレクトは302や301のステータスコードでHTTPレスポンスを一度返し
、クライアントからもう一度新しいHTTPリクエストが来るようにするもの。

その際、
ステートレスなHTTPではリクエストをまたいで状態(今回は入力)を保存できないので、セッションに一度格納し、次のリクエストで取り出せるようにする。

Laravelでそのセッションへの一時保存を簡単に実現するのがwithやwithInputの役割。セッションに保存した古い入力を取り出すのがInput::old()なわけ

対してView::make()はテンプレートを用いてレスポンスのbodyを作成するだけなので、リクエストをまたがない。そのリクエストの入力を取得するならInput::all()でも何でもいいし、
わけあって次以降のリクエストに入力を渡したいならwithInputではなく、明示的にセッションに保存すればいい


検索はサーバのリソースに変更を加えないのが普通だと思うので、クエリストリングが長すぎてIEの上限に引っかかるなどの特段の理由がないならGETにしたほうがいい
ページネーションの際の検索条件保持もより簡単だと思うが

563 :nobodyさん:2015/08/02(日) 15:09:46.99 ID:???
なんでリダイレクトで検索ページ作ろうと思ったんか、その発想が不思議だw

普通にgetでurlにパラメータ渡して、$keyword = Input::get('keyword')で取れる。

564 :nobodyさん:2015/08/03(月) 01:30:18.00 ID:???
>562、563さん
レスありがとうございます!

それでは検索でGetを利用し描画時にフォームの内容を復元するには、ビューにどのように値を渡し、どうやって取り出せばよいのでしょうか?
検索条件が多いため簡潔な書き方にしたいです。

562さんの説明のお陰でリダイレクトの仕組みは分かったのですが、いつwithやwithInputを使うのかが分かりません。

ご教授頂けないでしょうか。。

565 :nobodyさん:2015/08/03(月) 14:12:16.68 ID:???
自分でこうじゃないかなと試すのはいいけど、
まずはセオリーとしてどのように先人が作っているのか調べるべき。
特に検索なんて、誰でも実装するもんなんだし。

googleでlaravel searchでググって出たページ
http://stackoverflow.com/questions/19612180/creating-search-functionality-with-laravel-4

これみたいにして、$q = Input::get('myInputField');の$qをView::make()でビューに渡してもいいし、
テンプレート使ってれば$this->layout->keyword = $qみたいにしてもいいし。

ビュー側でurlも簡単にできる
{{$results->appends(array('keyword' => 検索ワード))->links()}}

566 :nobodyさん:2015/08/04(火) 12:52:42.06 ID:???
565さん

ありがとうございます。
英語が苦手でstackoverflowとか海外の掲示板に辿り着くと
解決可能なことがわかるくらいで
なんとなく分かったような分からないような感じで
試行錯誤してるうちで出来てしまうことご多いです。
それって先人の知恵を生かしてるとはいえませんね。。
これから努力してみます。

ページネーションが生成するurlにパラメータを付けられるんですか!勉強になります!

画面からのリクエストをテンプレートに渡す方法ですが、フォーム一つずつでInput::get()で取り出すのではなく、Input::all()を渡してよしなに処理してくれるような方法はないでしょうか?

567 :nobodyさん:2015/08/05(水) 00:17:44.83 ID:???
565さん

教えて頂いた方法で解決できました。
ありがとうございました!

□コントローラー
@$変数=Input::get('パラメータの名前')としてフォームの入力をコントローラーで受けとる
AView::make('ビュー名')->with('パラメータ名'=>$変数)->with(次のパラメータ)->with(次のパラメータ)としてフォームの値をビューに渡す

□ビュー
B<input type='' value={{ $変数名 }}>としてフォームの値を復元
C$ページネーションの変数->appends(['パラメータ名'=>$変数,次のパラメータ])->render()

としました。

パラメータが増減したときに@〜C全てに修正が必要なことが不安ですがやりたいことはなんとか実現することができました。

568 :nobodyさん:2015/08/05(水) 00:32:04.63 ID:???
560で質問させて頂いたものです。

Whoops, looks like something went wrongというメッセージをカスタマイズしたいのですが出来なくて困っています。

Googleで検索すると全く同じことをしたい人がいて、解決したようなのですが英語で書かれていて読めません。

https://laracasts.com/discuss/channels/laravel/change-whoops-looks-like-something-went-wrong-page

どうも、resources/views/errors/{404,500}.blade.phpを作るといいというように書いてあるようなのですが、試してもエラーメッセージは変わりません。どうしてでしょうか。。。

569 :nobodyさん:2015/08/05(水) 19:26:12.78 ID:???
「laravel カスタムエラーページ」でググろう

570 :nobodyさん:2015/08/06(木) 21:53:30.30 ID:???
569さん

出来ました!ありがとうございます!

571 :nobodyさん:2015/08/19(水) 18:16:29.32 ID:???
本番環境と開発環境を分けるのに、.env ファイル以外で設定する
方法はありますか?
ホスト名で自動判別したいんです。

572 :nobodyさん:2015/09/06(日) 04:40:09.61 ID:???
初めてLaravelを勉強してるのですが
オートロードってどういうことでしょうか?

573 :nobodyさん:2015/09/06(日) 16:34:29.09 ID:???
>>572
こういう事
http://php.net/manual/ja/language.oop5.autoload.php

574 :nobodyさん:2015/09/17(木) 20:47:18.51 ID:???
laravel new hoge
これで作られるプロジェクト内にvendor入れられる設計が気持ち悪すぎ

575 :nobodyさん:2015/09/18(金) 13:16:58.90 ID:???
好きなとこに移したらいいじゃない

576 :nobodyさん:2015/09/18(金) 19:09:24.00 ID:???
V4からV5になって、ディレクトリ構造が変わったりモデルが
なくなったり。

こんな大きな変更があったら怖くて使えないよ。

577 :nobodyさん:2015/09/18(金) 20:33:56.50 ID:???
たしかにごっそり変わったよね。
4からだから、他のバージョン知らないけど、
バージョンアップのたびにこんなんだと確かに使う気しない。

毎回こんな互換性一切ない感じでアップデートしてるんだろうか?

578 :nobodyさん:2015/09/18(金) 21:43:41.52 ID:???
5.0から5.1ですら
結構コード書き換えが必要なレベルの変更あったからなあ
5.1は一応ロングタームサポートで
2年だか3年は仕様を固定するというが
裏返せばその次はまた
変える気満々ってことかと勘ぐってしまう

579 :nobodyさん:2015/09/19(土) 19:12:47.50 ID:???
変える気満々か・・・
そうだろうな。

Laravelの開発体制って、個人または少数人でクローズドな開発してるの?

580 :nobodyさん:2015/10/03(土) 12:24:07.14 ID:???
2年だか3年は仕様を固定するだと???
その先はまた変更???

世の中に公開した仕様は、普通下位互換性を考慮するだろ。

581 :nobodyさん:2015/10/03(土) 21:46:13.81 ID:???
使うのも自由使わないのも自由
文句があるならフォークして自力でメンテすりゃいい

582 :nobodyさん:2015/10/06(火) 14:53:45.39 ID:4ZKDqCbK
laravelを触り始めたばかりなのですが
laravelの場合、
同一サービスで、ユーザーサイト、管理者サイト、代理店サイト等を作る場合
その数に応じてプロジェクトを複数個作るのが一般的でしょうか

それともviewやcontroller直下にuser,admin,agent等のフォルダを作って
Routeで切り分けていくのでしょうか

アドバイスもらえると助かります。

583 :nobodyさん:2015/10/06(火) 18:31:36.48 ID:gki7Fl/O
同じサービスなら、プロジェクト一緒の方がいいでしょ。
viewsとかcontrollersの下は、好きな方針で整理すればいいと思うよ。

584 :nobodyさん:2015/10/07(水) 12:50:21.54 ID:rVdyiLOO
>>583
アドバイスありがとうございます。助かります。

585 :nobodyさん:2015/11/07(土) 17:33:50.81 ID:sT3wDnc5
\(^o^)/

586 :nobodyさん:2015/11/12(木) 15:55:31.63 ID:???
ララベル本評判どうなの?
既に特に問題なくサイト構築できるんだけど、買ってみる価値あるかな?

587 :nobodyさん:2015/11/13(金) 09:02:58.62 ID:???
ないと思う。ドキュメント十分揃ってるし、ドキュメント以上を求めるならgithubでLaravelプロジェクト見て回ったほうがずっと勉強になる

588 :nobodyさん:2015/11/13(金) 09:27:29.60 ID:???
年明けに本でるしボリュームも今でてるやつは少ないから買うタイミングとしては微妙。

589 :nobodyさん:2015/11/13(金) 20:11:15.18 ID:???
>>588
>年明けに本でるし
のソース教えてもらえる?

590 :nobodyさん:2015/11/13(金) 21:17:09.20 ID:???
Laravel リファレンス[Ver.5.1 LTS 対応] Web職人好みの新世代PHPフレームワーク
出版社: インプレス
発売日: 2016/1/8

ttp://www.amazon.co.jp/dp/4844339451

591 :nobodyさん:2015/11/13(金) 21:50:27.16 ID:???
>>590
おお、早速ありがとう!
これは期待。

592 :nobodyさん:2015/11/13(金) 22:47:22.79 ID:???
本当は11月予定だったのにな

593 :nobodyさん:2015/11/14(土) 10:33:39.50 ID:/2PS9x0o
転職の際に必ず思い出してください。
下記の条件が全て当てはまる会社にご注意下さい。

・IT系 in 東京
・転職会議で2.5点
・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される

594 :nobodyさん:2015/11/14(土) 11:01:15.89 ID:???
お、いろいろ情報が。
来年はじめに出るなら、それ買うか。
できれば正月の暇な時間に読みたかったけど、しゃーないなw

595 :nobodyさん:2015/11/25(水) 17:36:07.68 ID:5K6/A757
PCに大量のファイルをダウンロードしたくないので
dreamweaverを使いたいのですが、
dreamweaverで
SublimeTextやPHPStormみたいに
ide helperのようなコード補完は出来ないのでしょうか

596 :nobodyさん:2015/11/28(土) 09:04:42.64 ID:???
>>594
正月休みの入門なら最近みつけたブログがいいかも
今日も更新あったし、ソースもgitで手に入る

つ larajapan

597 :nobodyさん:2015/11/28(土) 09:34:22.66 ID:???
>>596
覗いてみたが、全然コンテンツないぞ。
更新止まっちゃってるけど、ララ帳超えるくらいじゃないとな。

598 :nobodyさん:2015/11/28(土) 11:46:50.56 ID:???
>>597
Feedlyで新着通知があったから話題にだしたんだが

599 :nobodyさん:2015/11/28(土) 13:09:48.56 ID:???
最新の記事が今年の11月22日なのに、これで更新止まっちゃってるなんて宣う低能のいうことなんか聞くことないよ
最新記事しか見てないんだろ
コンテンツの量もそれなりにあるし

600 :nobodyさん:2015/11/28(土) 15:38:55.82 ID:???
という自作自演の宣伝でしたとさ

601 :nobodyさん:2015/11/28(土) 16:31:03.95 ID:???
更新止まってるっていうのはララ帳の話。

site:検索でインデックスされてるページの量を見る限り、
www.larajapan.com → 27ページ
laravel10.wordpress.com → 321ページ
と、10倍以上の開きがある。

つうか、たかだか27ページ(インデックスページ含む)で、
「コンテンツの量もそれなりにあるし」って、
一体何のステマだよ。

602 :nobodyさん:2015/11/28(土) 16:32:38.93 ID:???
ページ数(笑)

603 :nobodyさん:2015/11/28(土) 17:56:47.31 ID:???
必死になると長文になる典型的な例ですね^~^

604 :nobodyさん:2015/11/28(土) 21:24:15.43 ID:???
何をそんなに反発してんだか
ステマだと仮定しても何が悪いの?

ブログが書籍原稿で、読者が無料校正協力者になること?

書籍ってもう10年以上前から成り立ってないよ

MS-DOSの頃は俺なんかでも稼がせてもらったけどさ。文章かける技術者ってだけで需要があった時代

技術書なんて今、初版3000あるかな?
もう初版刷り部数まるごと印税くれる出版社もないんじゃね? 知らんけど

605 :nobodyさん:2015/11/28(土) 21:30:21.54 ID:???
いかん、長文なっちったwww

606 :nobodyさん:2015/11/28(土) 22:46:00.08 ID:???
単純に有益な情報を紹介する人=神
それ以外=ゴミ

ほっとくよろし

607 :nobodyさん:2015/11/28(土) 22:48:46.62 ID:???
>>597だが、確かにオレがケチ付けちゃってるな、これは。
すまんかった。

「新刊の代わりに正月休みに読めるもの」を>>597が勧めてたとして、
いや、それには分量が違いすぎない? と思ったんで書き込んだ。

もちろんLaravelの新しい入門サイトが出てくるのは大歓迎だよ。
もしlarajapanの著者が俺の書き込みを見て不快に感じたのであれば、申し訳ない。

608 :nobodyさん:2015/11/28(土) 22:49:43.40 ID:???
× >>597が勧めてたとして
○ >>596が勧めてたとして

609 :nobodyさん:2016/01/08(金) 15:35:56.90 ID:???
>>590
今日発売か
見てこよう

610 :nobodyさん:2016/01/13(水) 20:01:11.43 ID:???
結構高いなあ

611 :nobodyさん:2016/01/14(木) 20:57:46.58 ID:???
4500円はけっこう高いね。
と思ったら450ページもあるな。
技術書としてはこんなもんじゃね?

612 :nobodyさん:2016/01/15(金) 09:58:54.60 ID:???
本はどうだった?俺も今日見に行く

613 :nobodyさん:2016/01/19(火) 01:38:00.38 ID:5pfMdZHM
Bladeテンプレートの
@forelse($arr as $key => $value)
//
@empty
//
@endforelse

みたいな時の@emptyの使いどころがいまいちわからない

614 :nobodyさん:2016/01/24(日) 23:40:53.46 ID:???
$arrが空ならでしょ

615 :nobodyさん:2016/02/03(水) 21:34:44.69 ID:TUInXlH7
Webサービス開発ってなんですぐ飽きるんだろうな
一番JS書いてるときが楽しいとか異常だろ

616 :nobodyさん:2016/02/03(水) 21:40:11.38 ID:???
Laravelなら簡単すぎるからだろそりゃ

JSめんどいわ、俺は嫌い
Angularでも使えばいいんだろうけど
細い部分は結局手で書くから
覚えることが増えるだけになりそうな気が

617 :nobodyさん:2016/02/06(土) 10:15:38.08 ID:oqchQKOG
fuelと比べていいとこって何?

618 :nobodyさん:2016/02/08(月) 10:19:55.68 ID:mP2plvo7
fuelとは別物だけど比べるとすると
diコンテナフル活用
フレームワークのテストがきちんとある
疎結合にしやすいからテストコードが書きやすい
dbとか他のコンポーネントは好きなライブラリに入れ替えok

ファサードはfuelっぽく見えるけどstaticじゃないから
そもそもが全く違う

619 :nobodyさん:2016/02/08(月) 19:11:48.33 ID:???
オレオレフレームワーク使ってたんだけどさ、
いっちょ最新の勉強するか!って上に出てた本買って読んでみたけど。

なるほどわからん。ということしか分からなかった。
俺には無理だわ。
フレームワークの初級でおすすめないですか?

620 :nobodyさん:2016/02/08(月) 19:32:56.20 ID:???
なにがわからんのか、わからんのでアドバイスしようが無いw
上の本でわからないと、Laravelは向かないかもね。
日本語の解説本は全然でてないから。

俺は公式ドキュメント見ながら勉強したけど、最初結構つまずいた。
だけど、わからん単語、一つ一つググって読み進めればわかるべ

全くわからんなら、まずはCakePHPでもやったら。
初心者向けの本も腐るほどある

621 :nobodyさん:2016/02/08(月) 20:58:23.56 ID:???
ラクするためのものなんだから
結果的にラクできなきゃ覚える労力が無駄なだけ
本を読んでもさっぱりわからんのでは
楽できそうかどうかの判断もできんだろうに

622 :nobodyさん:2016/02/08(月) 22:19:13.06 ID:???
もうちょい続けてみます。
知らない単語がでると、苦手意識があるのがいけないですね。
5.2はこの書き方が非推奨になりました。とかサンプルに書いてあって、は?もう??公式見ないとダメか?で、
公式見て更に分かんなくなって、あかん状態でした。

まずは一通り読んで触ってから決めたいと思います。
とりあえずオレオレフレームワークはフレームワークと呼べないレベルでした。。

623 :nobodyさん:2016/02/09(火) 01:43:51.70 ID:???
laravelはわりと仕様が変わりまくるから、そういう意味では使いにくいかもね

624 :nobodyさん:2016/02/09(火) 19:27:34.99 ID:???
そういった非推奨になりましたとか、例外もありますってのは、技術書には良くある。
そんなもんは全体から見れば些細なことだ。
まずは全体を俯瞰するようにザーッと読み進める。
で、2回目、3回目に読みなおすときに気になったら調べ直したらいいんだよ。

625 :nobodyさん:2016/02/13(土) 03:02:29.76 ID:PnMLXJ8v
今だと
Slimとかがいいんじゃないかな
コンパクトで勉強のために最初にやるには
もっと大規模なフレームワーク勉強したいっていうならCodeigniterが
初見にはとっかかりやすいって聞いたことあるようなないような
てかLaravelのドキュメントでわからないってy

626 :nobodyさん:2016/02/13(土) 09:23:01.60 ID:???
PHPってのはもともと良くも悪くも緩い言語で
俺なんかもそこが好きなクチなんだが
あまりにも普及しすぎてここ何年かは
「もうちょっとキチンと集団行動のことなんかも
考えてくれないと困りますねー」
みたいな空気になってる気がする
Java的なスーツ着てタイムカード押してみたいな雰囲気ね
言語仕様そのものもそっち方面の拡充が著しい
典型的には引数の型指定がスカラー型でもできるようになったり
まともなクロージャーが使えるようになったり

Laravelはまさにそういう過渡期に発展してきたわけで
空気の変化をもろに受けてるように思う
最初の頃はPSR?どうでもええやんー
名前空間?ユーザーは気にせんでもよろしおまんがなー
みたいな感じだったのが
どこに出しても恥ずかしくないくらいに「キチンと」してきてる
でもそこが古いタイプの(なんでもアドリブでこなしてきたような)
PHPプログラマーには馴染みにくい要因なのかなと思ったりもする

まあ他のフレームワークもそのへんの事情は同じなんだろうけどさ
超長文失礼

627 :nobodyさん:2016/02/14(日) 18:04:23.37 ID:???
長文乙

628 :nobodyさん:2016/02/19(金) 20:38:12.29 ID:h76Yl8/d
Laravel5.1からのディレクトリ構造は好きだね
PSR-4とclassmapのいい感じの使い具合がプログラマの妙だね

629 :nobodyさん:2016/02/22(月) 14:53:09.39 ID:???
妙なプログラマーなら俺もその一人だが

630 :nobodyさん:2016/02/24(水) 17:43:58.43 ID:???
.
.
板違い(?)の上に、話をさえぎってしまいゴメンナサイ!(*_ _)人
でも、この板のユーザーさんにも有意義な告知かと思うのでカキコませてください。

★ 謝礼は十分いたします ★ アメブロなどのサイト制作ができる方!! 

アメブロなどを使用してのサイト制作のできる方を早急に求めています!
私はリケジョやPC女子からはほど遠く、サイト作成にはまったく疎いのでとても不自由しています…(> <;)
そこで私に代わりサイトを作成してくださる方を求めてこの場をお借りしました。

■サイトの内容…
アダルト系、違法性、その他公序良俗に反するものではありませんのでご安心ください。

■サイト制作の仕様ベース…
アメーバブログで十分です。願わくばwordpressなどのブログ形式のサイトを希望します。
それに準ずるもので使い慣れたものがあれば別のものでも構いません。

■条件はありません…
技術さえお持ちでしたら、学歴・職歴等は一切問いません。
フリーター、ニート、高齢ニート、コミュニケーション障害をお持ちの方、引きこもりの方、中年失業者、長期無職等、歓迎!

■作業形態…
作業は在宅でやって頂くことになりますので、時間の指定は一切ありません。別のお仕事の傍らに…でもOKです。

■詳細をお知りになりたい方は…
下記メールアドレスまでご連絡ください。詳しく書いた返信文を差し上げます。

※真剣な告知です。冷やかしはご遠慮ください。

井 上
inoue1952w★gmail.com
迷惑メール対策のため@部分を★にしてあります。
実際に送信する際には★を@マークに変えてください。
.
.

631 :うんこぶりぶり:2016/03/05(土) 11:11:33.56 ID:+fEYl8zX
Laravelというかフレームワーク自体が俺は好きじゃない
どんどんコード肥大化していって何が何やらわからなくなる
それで別サービスにわけてAPI使ってなんたらとかもウザい

といってもフレームワークを使わず
素のコードでも嫌い
見てられない

結局何がいいたいのかというと
プログラミングなんて嫌いだってことだ

632 :nobodyさん:2016/03/05(土) 11:58:03.81 ID:???
1から作るのが嫌いだから、Laravel使って楽するんだろうに。
俺だってプログラミングするよりも、美人なねーちゃんと酒飲んでる方が好きだよ

633 :nobodyさん:2016/03/05(土) 13:21:50.55 ID:???
使うことによって
「いかに楽した気になれるか」
という自己満足の部分が大きいな
その点Laravelはいい線行ってると思うわ

634 :nobodyさん:2016/03/05(土) 14:25:48.92 ID:???
でも結局そのフレームワークを理解してる者じゃないとメンテできないというジレンマ

635 :nobodyさん:2016/03/07(月) 21:40:19.44 ID:???
フレームワークと言わずそもそも言語ってそういうもんやろ
文法そのものは全部Cベースで基本同じ
違うのは関数群や標準ライブラリ、環境の類
JSやるなら嫌でもDOMやCSSのことは知らにゃならんし
PHPなら山ほどある(しかもまるで統一感のない)関数群のリファレンスが必須

少なくともLaravelなら読むのはグンと楽になるだろ
実際にメンテするのは慣れてる人じゃないと
確かに結構大変だと思うけどな

636 :nobodyさん:2016/03/08(火) 20:34:05.39 ID:???
なんにせよ、どこの馬の骨が書いたかわからん絡まったコードを紐解く作業よりは、
Laravelの書式を覚えるほうがずっと楽

637 :nobodyさん:2016/03/14(月) 23:46:17.38 ID:???
Microsoftこそこの世の正義と信じてるような人種は
フリーのフレームワークなんぞ馬の骨と本気で思ってたりするから怖い
そしてLaravelの開発者が元.NET開発メンバーと知ると手のひらを返したりする
まあそんな連中はそもそもPHPを使わんがw

638 :nobodyさん:2016/03/15(火) 00:57:48.26 ID:???
.netの何してたのかな?

639 :nobodyさん:2016/03/15(火) 01:25:31.98 ID:???
asp.netじゃね?知らんけど

640 :nobodyさん:2016/03/15(火) 08:52:31.64 ID:???
C#っぽい部分が割とある。ただ、それの実現にマジックメソッド使ってるせいでIDEの補完がお察しという印象。
言語機能の差があるからなあ。

641 :nobodyさん:2016/03/15(火) 12:05:32.86 ID:???
どういうところがC#ぽいのか知りたいです!

642 :nobodyさん:2016/03/26(土) 11:36:47.07 ID:KniYU/rm
日本語の本、他には出ないのかな?

643 :nobodyさん:2016/03/26(土) 12:36:26.04 ID:???
海外に比べてなぜかくそ盛り上がってない。
たしかにLaravelじゃなきゃいけいない理由はないんだけども
日本は新しい技術を取り入れる柔軟性がないのかもね。

とかく学習コスト、ランニングコストを気にして現状維持でガラパゴス化する。
気がついたときにはiPhoneみたいな黒船に全部かっさらわれるという連鎖。
アメリカのエンジニアの倍くらい働いて、半分程度しか給料もらえないから、
そんな余裕もないのかもしれんね

644 :nobodyさん:2016/03/26(土) 14:39:54.14 ID:???
勤務中に新しいフレームワークの勉強なんぞしてたら怒られるしな
片手間に学べるほど学習曲線の緩やかなものでもない
ガラパゴスなプログラマにとっちゃね

645 :nobodyさん:2016/03/26(土) 14:52:44.81 ID:???
laravelを選択する人って公式ドキュメント読んで大体使えるから書籍あんま必要としてないんじゃないの…

646 :nobodyさん:2016/03/26(土) 16:11:24.06 ID:???
Googleは勤務時間の10%で、必ず業務外のことしないといけないんだっけ?
割合は忘れたけど、そんな制度があったはず。

一方そのころ日本では焼きそばを作らせていた

647 :nobodyさん:2016/03/26(土) 16:22:44.81 ID:???
バージョンアップ早い割に大規模な変更多いし日本語の情報も無いからガチでやってない奴はきついと思う

648 :nobodyさん:2016/03/26(土) 18:46:52.47 ID:???
まあしかしここんところはそんな激しい変更も必要ないじゃん

そんでちゃんと使えるようになると万能感ハンパないわ
一人でいきあたりばったりにやってるからDIやテストは活用してないけど
一人でもそのへんきちんとしたほうが本当はいいんだろうな

649 :nobodyさん:2016/03/26(土) 20:43:01.47 ID:zEMbv6Qg
そろそろ書籍でて欲しい

650 :nobodyさん:2016/03/26(土) 22:01:43.23 ID:???
いや、5になったときに、ごっそり変わったけど。
でもしばらくはサポートするらしいから、書籍化とか、勉強するなら今だよね

651 :nobodyさん:2016/03/26(土) 22:52:25.16 ID:???
ディレクトリ構造とかど派手に変わったりして面を食らうけど
ガイドに従うだけであっさり移行できたんで
追従が大変という印象がほとんどないや

>>640
laravel-ide-helper入れても警告だらけになるのは嫌よね
実装上変え辛い部分だろうし、6辺りで対応してもらえるといいな

652 :nobodyさん:2016/03/26(土) 22:58:01.72 ID:???
5になったのなんて随分前じゃんw
最近ってのは5.1とか5.2の話ね

653 :nobodyさん:2016/03/27(日) 23:53:21.03 ID:???
なんていうかララベルって響はいいよな。
なんか、ピクニックみたいな楽しいリズムがあるよ。
コードイグネイターやら、ケークなんて響よりずっと良い。

654 :nobodyさん:2016/03/28(月) 02:43:08.05 ID:???
昔、魔法少女ララベルってアニメあったな

655 :nobodyさん:2016/03/28(月) 21:11:12.48 ID:???
クエリビルダーで質問なんですが、
...->union($users)->where('id','1');
というように書いてunionで結合した後にその結果を
条件で抽出したいのですが、
投げられているSQL文を見るとなぜかwhere('id','1')されてから
union($users)されています。

これはクエリビルダーの仕様なのでしょうか?

656 :nobodyさん:2016/03/28(月) 21:59:42.83 ID:???
順序は関係ないだろうな
Laravel的なやり方からするとそういう場合
クロージャの中にUnionを入れることになりそうだが
実際selectにクロージャを入れられるかどうかは知らない

657 :nobodyさん:2016/04/03(日) 21:17:17.61 ID:???
Schema::create('profiles', function (Blueprint $table) {

$table->increments('id');

$table->integer('user_id')->index();

$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade');

$table->string('mouse');

$table->string('keyboard');

$table->timestamps();

});

こんな感じのプロフィールを作成しようと考えています。
protected $fillableの場合は、mouseとkeyboardだけで良いと思いますが、
protected $guardedの場合は、どれを指定しておけばよいのでしょうか?
(mouseやkeyboard以外にも追加するとき、いちいちfillableに追加するのが面倒なので)

timestampsなどは自動的にguardedされていませんよね?

このへんの詳細がドキュメントなどに載っていなかったので質問させていただきました。

658 :nobodyさん:2016/04/03(日) 22:14:10.41 ID:???
guardedプロパティは初期設定がワイルドカードだからノーガード戦法するなら空配列で上書きかな。まあ存在しないカラムに値を代入されたらアウトなので、これだけだと入力チェック必須だよね。

Modelのブート時とかにDB参照して自動的にカラム名持ってくるのはできなくもないかな?


初期設定の値からして、guardedプロパティをワイルドカード、fillableプロパティを最小限で使うのが暗黙的な推奨。

その上で利用の都度、値を1つずつ代入するか、Model::fillable()メソッドを呼び出してfillableを上書き・複数代入できるフィールド名を明示的に指定するかが安全。

と言っても利便性と安全性はトレードオフなので、
1つのモデルに対して複数の新規登録、更新アクションがない場合はfillableプロパティ直指定で済ませる、といったところ。

たまにfillable指定し忘れてキーってなるのは安全のためと思って我慢

659 :nobodyさん:2016/04/03(日) 23:10:07.07 ID:???
ありがとうございます。
とりあえずはfillableでいこうかと思います。

660 :nobodyさん:2016/04/04(月) 17:36:02.77 ID:???
Schema::create('profiles', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id') ->unsigned();
$table->string('mouse') ->nullable();
$table->string('keyboard') ->nullable();
$table->timestamps();

$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade');
});

上記のprofilesテーブルに、ユーザー登録時に同時作成(mouseとkeyboardはnull)するにはどうすればよいでしょうか?
profile用のフォームなどは用意せず、ただ単にregisterでユーザー登録された際に、user_idとtimestampsが挿入されるようなシステムにしたいです。

661 :nobodyさん:2016/04/05(火) 12:05:26.55 ID:???
public static function boot()
{
parent::boot();

self::created(function($user)
{
$profile = new Profile();
$user->profile()->save($profile);
});
}

このコードぶっこんだら出来ました。失礼しました。

662 :nobodyさん:2016/04/05(火) 17:49:00.86 ID:???
laravelのftpクラスとかありますか?

663 :nobodyさん:2016/04/07(木) 08:49:25.07 ID:???
そういうのはstorageでやるんだろうなあ
実際のファイルの物理的な場所は
下位のドライバに任せるという発想

664 :nobodyさん:2016/04/09(土) 18:29:01.00 ID:???
5.2のmake:authでviewに {!! csrf_field() !!}と書かれていたのですが
結局は!マーク無しと変わらないんですかね?

どちらが正しいのでしょうか?

665 :nobodyさん:2016/04/13(水) 22:33:21.55 ID:???
!あるとエスケープしない
ないとエスケープする

666 :nobodyさん:2016/04/17(日) 04:02:12.44 ID:???
しかし5.2になって認証周り楽になったよなぁ

667 :nobodyさん:2016/04/17(日) 10:42:26.29 ID:???
うんうんadminと分けやすくなってほんとうれしいよ

668 :nobodyさん:2016/04/17(日) 10:46:37.12 ID:???
んなもん、ユーザーIDで分ければいままでだって簡単やん

669 :nobodyさん:2016/04/17(日) 10:49:10.39 ID:???
別テーブルがうれしいなって。

670 :nobodyさん:2016/04/17(日) 11:10:03.24 ID:???
喜んでもらえて僕も嬉しいです

671 :nobodyさん:2016/04/17(日) 11:40:14.73 ID:???
PHPカンファレンス 未だにCakePHPerのがずっと多くて暗澹たる思いになった
海外から完全に取り残されてる感じ
一流なハズの人たちがそれまでの資産もあって Laravelになかなか移りたがらない
日本発なサービスがあんまない、あってもパチンコの市場くったソシャゲばっかりなのは
こういう保守性もあるんじゃないかと思ってしまった

672 :nobodyさん:2016/04/17(日) 15:45:30.48 ID:???
Cakeに比べてLaravel使うメリットって何なの?

673 :nobodyさん:2016/04/17(日) 17:46:05.11 ID:???
世界的ですもんね
乗るしかない このビッグウェーブに

674 :nobodyさん:2016/04/17(日) 18:35:11.82 ID:???
<input type="text" name="name" value="{{ old('name') or $user->name }}">
orで三項演算子になるはずが、なぜか1と表示されてしまう(データベースに存在しているのに)

{{ old('name') ? old('name') : $user->name }}
こっちは正常に動作

教えてドラえもん

675 :nobodyさん:2016/04/17(日) 18:40:33.91 ID:???
>>672
デザイナーあがりの自称エンジニアでも作れるかと

676 :nobodyさん:2016/04/17(日) 19:40:35.32 ID:???
>>674
or は論理演算子よ
評価対象の値をそのまま使いたい時は a ?: b

677 :nobodyさん:2016/04/17(日) 20:34:23.14 ID:???
>>674 は bladeのor記法のことを言ってるんだろう。
{{ isset($name) ? $name : 'Default' }}

{{ $name or 'Default' }}
のように書ける。
逆に言うとorの左辺はisset()に噛ますことのできる変数じゃないとダメ。

storage/framework/views下にbladeが吐き出したphpファイルがあるから見てみるといい。

{{ $name or 'Default' }}
の場合
<?php echo e(isset($name) ? $name : 'Default'); ?>
に変換されるけど
{{ old('name') or 'Default' }}
の場合
<?php echo e(old('name') or 'Default'); ?>
に変換される。
変換されたあとの「or」は >>676 の言う通り論理演算子。
old(’name’)がnullだろうがなんだろうが右辺がtrueなので結果はtrue。 echoで暗黙的にtrueが1に変換されて出力される。

と、いうかoldの第二引数にデフォルト値渡せるから
value="{{ old(’name', $user->name) }}
とするとプリティー。

678 :nobodyさん:2016/04/17(日) 21:03:51.24 ID:???
>>676
>>677

ありがとうございます、感謝感激です。

679 :nobodyさん:2016/04/18(月) 03:06:09.20 ID:???
>>675
CakePHPよりLaravelの方が簡単なの?

680 :nobodyさん:2016/04/19(火) 21:20:10.93 ID:???
フレンドシップ機能を作るのはポリモーフィック一択ですか?

681 :nobodyさん:2016/04/19(火) 23:44:03.14 ID:???
それほどでもない

682 :nobodyさん:2016/04/24(日) 09:47:57.94 ID:cjecw+VC
5.1と5.2も結構違いあるよなぁ。
5.2はLTSじゃないから、すぐに保守されなくるし。

683 :nobodyさん:2016/04/24(日) 12:22:20.03 ID:???
1度覚えた知識でずっと使えるって前提がもう通用しないのかもしれんね。
新しく作るときは、ドキュメントを斜め読みして、勘所を理解する。
そういった知識より、知恵みたいなのが求められるのかも。
その点、Laravelは音速で日本語化してくれる神がいるから心強い。

LaravelでWebサービスを一から作れる人は、そんなの慣れっこかもしれんけど。
初心者向きではないね。

684 :nobodyさん:2016/04/24(日) 14:15:01.74 ID:???
マルチ認証まちこがれてたんで5.2

そうでないなら手を出すべきじゃない

685 :nobodyさん:2016/04/25(月) 02:27:51.16 ID:???
laravelはソース読むのが楽しい
オレオレ作ってみたくなる

686 :nobodyさん:2016/04/27(水) 22:54:45.04 ID:???
一部のバリデーションルールを、追加でなく、置き換えるにはどうしたらいい?

alpha_numやemailが使えないので

687 :nobodyさん:2016/04/27(水) 23:28:11.89 ID:???
>>686
あ、速攻で自己解決したった

publicじゃなくprotectで定義すりゃいいだけか

688 :nobodyさん:2016/04/28(木) 00:09:09.79 ID:???
symfonyと比べていいところ、悪いところを教えて欲しいです
どっち使うか迷ってます

689 :nobodyさん:2016/04/28(木) 00:10:42.54 ID:???
ggrks

690 :nobodyさん:2016/04/28(木) 05:53:40.76 ID:p+4kmhwo
結局はcomposerでコンポーネント管理してるだけで
別にフレームワーク間の違いなんて気持ち違うぐらいだろ

691 :nobodyさん:2016/04/29(金) 18:16:53.98 ID:???
日本だと今一盛り上がってないけど、
cakeを勢いで超える日は来るの?

692 :nobodyさん:2016/04/30(土) 04:34:59.01 ID:???
>>688
機能面で言えばSymfonyなんだろうが、
YMLとアノテーションの重厚長大な作りが疲れるんだよね
手間に合わないというか現実的じゃないというか…
それがLaravelに移行した理由

693 :nobodyさん:2016/04/30(土) 14:56:23.62 ID:???
resourceコントローラーのupdateメソットでカスタムリクエストを利用しているのですが、
rulesのuniqueにどう除外idを引き渡せば良いのか分かりません

teamsテーブルのチーム名(name)を更新する構造です。

public function rules()
{
return [
'name' => 'required|unique:teams,name,'.$teams.'|max:20',
];
}

putでteams\{$teams}に渡していますので、$teamsを参照できると思ったのですが
どうにもLaravel5では対応していない模様です。

どなたか教えて下さい...

694 :nobodyさん:2016/05/01(日) 08:29:33.09 ID:???
ルールの定義にRequestで渡した文字列を使いたいということ?
発想の根本が間違ってる気がするが・・・

695 :nobodyさん:2016/05/01(日) 09:18:58.66 ID:???
>>693

BasseCotrollerでrules定義を置換してるな
unique:user,email,{email},user_id
とか書けるように

↓なの作っておくといろいろ使える

/**
* 文字列中の {id} を$model->id で置換
*/
protected function replaceKey($str, $model)
{
if (preg_match_all('/\{([^}]+)\}/', $str, $matches, PREG_SET_ORDER))
{
foreach($matches as $m)
{
if (isset($model->{$m[1]})
{
$str = str_replace($m[0], $model->{$m[1]}, $str);
}
}
}
return $str;
}

スマホで書いたからタイポしてたらすまそ

696 :nobodyさん:2016/05/01(日) 10:26:27.75 ID:???
>>695
まちがえた
unique:user,email,{user_id},user_id

697 :nobodyさん:2016/05/01(日) 12:15:14.70 ID:???
policyクラスでどうしてもfalseしか返ってきません。
policyのcreateメソッドには必ず第二引数の設定が必要なのでしょうか?
ダミーとして第二引数にBook $bookを入れて単純にtrueを返すだけにすれば、認可は成功しました。

//BookPolicy
public function create(User $user)
{
$book_count = $user->books()->count();
if ($book_count <= 3)
{
return true;
}
return false;
}

//book controller
public function create()
{
$this->authorize('create');
return view('book.create');
}


ログイン中のユーザーの本の数をリレーションでcountして、そして3冊以下ならtrueを返したいです。

698 :nobodyさん:2016/05/14(土) 19:42:13.00 ID:???
もしかしてresourceコントローラーだと
$router->model('user', 'App\User');
が使えない?

699 :nobodyさん:2016/05/16(月) 18:22:55.13 ID:???
authorizeForUserはblade側で操作できんのか?

700 :nobodyさん:2016/06/17(金) 19:45:17.23 ID:0ni1tzXz
              【Win10】    こんな犯罪級OS薦めんなよwww   ↓   【スパイウェア】


この使用許諾契約書には書かれています
”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”
開示する ここ重要だよ
契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです
https://www.youtube.com/watch?v=ZBwEmgdqB1c



「1910」 副島隆彦 2016年6月16日

大阪市や大阪府のバスの運転手が年収1000万円は許せない、600万円まで落とすと。
なぜなら、普通の労働者たちが年収400万円でようやく働いているのに、何でバスの運転手が1000万円ももらえるんだと。

このものすごくすばらしい主張があった。
これを言われると日本の民主党や共産党は非常に困るんです。
が、先ほど言ったように、金持ちたちの財産を相続税で国家が奪い取る、これを正面から本気でやったらほんとに橋下はたたき潰されました。

労働組合を押さえつけるまでは安倍晋三たちも大好きだからよかったんだけど、
自分たち自民党体制の、金持ちと地主階級、経営者を大事にするという自民党の基本骨格があるわけです。

701 :nobodyさん:2016/09/02(金) 17:40:56.84 ID:udqE/7kQ
Laravel布教あげ

702 :nobodyさん:2016/09/03(土) 18:05:27.77 ID:???
アップデートあったのか不安になる勢いだな

703 :nobodyさん:2016/09/03(土) 19:26:15.20 ID:???
5.3正規リリース来たのか
Vue.jsとの統合がどうなってるのかは気になるな

704 :nobodyさん:2016/09/03(土) 20:38:17.86 ID:???
Laravelは好きなのに最近のフロントエンドへの干渉がどんどん強くなる流れは嫌いだわ
ElixierにしろVue.jsにしろデフォでpackage.jsonに入れる必要性が理解できない
フロントエンド開発に任せるべき範疇だろ

705 :nobodyさん:2016/09/03(土) 21:52:51.10 ID:???
この細かい互換性とか気にせず、ばっさり切り捨てる感じ嫌いじゃない

Vue.jsってObjective-C初めて見たときみたいにひょぇぇぇ〜ってなるから、まだみたくないな

706 :nobodyさん:2016/09/03(土) 22:39:07.63 ID:???
いやなんだかんだ言ってフロントエンドの開発負荷ってデカいから
そこが組み込まれるのはありがたいわ
アングラーとか覚えるのと自分でゴリゴリ書くのと
どっちが早いか迷って後者を選んで泥沼化したりもしたし
フロントのコードにもLaravelなりのベストプラクティスを提示してほしいと思ってた

707 :nobodyさん:2016/09/05(月) 18:08:44.11 ID:rU0XF8Hm
好き嫌いはっきり別れてるのがまた面白い

708 :nobodyさん:2016/09/05(月) 23:52:26.80 ID:???
好きもの憂きもの定々と別れしことげにいとをかし

709 :nobodyさん:2016/09/08(木) 08:02:12.45 ID:???
>>508 みたいな書き方って今でもする?

710 :nobodyさん:2016/09/08(木) 22:11:04.23 ID:???
4.2のdocsだとtemplatesで508の書き方が紹介されてるけど、
5.0からは@yield使ってるから今はこっちが主流でいいのか。

711 :nobodyさん:2016/09/11(日) 09:33:28.61 ID:pKL9BxyH
Vuejs なんて学習コストめちゃくちゃ低いだろ

712 :nobodyさん:2016/09/12(月) 08:44:27.28 ID:???
そうなの?なんかめんどくさそう

713 :nobodyさん:2016/09/14(水) 01:18:29.84 ID:at03GRgT
vuejs は付近のライブラリ含めてドキュメントが日本語化されてる。あとはコンポーネント的な概念を理解するのと、fluxは恐らく導入不可避になるので、fluxの概念になれるだけ。あとは開発環境さえ整っていればめちゃ楽です。
小から中規模まで、少人数で構築するSEO気にしないWebアプリケーション構築するなら充分対応できます。実装としてはLaravel関係ないけど、pagekitの実装が参考になるかと。

まぁ、ただ日本自体SPA前提の案件てなかなかないよね。

714 :nobodyさん:2016/09/17(土) 00:53:57.05 ID:???
ハイブリッドアプリとかデスクトップアプリケーションならjsにもいろいろ選択肢あって楽しいんだけどな。
ただサーバサイドエンジニアがフロントエンドもガッツリ攻めていくのはかなりの体力がいる

715 :nobodyさん:2016/09/17(土) 05:31:50.86 ID:???
大昔ならAccessでやったような業務アプリの案件を
流石に今からAccessでやる選択はないし
じゃあVBとかVCにMSSQLでやんのかつったらそれもまた(Windows自体の将来性に疑問符)
ということでいっそWebアプリでっていうのはごく自然な流れだと思うんだけど
実際やるとフロントエンドが大変すぎて死ぬよね
Access並みの手軽さでサーバサイドとデータバインドできるUIコンポネが一揃セットになってれば
一気に広まる可能性あると思うんだけどな
HTMLやFormのファセットをオプション化した流れはその逆のようにも思われる

716 :nobodyさん:2016/09/17(土) 08:47:34.84 ID:???
ASP.NETにしなよ

717 :nobodyさん:2016/09/17(土) 10:53:43.54 ID:???
バックエンドがUIのデータバインディングまで面倒見るとか勘弁してくれ
2年経たずに手の付けられない負の遺産となる

718 :nobodyさん:2016/09/17(土) 13:39:47.41 ID:vn38yU9E
Windowsはビジネスユースなら今後もなくならんやろ

719 :nobodyさん:2016/09/17(土) 22:48:49.48 ID:???
最近の施策で.net案件のプロプラ不安は全部解消されたな。全力注いでるのが分かる
あとは受け入れられるかどうかと、キャッチアップが遅すぎる>>715みたいな老害のプライドをいかに刺激しないように説得するか。現場の手腕次第だな…
バカほど声が大きいからな

720 :nobodyさん:2016/09/18(日) 01:20:28.14 ID:???
ふむ
嫌味を返すなら全力注いでる=なりふり構わず生き残りに必死
ってところだけど
確かに現状のASP.NETは十分選択肢になりそうだな
サードパーティ製の業務アプリ向けUIコンポネなんかも
歴史が長いだけあってそこそこ整備されてるようだ
業務用ならゲイツプラットフォームという根拠のない思い込みも(発注側に)根強くある
こうなるとこの分野へのLaravelの浸透は難しいかもな

721 :nobodyさん:2016/09/18(日) 13:13:41.93 ID:JZF2WVvX
ReactだったりVuejsだったり、現状でもサーバーサイドレンダリングできるけど現実的ではない。
Vueも2.0でSSR対応できるみたいだけど、実用では使えないと思う。まだ1、2年かかる気がするし、時が経てば経つほどSEO目的のSSRは考えなくても良くなるだろうし。

今後バックエンドでは、いかに使いやすいAPIを作るかってとこが注視されていくんではないかと。
そこの領分がきっちり別れるようになると、バックエンドもフロントエンドも幸せにはなると思うね。理想論かもしれないけど。

722 :nobodyさん:2016/09/18(日) 23:40:08.03 ID:???
GraphQLってどうなんじゃろ

723 :nobodyさん:2016/09/18(日) 23:45:39.64 ID:???
>>717
今更のレスだがjQueryでBootstrapな基礎はもう変わらないんじゃね?
それこそASP.NETも(フロントはC#捨てて)そうなってるみたいだし

724 :nobodyさん:2016/10/04(火) 09:54:48.11 ID:???
APCでキャッシュしてるんだけど、教えて

・コンソールでphp artisan cache:clearとか、自作コマンドでCache::forget呼んでもキャッシュが削除できない。同じキーで取得はできる
・routes.php内で同じソースを実行すると取得も削除もできる

これって何が原因だろ?console経由だと読み込まないconfigとか実行ユーザの違いとか?

725 :nobodyさん:2016/10/04(火) 10:18:03.18 ID:???
>>724
apc.phpでキャッシュクリアできるかどうか試す。
できた場合→apc.phpで実行しているコードをコピペ。
できない場合→わからん。

726 :nobodyさん:2016/10/04(火) 11:01:48.06 ID:???
apcならそうなる

727 :nobodyさん:2016/10/04(火) 13:34:17.25 ID:???
>>724
> 同じソース
というのが幻想

728 :nobodyさん:2016/10/04(火) 13:35:10.79 ID:???
>>724
> 実行ユーザの違い
でしょ

729 :nobodyさん:2016/10/08(土) 10:39:08.28 ID:???
初めてlaravel使うんだけど、
全ページ、ルーティングしなくちゃだめなの?
静的ページが100ページくらいあるんだが。
publicに静的ページ置こうか考えたけど、viewテンプレートは使いたいから却下。
ちなみにver5.1。
誰か分かる人ご教授ください。

730 :nobodyさん:2016/10/08(土) 10:50:56.41 ID:???
ルートパラメータ使えばいいだろ
それでなんとかならないようなら
そもそもフレームワークを使う意味が不明では

731 :nobodyさん:2016/10/08(土) 11:59:58.63 ID:???
前ページルーティングって恐ろしい思考回路だな
そもそも使うの初めてなら、まずは他の人がどうやって似たシステム組んでるのか調べる方が良いよ
勉強には先人の知恵に習うのが一番

732 :nobodyさん:2016/10/08(土) 14:14:51.15 ID:???
返信ありがとう。
丸2日くらい検索したけど出てこないんだ。最後の砦としてここで聞いてる。

ひとまず、ルートパラメータでやってみたけど、

//通常のルーティングされなかったら以下実行
//static html
Route::get('/{url1?}/{url2?}', function ($url1 = null, $url2 = null) {
//home
if (!$url1 && !$url2) {
return view('welcome');
}
if (!$url2) {
return view($url1 . '.index');
} else {
if (view()->exists($url1 . '.' . $url2)) {
return view($url1 . '.' . $url2);
} else {
return view($url1 . '.' . $url2 .'.index');
}
}
});

こんなでいいのかな?
第二階層までしか対応出来ないのがアレだけど。
もっといい方法あったら教えてください。

733 :nobodyさん:2016/10/08(土) 14:30:09.56 ID:???
あんまりララベリッシュじゃないけど動くだろうからそれでいいんじゃね?
もっといい方法といってもなあって感じ
そもそも大量の静的ページってのが根本的に合わないわけで
bladeテンプレを使いたいっていうからには少なくとも「ある意味」動的ではあるはずだと思うんだけど
動的に変わる内容が何一つ整理できない(全てを個別に扱うしかない)なら
もうそれ以上やりようがないんじゃないかと

734 :nobodyさん:2016/10/09(日) 04:57:13.56 ID:???
>>732
こんなんでどう?最後のスラッシュが$_SERVERからしか取れないのが残念なところだが。

Route::get('/{url?}', function($url=null){
if(is_null($url))
{
return view('welcome');
}else{
$segments = explode('/', $url);
$path = implode('.', $segments);
if(ends_with($_SERVER['REQUEST_URI'], '/'))
{
$path .= '.index';
}
return view($path);
}
})->where('url', '.+');

735 :nobodyさん:2016/10/09(日) 05:23:17.40 ID:???
よー考えたらexplode,implodeじゃなくてreplaceでいいな。どうせ最後にスラッシュつかないんだし

736 :nobodyさん:2016/10/09(日) 06:30:33.05 ID:???
つかそれで$urlにスラッシュ含めた残りのURL入ってくるか?
5.1で試したが2階層以上あるとエラーになるぞ

737 :nobodyさん:2016/10/09(日) 06:37:26.72 ID:???
ついでに言えばREQUEST_URIも俺の環境では最後のスラッシュが削除されるようだ
そういうWebサーバの仕様に依存しそうなコーディングはいかがなものかと
Laravelとは1ミリも関係ない話でもあるが

738 :nobodyさん:2016/10/09(日) 07:17:04.12 ID:???
>>736
5.1だと入らないのか。5.2だと入るからいけるのかと思ったわ

739 :nobodyさん:2016/10/09(日) 07:35:48.54 ID:???
いや5.3でダメだから既存の5.1環境で試してやっぱりダメだったんだが・・・
パラメータ2つ以上だと普通にNotFoundHttpExceptionになる
なおPHP7のXampp

740 :nobodyさん:2016/10/09(日) 11:02:36.27 ID:???
おお、すごい。とても参考になりました。ありがとう。
若干改変(改悪かもしれない)したやつを書いておきます。

Route::get('{url?}', function($url=null){
// '/{url?}'としたとしても、htt://hoge.com/でアクセスした場合、
// 何故か$urlにスラッシュが入るので。いっそのこと{url?}で受け取り
// 普通に比較に変更
if ($url === '/') {
return view('welcome');
}

// replaceで。
$path = str_replace('/', '.', $url);

if(ends_with($_SERVER['REQUEST_URI'], '/')){
$path .= '.index';
}

if (view()->exists($path)) {
return view($path);
}

// 番兵的な。
//through all
abort(404);

// 一応、普通のURLで使うやつだけにしときます。
})->where('url', '[a-z0-9\/\-\_]+');

本当助かりました。ありがとうございます。
キレイにコード書ける人ってかっこいい。

741 :nobodyさん:2016/10/09(日) 11:19:10.28 ID:???
おっと、5時間かけて検証しながらレス書いてる最中に色々レスついてた。
一応、上に書いたやつでおれの環境だと動いてる。
若干スレチ気味で申し訳ないが、サーバーの問題なのかな?
検証はVM環境(homestead)php5.6。

742 :nobodyさん:2016/10/09(日) 12:09:56.73 ID:???
CentOS6にapacheにPHP5.6の環境でもやっぱり
スラッシュ区切りの文字列を単独のルートパラメータとして受け取ることはできないようだ
別ルートと判断されてNot Foundになる
HomesteadはUbuntuにNginxなんだっけ?
ApacheとNginxの挙動の違いくさいな
URI末尾のトレイリングスラッシュについてもApacheとNginxでは当然処理の仕方が違う
Apacheでは.htaccessのリライトルールで末尾スラッシュなしのURIにリダイレクトされるから
REQUEST_URIで末尾スラッシュをチェックしても無意味になる
まあ特定環境で動けばいいわけだろうけどもし実稼働環境が開発環境と違えば
この辺理解しておかないと慌てることになるかもだな

743 :nobodyさん:2016/10/09(日) 13:53:14.30 ID:???
そういうことなのか。
何故おれはNginxでやっていたのか...実稼働はapacheなのに。
ということで、環境をapacheに変更してやってみた。

トレイリングスラッシュについてのリダイレクトは勝手にしてくれなくていいので、
htaccessの該当部分を削除して、
$_SERVER['request_uri']で、url末尾の/はとれるように。

こちらの環境ではスラッシュ区切りの文字列でも一つのルートパラメータとして、
受け取ってくれてるんだけどなー。
何が原因かわからないと、何かモヤモヤするね。

744 :nobodyさん:2016/10/09(日) 15:18:17.27 ID:???
HomesteadのNginxでも試してみたが
やっぱり複数スラッシュを含むURLはそのままエラーになるぞ
他にも/{url1}/{url2?}とかのルートが定義されてて
そっちが動いてるんじゃないだろうね?
こっちがおかしいとしたらどうおかしいのかさっぱりわからん
本当にどうでもいいことなんだが原因がわからんとイラつくわ

ちなみにNginxだからトレイリングスラッシュはちゃんと残るようになった

745 :nobodyさん:2016/10/09(日) 16:47:00.74 ID:???
create-projectで新規に作ったから、他のルート定義はしてない。

やりたいことは実現できてるんだけど、
なんで出来たり出来なかったりするのか気になるから、
そっちの環境でも出来るようにしてみて欲しい。わがままな話だけど。
俺の方がおかしいのかもしれんし、再現性あるかも知りたいし。
環境はlaravelのver5.1.45
英語だけど、一応同じようなことやってるの発見した。
https://laracasts.com/discuss/channels/code-review/dynamic-uri-segments-in-laravel-5

746 :nobodyさん:2016/10/09(日) 16:48:41.61 ID:???
REQUEST_URIはサーバによって違うよ
デフォルトで定義されているものを変更することもある
使わなくて済むなら、使わないほうがいい

747 :nobodyさん:2016/10/09(日) 19:32:05.26 ID:???
>>746
いやそこはいいんだよ
/param1/param2
のようなURLを
Route::get('/{url?}', function($url = null) { return $url; });
のような形で受けられるかということ
俺がやるとどの環境でもNotFoundHttpExceptionになる
>>745がやるとparam1/param2が返るらしい

>>745
んなこと言われてもなw
そもそもルーティングされてくれないんだからどうしようもないわけだが

748 :nobodyさん:2016/10/10(月) 00:34:49.96 ID:???
>>747
homesteadでも試したけど取れたわ。
> Route::get('/{url?}', function($url = null) { return $url; });
> のような形で受けられるかということ
->where('url','.+')が足りないとかそういう問題ではないよね?

749 :nobodyさん:2016/10/10(月) 00:48:28.70 ID:???
>>748
いやそれですわorz
whereで条件を「緩める」という発想が一切なかったようでそこ目に入ってなかった
そういう仕掛けだったのね・・・お騒がせしますた

750 :nobodyさん:2016/10/12(水) 00:29:06.63 ID:???
laravelで作ったアプリを複数のapサーバでバランシングする予定なんだけど、apサーバ自体にはcomposerとか必要ないよな? なんか入れないでもファイルコピーだけで動くっぽいんだけど。

751 :nobodyさん:2016/10/12(水) 08:04:51.42 ID:???
物を壊したら弁償するのは理解できても風評被害を食らわせてもやった側に何の罪もない された側が悪いという考え方のカスはおかしい。

752 :nobodyさん:2016/10/12(水) 08:32:49.98 ID:???
物を壊してもそこまで怒らせるような行動を普段からしてるほうが悪い
という考え方の人もいますよ
うちの嫁ですけどね

753 :nobodyさん:2016/10/12(水) 08:53:28.79 ID:???
>>750
vendorもまるっとコピーするなら不要

754 :nobodyさん:2016/10/12(水) 09:03:44.95 ID:???
まあしかしデプロイ先でもアップデートとかできるようになってるほうがいいわな
転送もgitでやるほうが何かと都合がいいし
そう考えると鯖それぞれに一通り環境は作っておいたほうが良さそう

755 :nobodyさん:2016/10/15(土) 10:19:07.64 ID:???
デプロイ先でアップデートとか愚の骨頂か

756 :nobodyさん:2016/10/17(月) 13:09:19.93 ID:???
>>755
ポリシーの違いだよ
君のやり方以外も許容しなよ

757 :nobodyさん:2016/10/17(月) 18:29:10.68 ID:???
https://github.com/andersao/l5-repository

Laravelにリポジトリパターン導入しようと思ってるんだけど
PresenterとかCriteriaの概念がイマイチ分からない

ggってもここらへん詳しく解説してるサイトとかないし、ベストプラクティスが全く分からない
誰か教えてください

758 :nobodyさん:2016/10/17(月) 23:42:18.86 ID:???
まずEloquentを捨てます

759 :nobodyさん:2016/10/18(火) 15:34:34.66 ID:???
次にEloquentを拾います

760 :nobodyさん:2016/10/18(火) 23:51:29.59 ID:???
eloquentなんか使わんでもクエリービルダーだけで何とかなるで。

761 :nobodyさん:2016/10/18(火) 23:55:27.91 ID:???
アーティ=サンからmigration作った時にmigrationファイルが自動的に日付+テーブル名になるのマジやめて欲しいんだけど何とかならんの?
テーブル定義したいのにクソファイル名のせいでファイル探すっていう無駄な工程が発生しよるんだが。
ターミナルからだと一発補完も出来ねえし。

762 :nobodyさん:2016/10/19(水) 01:12:44.30 ID:???
アーティさんって誰だと思ったらArtisanのことかw
マイグレーションファイルを探すのに手間取った経験は全くないんだが
どうやったらそんなに苦労できるんだ?

763 :nobodyさん:2016/10/19(水) 03:39:37.96 ID:???
>>762
作ったファイル開くまでに何回キー叩かせるんだよ。
ディレクトリのシンボリックリンク貼ってても10回近くキー叩くぞ。むしろアーティ=サンからファイル作ったら即vimで開いてほしいわ。

764 :nobodyさん:2016/10/19(水) 04:13:21.70 ID:???
どうでもいいがArtisan=職人な
普通カタカナではアーティザンと書くと思う

で、ファイル選択はGUIでエディタ使えば済む話なんだよなあ
みんながSublime使ってるわけじゃないのはわかるけど
今どきvimやemacsでもないだろと

765 :nobodyさん:2016/10/19(水) 08:09:04.83 ID:???
職人なんだからニンジャっぽくアーティ=サンって呼ぶのは実際礼儀正しいだろ。
ワイはlaravel始めてから間もないからよく分からんのやけど、composerって環境にあんまり依存しないんか?
現在のlaravelアプリの開発環境はほぼデプロイ用のAPサーバと同じにしてて、それってなんでかっていうとlaravelで編集したファイルをrsyncでそのまま転送してるからなんだ。
これが動作環境違うとコケる可能性があるってんならアーティ=サンはローカルじゃ叩けない。

766 :nobodyさん:2016/10/19(水) 08:13:52.62 ID:???
× 叩く
○ オジギ

よく考えたらアーティ=サン自体はcomposerとは関係ないな。試しにローカルでphpバージョンとか合わせずにやってみるわ。

767 :nobodyさん:2016/10/19(水) 08:36:09.83 ID:???
そりゃスゴイフルイ・シンキングってもんだ
むしろjsonさえあればどこでもサクッと環境を揃えられるのが
composerなりnpmなりbowerの強み(の一つ)でしょうに
マイグレーションも同じ目的
だからこそ実行順を保証するための日時が
ファイル名末尾ではなく先頭に必要なわけで

あとrsyncじゃなくgit使ったほうがいいぞ
同時に複数箇所を並行して修正とか「ここ一旦変えたものを見たい」とか絶対言われることのない仕事なら別だが
少なくとも.envが上書きされないように変な工夫とかしなくて済むし
gitプラグイン入れればSublimeの中からコミット&プッシュできるし
何かと捗るぞ

768 :nobodyさん:2016/10/19(水) 08:40:23.98 ID:???
>>766
動作要求さえ満たしていればphpのバージョンによる問題は経験したことがないな
とはいえ確か5.6以上とかだからほぼ最新に限るという意味だが

769 :nobodyさん:2016/10/19(水) 09:58:02.78 ID:???
>>767
そりゃgitは使っておるが。pushした時にpost-updateでrsyncで配布するで。
流石にAPサーバ沢山あるのに全部のAPサーバのディレクトリにgitレポジトリは使わんやろ。ステージ環境までやな、gitは。
そこからpushして撒く感じや。

770 :nobodyさん:2016/10/19(水) 10:16:51.12 ID:???
なるほど
ローカルに環境は作ってないの?
Appファイルは開発サーバ上で直接変更し
デバッグもリモートでやってるわけ?
あとこれは純粋な興味からだけど
DBも各サーバに持ってレプリケーションしてるの?

771 :nobodyさん:2016/10/19(水) 11:06:52.79 ID:???
protected $repository;

/**
* @return void
*/
public function __construct(TeamRepository $repository)
{
$this->repository = $repository;
}

コントローラーだとこんな感じに使えるけど、
これをTestクラスでも使う場合はどうすればいんだ

constructで依存注入してもダメだし、ただインスタンス化してもcontainerがどうとかでダメだった

772 :nobodyさん:2016/10/19(水) 11:16:30.88 ID:???
andersao/l5-repositoryってのがあるけど
それ入れりゃ済むって話でもない?

773 :nobodyさん:2016/10/19(水) 11:24:05.69 ID:???
$this->repository = $this->app->make(TeamRepository::class);

思いっきりマニュアルに書いてました

774 :nobodyさん:2016/10/22(土) 19:27:23.05 ID:???
GitHubで色々Laravelのサンプルアプリ漁ってみたんだけど
どれも1つのModelに対して1つのリポジトリーなんだよね

やっぱりそういう原則が在って、何か理由でもあるのかな?

1つのModelに複数リポジトリー作らないと、
Classが肥大化するし単一責務じゃないんと思うんだけど

775 :nobodyさん:2016/10/23(日) 01:08:34.59 ID:???
多分サンプルだとCRUDのRが2,3で事足りるのしかないんじゃないかね。それこそEloquentそのまま使えばいいじゃんレベルの

よく使うメソッドだけリポジトリにして、
複雑なクエリは1クエリ1クラスにするってのはたまにやる

Eloquent ORMでリポジトリパターンってなんかもやもやするんだよなあ

776 :nobodyさん:2016/10/23(日) 07:42:30.21 ID:???
どこ読んでもDBに書き込んだりするのコントローラーの中でやってるけどモデルの中にメソッド作ってコントローラーから呼び出しすのって駄目?

777 :nobodyさん:2016/10/23(日) 08:22:52.15 ID:???
>>776
全然いいでしょ
普通にやってるぞ

778 :nobodyさん:2016/10/23(日) 18:13:03.50 ID:???
>>777
普通にいいのか
ありがとう

ブログとかの解説読んだだけでサイト作ってたらコントローラー肥大化して困ってたから今度からそう書きます

779 :nobodyさん:2016/10/24(月) 00:48:37.30 ID:???
laravelのautuミドルウェアでログインしてたらjsonで「ログインしてる」って情報返してログインしてなかったら同じくjsonで情報返すようにしたいんですが、どこをいじればいいのでしょうか。
なんか実体はillminateだかのディレクトリの中にいるみたいですけどそこを弄るのは違うし……

780 :nobodyさん:2016/10/24(月) 05:41:53.25 ID:???
>>779
json返すroute作る

781 :nobodyさん:2016/10/24(月) 08:04:03.58 ID:???
>>780
何てことはない、Auth::check()を使えば良かっただけでした。

782 :nobodyさん:2016/10/27(木) 22:47:02.69 ID:???
laravelで作ったWEBサービスのandroidアプリを作成する場合、
アプリはあくまでViewの役割で、laravelのapiを作成+利用という感じがベストプラクティスですか?

783 :nobodyさん:2016/10/28(金) 04:55:45.08 ID:x7Q+ndGR
>>782
ベストかどうか分からないけどそんな感じのを作ったことはある
アプリ側からデータ取るのに必要な情報をpostで受けとり、結果はjson形式で返す

784 :nobodyさん:2016/10/28(金) 21:04:00.38 ID:???
皆はバリデーションの共有はどうやってますか?

自分はrequest側でもview側でも共有化するために
config('validations.maxlength.user.name')みたいにやっています

785 :nobodyさん:2016/11/03(木) 12:15:46.19 ID:???
laravelのhelperで一つ一つfunction_existsでチェックしてるけど
何の意味があるんだこれ

786 :nobodyさん:2016/11/03(木) 17:23:25.16 ID:???
>>785
同名関数を定義しておくと差し替え可能なので拡張出来る

787 :nobodyさん:2016/11/03(木) 20:08:13.21 ID:???
namespaceに置かないんだから当たり前のこと

788 :nobodyさん:2016/11/19(土) 16:41:48.71 ID:???
laradockにsupervisor導入したいんだけど
どこのコンテナにインストールすればいいの

789 :nobodyさん:2016/11/20(日) 03:37:52.96 ID:???
supervisorに何させたいのかによるのでは

790 :nobodyさん:2016/11/20(日) 08:38:12.32 ID:???
workspaceのdockerfileにsupervisorを自分で記述するだけで大丈夫でした

791 :nobodyさん:2016/11/20(日) 19:41:52.68 ID:???
laravel5.3でnpm install実行しようとしたらこんなエラー出て進めない

Unsupported platform for fsevents@1.0.15: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npmは3.10.9、nodeは7.1.0

792 :nobodyさん:2016/11/20(日) 21:46:32.46 ID:???
適当にぐぐったらnpm3.10.8以降がダメらしく3.10.7にダウングレードしろって書かれてるな

793 :nobodyさん:2016/11/25(金) 02:37:29.10 ID:???
ajaxの処理中にセッションの中身使いたい時どうすればいいんだ・・・

794 :nobodyさん:2016/11/25(金) 14:46:52.67 ID:???
別ドメインの場合の話かの?
そんならLaravel無関係じゃぞい
同一ドメインなら普通にセッション取れるはず

795 :nobodyさん:2016/11/25(金) 16:53:22.79 ID:???
認証の話だろうね

796 :nobodyさん:2016/11/25(金) 19:04:26.93 ID:???
>>794
$request->session()->all()
Session::all()
のどちらを行っても何も入ってないからてっきり特殊なことしないといけないのかと

797 :793:2016/11/25(金) 19:37:06.26 ID:???
自己解決しました。
post先のURLをapi.phpに登録してたのが原因でした。

798 :nobodyさん:2016/11/25(金) 20:44:37.74 ID:???
なるほど
5.3でAPI用のルート定義が分かれたんだったか
そしてAPI側とはセッションが繋がらんと
理に適ってるようでもあり不便でもあり

799 :nobodyさん:2016/11/26(土) 11:38:11.88 ID:UHgOhZNm
>>798
不便だす

800 :nobodyさん:2016/11/26(土) 12:03:32.63 ID:???
api.phpのルートはstatelessってドキュメントに明記してあるな
まあ本来いろんなところからサービスを請け負うためのもんだから
自分とこ専用のサービスなら自分のルートでやれってことなんだろう・・・か

801 :nobodyさん:2016/11/26(土) 20:49:00.44 ID:ziF/LSyi
>>791
なんかひでえな。
ポンコツmac以外お呼びでないと。

802 :nobodyさん:2016/11/28(月) 22:00:02.43 ID:???
ユーザーアイコンのアップロードで一時的にstorageディレクトリに保存→キューでリサイズ
このパターンで行こうかなと思ってるんだけど

storageに一時的に保存するのってバッドプラクティスにならない?

803 :nobodyさん:2016/11/28(月) 22:18:25.68 ID:???
そこに置くのが一番バッドじゃない気がするがのう
そこがバッドならどこに置けばグッドだと?

804 :nobodyさん:2016/11/29(火) 01:00:30.43 ID:???
sys_get_temp_dir

805 :nobodyさん:2016/11/29(火) 11:25:42.66 ID:???
storage以外ならtempだろねぇ

806 :nobodyさん:2016/11/29(火) 21:35:38.31 ID:???
キューで必要ならstorageだろう

807 :nobodyさん:2016/11/29(火) 22:40:33.25 ID:???
storage保存で無事キューイングも動作しました。
ありがとうございます!

808 :nobodyさん:2016/11/29(火) 22:52:44.91 ID:???
複数ユーザーが使うならファイル名のバッティングには注意な
どこに置こうと共通する常識の類だが念のため

809 :nobodyさん:2016/12/08(木) 11:45:26.84 ID:???
しっかしまあ、ルーティングからデザインまで全部やると大変ね
楽になったとは言えフレームワークの学習コストもあるし
結局は、なんだかんだ既存のCMSに無いこと実装するわけだし

810 :nobodyさん:2016/12/14(水) 00:26:23.12 ID:???
チラ裏容赦
collectionを継承すると色々使えてメソッドチェーンでサラサラ書けてステキ
とか思って多用してたんだけど
except()なんかが返すのは「新規インスタンス」なんだよね
生のcollectionを直接使うならそれでなんの問題もないけど
継承した子クラスが追加のプロパティを持ってて値が入ってる場合
それらはみんな消えてしまうわけだ
新規インスタンスだから当然なんだけど
結構そのことを忘れてバグを作り込んでしまうんだよな
いや俺がヘボいだけなんですけどね
新規インスタンスじゃなくクローンを返してくれてもいいのにと思った次第
パフォーマンスを考慮しての仕様なのかね

811 :nobodyさん:2016/12/14(水) 10:57:44.98 ID:???
collectionは抽象化されてないのか

812 :nobodyさん:2016/12/14(水) 11:37:39.00 ID:???
>>810
状態を持っていないものに無理やり状態を持たせる設計を見直すか、
破壊的なメソッドを自分で追加するかどっちかだな

813 :810:2016/12/14(水) 11:51:25.45 ID:???
>>811
とりあえずレス感謝れす
趣旨がよくわからんけどCollectionは抽象クラスではないね

except()等のチェイナブルメソッドは具体的にはreturn new static($items);みたくなっているから
たとえばCollectionを継承してFiltersというクラスを作ったとして
$filters->except('filter1')はもちろんFiltersクラスのインスタンスを返す
Collectionではなくてね
しかしFiltersに例えばurlKeyというプロパティを持たせ、初期値以外の値を入れておいて
echo $filters->except('filter1')->url();
なんてやったとしましょう
url()の中で自分のurlKeyを見るとそれはもう空っぽなわけ
伝わるかなこの残念な感じ

>>812
まあそうなんだけどね
継承して拡張することで状態を持たせたいという発想は許されないのかなと

814 :810:2016/12/14(水) 12:02:55.71 ID:???
あと必ずしも破壊的である必要はなくて
return new staticの代わりに

$new_instance = clone $this;
$new_instance->items = $new_items;
return $new_instance;

みたいになってりゃいいんじゃねと思うけど
itemsがprotectedだからセッターを作る必要があって
そうなると隠蔽性が壊れるっていう話なのかなと思ったりしないでもないでもない

815 :nobodyさん:2016/12/14(水) 13:04:11.33 ID:???
継承じゃなく委譲すればいい話では

816 :nobodyさん:2016/12/14(水) 13:12:49.57 ID:???
>>813
責務を増やす事は簡単
その分テストは複雑になる
これは宜しくない
だから専門を新しく作ればいい

$urls = new URLのリスト作る奴($filters, 'urlKey');
assert($urls->url() == $url);

817 :810:2016/12/14(水) 14:58:11.95 ID:???
>>815
プロパティとしてCollectionを持って未実装メソッドはそいつに受け渡す形ってことね
マジックメソッドとか気分的にあんまり使いたくないけどありだよね

>>816
それがベストプラクティスって奴なのかな
今回のケースに限るとフィルタ(要するに絞り込み)の種類がやたら多い上に
クエリパラメータの書き方が統一されておらず(既存サイトの書き換えです)
複数フィルタをまとめて扱うもの(いわゆる詳細検索)もあったりして
やはり各フィルタのクラスがクエリパラメータ生成を受け持つべきと判断した次第なんだけど
失敗だったかもしれないなあ

とりあえずCollectionにラッパーかぶせてチェイナブルメソッドがクローンを返すようにしてみたよ
30個ものメソッドをオーバーライドするんじゃ譲渡のほうがマシじゃんという話もあるがw
まあ一回作っときゃ今後のストレスが減るかなと
パフォーマンスや動作には今のところ問題なさそうですわ
ほんとチラ裏な話が続いて申し訳ないw

818 :nobodyさん:2016/12/22(木) 15:16:25.99 ID:???
HasManyのEagerLoadingでlimit設定設定したいのですが

Post::with(['comments'=>function($query) {
return $query->limit(5);
}])
->get();

これだと1つのポストあたり5件じゃなく、全てのポストから5件を取得してしまいます。

解決策はないですかね?

819 :nobodyさん:2016/12/22(木) 15:29:57.75 ID:???
>>818
ない

820 :nobodyさん:2016/12/22(木) 17:31:15.24 ID:???
> >>818
> ない
いや、なんかあんでしょ

821 :nobodyさん:2016/12/22(木) 18:19:17.34 ID:???
eager loadingがどういうSQLに展開されるか調べてみそ
無理だとわかるから

822 :nobodyさん:2016/12/24(土) 22:34:54.53 ID:???
ドキュメント読んでもイマイチ分からないんですけど
laravel passportの主な実用例というのはどういったものでなんでしょう

823 :nobodyさん:2016/12/25(日) 10:04:32.03 ID:???
質問の意図がよくわからんが
とりあえずoAuthがどういうものかはわかってるのかな
それがわかれば実用例も自ずとわかりそうなものだが

824 :nobodyさん:2017/01/19(木) 10:15:17.80 ID:???
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja

825 :nobodyさん:2017/01/25(水) 16:28:42.76 ID:???
ドキュメント見づらい
サイドバー隠れなくていいよ

826 :nobodyさん:2017/01/25(水) 16:29:22.88 ID:???
でも日本語ありがとー

827 :nobodyさん:2017/01/26(木) 13:07:00.28 ID:???
項目も細かくわけないでいいよね。
ドキュメントなんだから、いちいちページ変えるのも面倒だし、一覧性も高い方がいい。

828 :nobodyさん:2017/01/27(金) 00:41:39.06 ID:???
日本語版はなんで本家のレイアウト変えてるんだろう
メニュー無いのが不便で仕方ないから本家見てる

829 :nobodyさん:2017/01/27(金) 16:05:21.63 ID:???
laravelのIDEはphpstormじゃないときつい感じか?
netbeansはbladeの記述にのに対応してなくてダルいんだが…

830 :nobodyさん:2017/01/27(金) 16:28:44.12 ID:???
vimで余裕

831 :nobodyさん:2017/01/27(金) 22:36:00.28 ID:???
atom一択だろ

832 :nobodyさん:2017/01/28(土) 05:22:38.83 ID:???
さくらエディ いやなんでもない・・・

833 :nobodyさん:2017/01/29(日) 05:45:27.34 ID:???
>>829
この辺使ってみてどれが良かったか教えて

5 BEST CODE EDITORS AND IDE FOR LARAVEL
https://www.dunebook.com/5-best-ide-laravel-ide-with-laravel-ide-helper/
1 - sublime text
2 - Atom
3 - Php Storm
4 - Netbeans
5 - Codelobster

Laravel blade snippets and syntax highlight support for Visual Studio Code.
https://marketplace.visualstudio.com/items?itemName=onecentlin.laravel-blade

834 :nobodyさん:2017/01/29(日) 11:32:57.73 ID:???
なんで秀丸派おらんの?
おれは全然不便してないけど。作業効率そんなに変わるもの?

835 :nobodyさん:2017/01/29(日) 11:40:22.58 ID:???
秀丸ってWindows専用じゃん
しかも4000円もするし

836 :nobodyさん:2017/01/29(日) 12:01:17.48 ID:???
書くのはSublimeでデバッグはNetBeansだな
Sublimeから直接XDebugが使えるみたいだけどまだ試したことはない

837 :nobodyさん:2017/01/29(日) 14:21:14.60 ID:???
おれもSublimeTextだわ
秀丸を長年カスタマイズしてきた猛者ならわからんが、おれは気持ちよさが全然違う
実作業時間の話ではない

838 :nobodyさん:2017/01/29(日) 22:22:46.52 ID:???
Sublimeは入れただけでよくわからなくてあんまり試してないけど、Atom使ってるけど適当に補完が効きまくるしキャメルケース?でも補完してくれるからかなり気持ちいいね
user_first_name_kanaみたいなやつがufnkaとかで補完できる

839 :nobodyさん:2017/01/29(日) 22:27:42.33 ID:???
どうでもいいがそれはスネークケースだな
キャメルケースならuserFirstNameKana
先頭も大文字のはなんていうんだっけか

840 :nobodyさん:2017/01/29(日) 23:13:52.39 ID:???
アッパーキャメルケースとかだった気がする。
まあその辺、いい加減全ての言語で統一してほしいよな

841 :nobodyさん:2017/01/30(月) 00:17:33.27 ID:Gsq6F7gO
visual studio codeはどう?

842 :nobodyさん:2017/01/30(月) 00:40:33.27 ID:???
起動が遅すぎて俺はボツ
環境によりそうだけど

843 :nobodyさん:2017/01/30(月) 03:29:49.69 ID:???
>>835
おまえは許された

844 :nobodyさん:2017/01/30(月) 09:23:10.78 ID:???
プログラム用途ならエディタなんて多くて一日一回、へたすりゃ週に一度しか起動しないぞ

Sublime開きっぱなしだ

845 :nobodyさん:2017/01/30(月) 09:31:45.52 ID:???
ずっと仕事してるわけでもないからな
家でエロい動画見てるとき職場から電話があって・・・
みたいなときすぐ立ち上がるほうが
ストレスがなくていいわ

846 :nobodyさん:2017/01/30(月) 15:46:30.12 ID:???
エロ動画みるのにエディタを閉じる必要あるのか?

仮想画面で切り替えた方がいざというときよくない?

847 :nobodyさん:2017/01/30(月) 21:47:04.16 ID:???
>>846
そもそも会社以外じゃエディタなんぞ開かんっつってんの
よっぽどの緊急事態に対処するとき以外はね

848 :nobodyさん:2017/01/30(月) 21:51:31.57 ID:???
エロ動画も会社以外じゃ観ないけどな

849 :nobodyさん:2017/01/30(月) 22:46:45.85 ID:???
っていうか、なんで自宅限定になってんだ?w
Laravelをどんなエディタで編集してるかってことだろ

850 :nobodyさん:2017/01/30(月) 22:58:39.79 ID:???
いろんなエディタを使い分けるのってそれ自体ストレスなんだから
利用ケースを制限するファクターは全てマイナス要因に決まってるだろ
特定プラットフォームでしか動かないなんてのと同じだ

851 :nobodyさん:2017/01/31(火) 02:56:42.75 ID:???
>>850
ほんとこれ
Xcode、Eclipse、Visual Studio、Atom、Xamarin Studio
泣きそう

852 :nobodyさん:2017/02/01(水) 01:13:11.19 ID:???
vimだけ使っとけばええねん

853 :nobodyさん:2017/02/01(水) 01:26:11.89 ID:???
vimでスマホアプリ作れんのけ?

854 :nobodyさん:2017/02/01(水) 05:01:23.77 ID:???
配列のバリデーションで、 'item.*.price' => 'numeric'


エラーメッセージに、配列の何番目がエラーを起こしたか表示したいんですが、
どのようにすれば出来ますか?


下記のように書くと 価格とは分かるんですが、何番目の価格なのかが表示されず
困っております。

resources\lang\ja\validation.php
'attributes' => [
'item.*.price' => '価格',
],

855 :nobodyさん:2017/02/01(水) 18:33:29.95 ID:???
全部かく

item.0.price 〜

856 :nobodyさん:2017/02/01(水) 19:28:38.12 ID:???
俺も2秒位で思いついたけど、
ひょっとしたらウルトラテクニックがあるのかと思って黙ってた

857 :854:2017/02/01(水) 20:23:28.75 ID:???
配列のバリデーションしたら、何番目か知りたいと思うんですが
ウルトラテクニック扱いなんですかねぇ・・・

:Index

:Key

とかで何番目か取れても良さそうなもんだと思ったんですが。

858 :nobodyさん:2017/02/02(木) 01:36:29.31 ID:???
そもそも、配列でのバリデーションにこだわるってことは
要素の数が変わるフォームなんでしょ?

だったら番号出ても意味なくない?

無駄に入ってない項目とか、間違った項目とか調べるくらいなら、
素直に一つ一つ項目ごとに変数に入れて検査すりゃいいんじゃね?

859 :nobodyさん:2017/02/02(木) 01:49:48.94 ID:???
なんか違う

860 :nobodyさん:2017/02/04(土) 13:55:59.29 ID:???
エラーのでたマスに色付けるとか、してないの?

861 :nobodyさん:2017/02/05(日) 16:25:08.87 ID:???
5.3→5.4にしたらバリデーションのnumericの動きが変わった。

5.3は未入力だnumericチェックされてなかったのに、
5.4は未入力でも数値入力しろって言われるようになった。

862 :861:2017/02/05(日) 18:59:13.50 ID:???
nullable付けたら、5.3と同じになった。

863 :nobodyさん:2017/02/06(月) 00:05:39.97 ID:???
まあ本来のバリデーションの用途考えれば未入力もエラーになるべきだよね

864 :nobodyさん:2017/02/08(水) 22:57:16.81 ID:FzukQccy
>>850
まあねぇ。

Android: AndroidStudio
Java: NetBeans
PHP/Python: VSCode

865 :nobodyさん:2017/02/09(木) 21:31:53.81 ID:???
>>864
PHPもNetBeansでいいだろ

866 :nobodyさん:2017/02/10(金) 10:14:27.97 ID:Z7sQhP2t
PHPStormでも、補完できない・警告でまくりでストレスあるわな。
Laravelだと特に。
AtomやVSCodeでもcomposerの参照くらいできるpluginはあるし。
どっちがいいとか一概に言えないな。

867 :nobodyさん:2017/02/10(金) 20:40:48.10 ID:???
PHPStorm に laravelのプラグイン入れてもダメ?

868 :nobodyさん:2017/02/10(金) 20:59:04.78 ID:???
いいよ

869 :nobodyさん:2017/02/11(土) 00:17:56.87 ID:R7QtoNQ0
Cakephpじゃだめ?

870 :nobodyさん:2017/02/11(土) 00:20:50.87 ID:???
CakeはDIコンテナがないのがストレスすぎる

871 :nobodyさん:2017/02/11(土) 13:42:23.81 ID:???
pimple入れたらいいじゃん

872 :nobodyさん:2017/02/11(土) 14:38:22.49 ID:???
Laravelイマイチはやってないから、人に説明すんのがめんどくせぇ

873 :nobodyさん:2017/02/11(土) 15:02:18.02 ID:???
PHPフレームワークの中では流行ってる方だと思うけど...
ttps://mayonez.jp/1374

874 :nobodyさん:2017/02/12(日) 08:13:29.04 ID:???
自作フレームワーク+Smartyでシステムを作り稼働中です。

このシステムのフレームワークをLaravelに変更し、HTMLテンプレートは
現状のまま(BladeではなくSmartyテンプレート)にしたいと思っています。

Laravel + Smarty だと、開発効率・可読性・メンテし易さなど、デメリット大きい
でしょうか?

とくに画面遷移の部分(バリデーションエラー時にPOSTデータを再表示するなど)
が気になっています。

教えてください。
お願いします。

875 :nobodyさん:2017/02/12(日) 12:53:16.61 ID:???
素直にbladeにすべき

ちな、smarty→bladeの置換プロジェクトを進行中
開発中もデザイナーの更新がすすむので、直接書き直すのではなく、面倒でも置換スクリプトを書いてるよ

もちろん汎用性はない

876 :nobodyさん:2017/02/12(日) 14:47:06.92 ID:???
> 素直にbladeにすべき

何故でしょうか?
理由を具体的に教えてもらえませんか?

877 :nobodyさん:2017/02/12(日) 15:04:17.36 ID:???
素直じゃないのね

878 :nobodyさん:2017/02/12(日) 16:29:12.36 ID:???
>>876
フレームワーク使って楽しようってのに
わざわざややこしいことするなら
そもそもフレームワークいらないじゃん

879 :nobodyさん:2017/02/12(日) 16:49:22.12 ID:???
LaravelはあんまりBladeに依存してないと思うけどな
テンプレートエンジンの入れ替えは効くんじゃね?
Smarty側の事情を知らんから迂闊なことは言えんけど

880 :nobodyさん:2017/02/13(月) 01:10:50.94 ID:???
再表示なんかは当たり前だけど、普通に実装してるよ。
そのためのフレームワークなんだから。

ログインも、ユーザー管理も、データベースへの書き込みも全部用意されてる。
独自の実装にしたい場合を除いてLaravel使ったほうが楽

881 :nobodyさん:2017/02/13(月) 01:13:37.73 ID:???
あ、Smarty使ってか…。
ごめん、やった事ないからそれは知らんw
Bladeならできるよ。置き換えるのも大した手間じゃないでしょ

882 :nobodyさん:2017/02/13(月) 09:56:32.26 ID:???
bladeの場合、value="{{ old('name', '初期値') }}" と書いて、コントローラーでの値設定をすべてすっとばすの

ので、postメソッドでのエラーは、元のgetメソッドに return back()->withInput()->withError($this->errors); で返すだけの構造となる

だから、blade使わないならコントローラーの構造がまったく別物になるよ

もちろん、フォーム部品を全部コントローラーで用意するなら、smartyでもlaravel的構造を維持できるけどね

そこまでやる価値はないと、俺らは判断した

883 :nobodyさん:2017/02/13(月) 10:04:39.13 ID:???
それはむしろoldヘルパー(とRequestファサード)のおかげではないの?
テンプレート内でグローバルなfunctionさえ呼べればいいような

884 :nobodyさん:2017/02/13(月) 10:31:18.12 ID:???
ああそうか
既存のテンプレートは一切変更しないという前提だと無理だね
デザイナーさんが絶賛書き換え中のプロジェクトならなおさら
でも一気に切り替える前提なら
フォームのinputのvalueだけ書き換えちゃえば済む話かなと

885 :nobodyさん:2017/02/14(火) 22:04:21.18 ID:???
フォーム部品を全部コントローラーで用意するのは大した手間ではない気がします。
というか、その方が考え方がスッキリしていて良い気がします。

テンプレート内でグローバルなfunctionを呼んで表示する値を取得するのは、
ビューからロジックを呼ぶことになり、あまり綺麗ではないような・・・

Bladeを使う人はold()を使いまくっているだろうから反対されそうですが。

886 :nobodyさん:2017/02/14(火) 23:27:56.87 ID:???
自分の好きに使ったらええんやで

887 :nobodyさん:2017/02/15(水) 01:03:35.73 ID:???
ビューからロジックを呼ぶってのは
<?= Request::has('name') ? Request::input('name') : '' ?>
みたいに書くことを言うんじゃねーの?
HTMLしか知らないデザイナーのオネーサンが書いたページにも
最小限の手間で入れられる、さらには
「こう書けばええんやで」と教えれば
オネーサン自身でも何とかなるレベルのシンプルさになることが重要なのであって
そういう意味ではコントローラでコンポーネントを組み立てるなんて考え方のほうが
よっぽどビューとロジックの混合でありバッドプラクティスなんじゃないかと

888 :nobodyさん:2017/02/15(水) 01:09:13.46 ID:???
でもキッチュでポップなコンテンツだと、
センセーショナルなグローバリズムの観点から言うとロジックがカジュアルだから
コンパイルのためのリソースがオーバードーズするよな

889 :nobodyさん:2017/02/15(水) 02:25:28.46 ID:???
Laravelを書いてるとビュー=HTMLテンプレート脳になるので忘れがちだけど、ビューにもビューロジックがあるわけで。少し複雑になったときにどこに置くかはたしかに迷うことあるな

ヘルパ関数か、横着してモデルにくっつけるか、プレゼンター使うか、フォームだったらフォーム専用のオブジェクト作るかなど

890 :nobodyさん:2017/02/15(水) 02:32:53.20 ID:???
(ビジネス)ロジックとビュー(ロジック)の混合

言いたいことはわかるけど言葉は正しく使ってくれよな

891 :nobodyさん:2017/02/15(水) 06:11:47.11 ID:???
ドメインロジックとか言うんだよな
普通はコントローラに置くな、モデルに持たせろっていう話になる
ビューに書くなんてもってのほか

892 :nobodyさん:2017/02/15(水) 06:27:35.72 ID:???
いずれにせよvalue="{{ old('name') }}"をロジックと呼ぶのがそもそも間違いだな
もし問題にするとしたらグローバルな関数名を使いすぎというところだろうが
そこはLaravel(特にv5以降)の思想のうちってことになるんじゃないかな
「タイピング量を減らす」っていう明確な思想
名前空間の導入でクラス名全般のタイプ量が増えたことに対する対策
グローバルとは言っても関数は変数と違ってユーザーによる汚染は不可能だし
定義時に存在チェックもしてるんだから
関数名がかぶってもそのヘルパーが使えなくなるだけなので
自己責任の範囲と言えるだろうよ
使いたくなけりゃ無視できるという意味でね

893 :nobodyさん:2017/02/15(水) 18:40:54.36 ID:???
oldはただのヘルパーでしょ

894 :nobodyさん:2017/02/15(水) 19:50:48.78 ID:???
ただのヘルパーさんでしたか
それは失礼いたしました。

895 :nobodyさん:2017/02/16(木) 09:13:35.61 ID:???
>>887
バットプラクティスだと思う

デザインをbootstrapに変えるとか、何かしらプラグインで拡張するとか

デザイナーからの要望でチェックボックスとかの出力要素をいちいち変える?

896 :nobodyさん:2017/02/17(金) 17:40:20.67 ID:s05ISus8
バット。。。

897 :nobodyさん:2017/02/18(土) 00:21:16.69 ID:???
名前空間付き関数のオートロード欲しくない?

898 :nobodyさん:2017/02/18(土) 00:33:58.38 ID:???
関数名とその関数が書かれているファイル名とを何らかの形で関連付けるルールが必要になるだろうな
それをやるなら現状のままその名前空間に一個ダミークラス(Fnとか)を置いて
そのメソッドとしてぶら下げることにすれば
ほとんど同じ感覚で使えそうだが

899 :nobodyさん:2017/02/28(火) 15:16:23.72 ID:???
bladeのタイポエラーのとき、strage/framework/viewsのキャッシュファイルで位置を調べるけど、
デザイナーさんは(権限あっても)サーバー覗く技量ないよね

laravel.logとキャッシュファイルからエラー箇所を教えてくれるツールとか、
ないのかしらん?

900 :nobodyさん:2017/03/01(水) 21:25:46.01 ID:???
>>899
そういうの欲しいと切実に思ってたけど
デバッグが必要なほどのロジックをビューに置くな
という戒めと思うことにした

901 :nobodyさん:2017/03/03(金) 18:45:39.04 ID:???
EloquentにDBに存在してる変数以外を持たせるのって間違った設計?
save時に全部insertしようとしてエラーになるけど、対処方法がわからないよ・・。

902 :nobodyさん:2017/03/03(金) 19:12:27.26 ID:???
意味がよくわからんが普通にプロパティを追加して使ってるぞ
もしかして$attributesに直接キーを追加してるのかな?

903 :nobodyさん:2017/03/03(金) 21:50:16.57 ID:???
>>902
そういうことか!
変数定義しないで直接ぶっこんでたのがいけなかった
ありがとう。

904 :nobodyさん:2017/03/04(土) 09:29:36.74 ID:???
guarded指定したら好きに追加できる

905 :nobodyさん:2017/03/04(土) 12:08:30.04 ID:???
どちらかと言えばfillableを推奨してるしfillableの方が

906 :nobodyさん:2017/03/04(土) 12:09:34.20 ID:???
つかそれやる意味ある?
普通にクラスプロパティでええやん

907 :nobodyさん:2017/03/06(月) 19:19:53.68 ID:mGf49+Wm
デザイナー様には、ThymeleafのようなHTMLフレンドリーなのがいいだろうね。

908 :nobodyさん:2017/03/07(火) 00:29:33.81 ID:???
今日jsonを吐き出させようとしてわかった
toJson()を使うならアトリビュート追加する意味があるんだな

909 :nobodyさん:2017/03/19(日) 07:26:43.06 ID:???
>>887
今時デザイナーにhtmlいじらすなよ
cssだけでいいだろ
逆に効率悪くなるぞ

910 :nobodyさん:2017/03/19(日) 08:08:23.46 ID:???
そうだな
俺もそういう環境で仕事したいわ

911 :nobodyさん:2017/04/23(日) 18:39:55.32 ID:???
laravel.jp
って更新止まってる?
リンク切れだらけだけど

912 :nobodyさん:2017/04/23(日) 19:34:19.33 ID:???
もう終わったんだろ

913 :nobodyさん:2017/04/24(月) 21:41:06.34 ID:???
唐突だがEloquentのCollectionのmergeメソッドには超要注意ですよおまいら
加える対象の配列に入ってるモデルはidを持ってることが前提になってて
もしidのないモデルの配列を加えてしまうと元のCollectionまで要素が一個になっちゃう
もちろん普通のEloquentモデルはidを持ってるわけだが
DBから取得せずnewで作ったモデルを
mergeで追加しようなんてことは絶対考えちゃダメ
いいか、絶対だぞ
俺みたいになりたくたかったらな!

orz

914 :nobodyさん:2017/04/24(月) 22:04:57.07 ID:???
>>913
要素が全部消えるの?説明がよくわからん。

915 :nobodyさん:2017/04/24(月) 22:13:02.14 ID:???
>>914
うん
一個だけになって残りは消える

916 :nobodyさん:2017/04/24(月) 22:18:18.04 ID:???
なお加えるのが空の配列でもだめ
こっちの方が怖いかもしれないな

917 :nobodyさん:2017/04/24(月) 22:24:35.39 ID:???
あー、なるほど。引数に渡したCollectionに複数要素が入ってても、IDがなければ一番最後の要素しか残らないってことか。

918 :nobodyさん:2017/04/24(月) 22:28:45.91 ID:???
いやちょっと待って整理する
mergeの引数はコレクションじゃなくて配列なんだよね
元のコレクションに入ってるモデルにidがないことが前提だな、多分
それだと元のコレクションも要素一個になる
引数の配列に入ってるモデルにだけidがない場合は
元のコレクションは無事で済みそうだ
試してないけど

919 :nobodyさん:2017/04/24(月) 22:35:12.98 ID:???
ソースを読めばモデルのgetKey()メソッド(id取得)でキーイングしていて
まあ当然といえば当たり前の挙動なんだな
でも$query->get()したコレクションをmapメソッドで中身を別の新規モデルにして・・・なんてやって
元がEloquentのCollectionであることを意識せずにいてひどい目にあった次第
ちなみに普通のCollectionではなんの問題もないから
いったんcollect($collection->all())なんてやって変換すれば大丈夫

920 :nobodyさん:2017/04/24(月) 22:48:51.66 ID:???
なるほど。まぁMapとListの区別がないPHPらしい挙動ではある。

921 :nobodyさん:2017/04/24(月) 23:19:08.99 ID:???
しかしmap()は普通のCollectionを返すはずなんだよな・・・
俺のケースでなんでEloquent\Collectionのままだったのかよくわからなくなってしまった
まあもう問題は解決したからいいんだけど
そう考えるとあまり普通には起こらないはずの現象ではあるな
mapにしてもfilterにしても結果はEloquentではなくIlluminate\SupportのCollectionだから

922 :nobodyさん:2017/04/29(土) 12:42:16.78 ID:???
Laravelけっこういいのになんでこんなに過疎ってるん?

923 :nobodyさん:2017/04/29(土) 14:23:42.45 ID:???
特に語ることがないからかな?

924 :nobodyさん:2017/04/29(土) 15:57:42.05 ID:???
Laravelは他のフレームワークと比較してライブラリとかプラグインを作りやすいと思うけどPackagistとかで公開してる人いる?

925 :nobodyさん:2017/04/30(日) 01:11:01.26 ID:???
そもそもフレームワークなんて語ることないんじゃね?
質問くらいなもんでしょ

926 :nobodyさん:2017/04/30(日) 13:44:36.85 ID:???
不満でもあればぐちぐち書き込めるけどそれも特にないw

232 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)