2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

[PHPフレームワーク]Laravel

1 :nobodyさん:2013/01/15(火) 11:01:50.34 ID:???.net
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:???.net
将来symfonyに移行するならLaravelが最適です

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

25 :nobodyさん:2013/03/14(木) 23:50:26.54 ID:???.net
>>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:???.net
Laravel4はいつ頃リリース予定?

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

28 :nobodyさん:2013/04/06(土) 01:01:48.39 ID:???.net
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:???.net
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:???.net
なんだかイベントとかで活気付いてきたね

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

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

でもwatch数はすごいな。

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

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

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

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

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

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

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

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

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

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

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

43 :nobodyさん:2013/09/04(水) 12:17:06.89 ID:???.net
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:???.net
そんでKがサイトで一方的に文句たれていては火に油を祖即だけで何の解決にもならないと思うんだがなあ
何で二人で話し合えないのかね

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

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

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

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

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

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

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

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

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

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

55 :nobodyさん:2013/12/26(木) 23:35:57.39 ID:???.net
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:???.net
バリデーションはコントローラーが適切でしょ
モデルはないわ
ケークはダメフレームワークだから参考にしちゃだめだよ〜

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

海外だとlaravel

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ブログ書いてる暇ないし

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

やられた!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

128 :nobodyさん:2014/08/04(月) 09:31:12.28 ID:pRa4s+djS
英語よりコードの方が読みやすいんだよな
でも英語も読めるとより深く理解できるんだろうな

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

モデルはORMで書くぺき

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

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

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

147 :nobodyさん:2014/09/07(日) 02:26:52.33 ID:D/Lj//S2t
nginxでfastcgi cache使いたいんだけど、勝手にno-cache付与されてるからキャッシュできない。
fastcgi_ignore_headers使えばキャッシュ効くけど、キャッシュさせたくないパスもあるしおまけにfastcgi_ignore_headersはlocationの中にしか書けんしでお手上げ状態。
これヘッダーのno-cache制御するフィルターとか作れないの?
Config::set('session.driver', 'array');
これも意味なかった。

148 :nobodyさん:2014/09/07(日) 20:47:45.41 ID:D/Lj//S2t
>>147
自己解決
nginxのphpのlocationにfastcgi_pass_header "X-Accel-Expires";って書けばheader関数で制御し放題だったわ
連投すまぬ

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

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

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

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

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

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

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

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

あとは Stack Overflow とか?

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

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

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

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

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

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

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

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

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

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


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

がんばれよ〜

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

賛否分かれそうな感じだ

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/
/hoge

だとエラーで

/hoge
/

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

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

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

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

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

いやさ、

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

207 :nobodyさん:2014/11/07(金) 20:33:41.43 ID:???.net
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

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

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

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

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

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


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

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


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

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

210 :nobodyさん:2014/11/08(土) 09:18:56.48 ID:???.net
レコードの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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ご勘弁ください。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>>232 のリンクみてる?

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

253 :nobodyさん:2014/11/16(日) 08:24:28.64 ID:???.net
>>252
同意。

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

マニュアル読む

コード書いてみる

マニュアルにない

海外の情報調べる

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ただしPython、お前は別だ!

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

ソースは?

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

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

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

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

ところで5.0はまだかな?

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

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

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

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

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

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

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

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

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

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

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

全部バラバラの謎。

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

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

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

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

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

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

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

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

307 :nobodyさん:2015/01/12(月) 14:52:31.57 ID:???.net
すいません質問なのですが、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に変えたり試したのですがダメでした
エラーメッセージを見るにアクセスが拒否されたとのことなので、どこかで設定等しなければならないのでしょうか?

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

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

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

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

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

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

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

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

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

315 :nobodyさん:2015/01/25(日) 10:39:45.33 ID:???.net
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 ってファイルがあるかどうかで判断してるな

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

と怒られてしまいます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

355 :349:2015/02/21(土) 19:42:37.54 ID:???.net
>>353
検証ありがとう。でも名前は関係無いようだ。そして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では永久にリレーションができなくなってしまう。
結構イヤな挙動だと思いませんか?

356 :nobodyさん:2015/02/21(土) 23:53:54.67 ID:???.net
>>355
使い方が悪い

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

357 :nobodyさん:2015/02/22(日) 02:00:36.90 ID:???.net
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 のオブジェクトが戻されるため
いかにも自動的に変わったように錯覚してしまう。

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

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

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

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

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

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

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

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

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

365 :nobodyさん:2015/02/22(日) 13:25:02.78 ID:???.net
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';
}

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

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

368 :nobodyさん:2015/02/24(火) 00:08:41.73 ID:???.net
>>365
別に唯一正しいやり方はないし簡単なクエリーなら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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

流行るのかなLaravel・・・

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

みたいな感じで取れる。

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

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

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

がわかりません。

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

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

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

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

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

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

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

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

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

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

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


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

510 :nobodyさん:2015/06/04(木) 14:29:57.63 ID:???.net
ごめん、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

全体こんな感じ

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

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

512 :nobodyさん:2015/06/04(木) 14:39:06.24 ID:???.net
$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()}} ・・・エラーが発生してしまう

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

モデルはこんなかんじで

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

ビューは

{{$results->links()}}

ってな感じでできない?

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

ありがとうございます。$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']['カラム名'] }}とすることで値が取得できました。

難しい。。。

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

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

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

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

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

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

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

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

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

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

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

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

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

527 :nobodyさん:2015/06/07(日) 20:11:06.43 ID:???.net
518です。

>522、521、522さん
ありがとうございます!!
原因が判明しました。どうやらモデルにカラムと同名のプロパティを定義したことが原因だったようです。
ガード、ミューテタがヒントになりました。

528 :nobodyさん:2015/06/07(日) 23:49:39.17 ID:???.net
検証するときは考えられる最も単純な記述で値が取れるか調べるといいよ。
「ここはあってるはず」ってのが一番の天敵。

529 :nobodyさん:2015/06/08(月) 00:28:02.49 ID:???.net
>528さん

アドバイスありがとうございます。

530 :nobodyさん:2015/06/14(日) 00:28:37.45 ID:???.net
っていうか、ミューテーターとかアクセサーとか初めて聞いた。
一般的に使われる言葉なの?

531 :nobodyさん:2015/06/16(火) 08:34:14.30 ID:sVb6gbHI.net
使われてるんじゃね?
アクセサーのことを
ゲッター/セッターの両方をさす場合(rubyとかrubyとかrubyとか)もあるから、
少しややこしいけど。

532 :nobodyさん:2015/06/22(月) 18:07:15.57 ID:???.net
やっぱり5.1からEloquentとIlluminate&#165;SupportのCollectionのlistsメソッドは
arrayじゃなくCollectionを返すようになったんだな
しかしQueryBuilderのlistsはarrayのままという謎仕様
こういうのホントやめてほしいんだがな

533 :nobodyさん:2015/06/22(月) 19:37:25.41 ID:???.net
なぁーにvar_dumpで頑張ればいいさ

534 :nobodyさん:2015/06/23(火) 09:11:54.72 ID:???.net
そういう時はプルリクかイシュー書いてみんなで良くしていこうよ

535 :nobodyさん:2015/06/24(水) 09:06:25.58 ID:???.net
laravl取り入れてる人や会社はレベルが高くて丁寧なイメージあるね。
海外でも活発に情報がやりとりされてるし。
あんま素人が手を出しにくいってのもあるかもしれんけども。

536 :nobodyさん:2015/06/26(金) 19:31:44.88 ID:???.net
ねーよそんなイメージ。
てかララベルを業務に採用している会社なんてあるんかw

537 :nobodyさん:2015/06/27(土) 00:08:04.47 ID:???.net
すまんな、ここ数年俺が納品した会社はlaravel運用だ

538 :nobodyさん:2015/06/27(土) 00:35:31.98 ID:???.net
普通にあるだろ。しらねーなら黙ってろ田舎もん。

539 :nobodyさん:2015/07/04(土) 13:47:19.61 ID:???.net
Laravelの賞味期限は、あと何年くらいかな・・・

540 :nobodyさん:2015/07/09(木) 21:55:12.94 ID:ZXY7EvvD.net
お、5.1はLTSか。

541 :nobodyさん:2015/07/17(金) 21:42:22.89 ID:???.net
CodeIgniterをずっと使ってきましたが、ちょっとだけ新しいフレームワーク
に興味を持ち始めました。

Laravelって良いですか?
10年以上運用保守するシステムにも安心して使えますか?

CodeIgniterから乗り換えた方、Laravelの良さを教えてください。

542 :nobodyさん:2015/07/17(金) 23:33:51.59 ID:???.net
今回の長期保証でも2年とかじゃね?
WordPressみたいなもんだよ。ころころ更新される。
良さはコンポーサーとか、restfulなモデルとか、OAuthとか、新しい技術をどんどん取り入れること。
だから長期運用が目的なら向かないだろうね。

ちなみに10年同じバージョンで運用保守可能なフレームワークなんてないから。
CentOSですら無理じゃね?w

543 :nobodyさん:2015/07/18(土) 09:17:57.86 ID:???.net
getメソッドとpostメソッドを別に扱う点だな。
最初は戸惑うだろし、混在したコードを書いてしましがちだが、徹底して分離するべし。

もうcodeIgniterには戻れん。

544 :nobodyさん:2015/07/19(日) 02:23:58.37 ID:vWE/6X6C.net
【ワカヤマン】PHP技術者認定試験 Part2
http://hello.2ch.net/test/read.cgi/lic/1437239772/l50

545 :nobodyさん:2015/07/19(日) 11:25:34.71 ID:v/RtoO+0a
Laravel 5.2 will support PHP 7, which is twice as fast as PHP 5!

だ、そうですわよ!奥さん!

https://twitter.com/LearningLaravel/status/622368195987410945

546 :nobodyさん:2015/07/25(土) 22:48:26.63 ID:k4s0riSk.net
煮詰まってて意見が欲しいです。

laravel5に使ってます。

publicディレクトリ配下に実ディレクトリを配置したいです。
例えば、下みたいに特定のディレクトリ(今回は、pc)だけに聞く外部ファイルを置きたいです。
/laravel/public/pc/common/hoge.css

デフォルトだと、実ディレクトリがあれば、アクセス時に403になってしまいます。

nginxのtry_grepでディレクトリしていしてないからかなと思ったのですが、そもそも指定されてる。
publicディレクトリのパーミッションも755

外部ファイルと、アクセスするディレクトリを完全に分けてしまう事も考えましたが、
HTMLが出来上がってしまったので、できれば現状のフォルダ構成を保ちたい。

何か良い方法は無いでしょうか?

547 :nobodyさん:2015/07/26(日) 00:10:36.10 ID:???.net
特定のディレクトリ(今回は、pc)だけに聞く外部ファイルを置きたいです

これの意味が何回読んでもわからんw
聞くが「効く」でも「きく」でもさっぱりわからん

内部でpublic以下のファイルを指定したいだけなら、そんな関数が用意されてるでしょ。

548 :nobodyさん:2015/07/26(日) 01:30:22.00 ID:9J+5FH4Y.net
>>547
ありがとう。そして申し訳ない。

>特定のディレクトリ(今回は、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になってしまう事です。

549 :nobodyさん:2015/07/26(日) 01:32:54.76 ID:9J+5FH4Y.net
>スタイルファイルは相対パスで読めるように、public配下に「common.css」と「pc/common.css」を置きました。
「common.css」と「pc/pc.css」ですね。失礼しました。

550 :nobodyさん:2015/07/26(日) 06:46:43.83 ID:???.net
そもそもなぜに相対を使う?
普通に/common.cssと/pc/pc.cssを読むのではダメなの?
てかファイル名違うならフォルダ分ける意味もなくないか?

551 :nobodyさん:2015/07/26(日) 09:29:28.73 ID:???.net
public_path(pc/pc.css)
これじゃあかんの?

これで403なるならnginxだっけ?のリライトらへんが間違ってる。

もしかして、public配下のディレクトリにページを作って、アクセスしてんの?
それなら、そもそもLaravelを勘違いしてる

552 :nobodyさん:2015/07/26(日) 10:24:52.58 ID:9J+5FH4Y.net
指摘ありがとう。
初歩的な事なのですが、画像やcssやjsはpublic配下以外の場所に置くのでしょうか?
publicがlaravelのドキュメントルートだと思って、public配下にファイルを置いてます。
話を聞いていて、今のhtmlの組み方がlaravelに合ってないんじゃないかと思えてきました。
他の人はどうやっているのだろう…?。
マークアッパーから上がって来るhtmlはLaravelの事なんか考えていないでしょうし。

>>550
>普通に/common.cssと/pc/pc.cssを読むのではダメなの?
相対から絶対に変えるのは可能です。それで、cssを読むことは出来ました。
外部ファイルは設置して読めるのですが、/pc/にviewを作って(rootファイルに「/pc/」アクセス時の振舞を設定して)、「/pc/」にアクセスが出来ません。

>てかファイル名違うならフォルダ分ける意味もなくないか?
分けたのは、あくまで個人の主義です。
HTMLを組むときに、個別のディレクトリしか使わないものを一色多にしてしまうと(自分は)管理しずらいです。
また、外部ファイル読み込み用のディレクトリを別途用意(例えば、pc/pc.cssではなく、common/pc/pc.css)にするでも良いかと思ったのですが、
この問題がある事は予想していなかったので自分の調査不足です。

>>551
>public_path(pc/pc.css)これじゃあかんの?
なるほど。publicディレクトリのパスを取得する関数ですね。
ただ、今抱えている問題と少し違うかもしれません。
cssのパスの通し方に困っているわけではないのです。rootファイルのルーティング(?)で迷ってます。
pubilicディレクトリ内に実ディレクトリを作ってしまうと、そのディレクトリ配下にルーティングすると403になることを解決したいです。

>もしかして、public配下のディレクトリにページを作って、アクセスしてんの?
それは「publicディレクトリ配下に静的ページを置いてるか?」という事であってますか?
それなら、やってません。viewかcontorollerでしか、表示を作ってないです。

553 :nobodyさん:2015/07/26(日) 13:14:46.10 ID:???.net
>>552
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に置くべきじゃない

554 :nobodyさん:2015/07/26(日) 13:20:18.62 ID:???.net
またviewファイルをLaravelのルーティング経由で読ませようとしたってダメ
.blade.phpは上に書いたように「phpじゃない」んだからな
viewはあくまでもresource/views(のサブディレクトリでもいい)に置いて
Viewクラスなりview()関数に専用のドット記法でパスを渡す必要がある

555 :nobodyさん:2015/07/26(日) 14:05:09.51 ID:???.net
>>546
> nginxのtry_grepでディレクトリしていしてないからかなと思ったのですが、そもそも指定されてる。

もしかして: try_files
というか nginx の設定の問題であって Laravel は関係ないよね

556 :nobodyさん:2015/07/26(日) 14:37:43.73 ID:Z7kp1tNf.net
>>553 >>554

>publicはあくまでも通常のサイトルートであって
>そこにはwebサーバ(NginX)が直接処理できる形のファイルを置く
具体的にはcssやjsだな
了解です。public配下にファイルを置く事自体は問題ないのですね?
ただ、自作phpやhtmlを置くlaravelの動作に影響があるかもしれないから辞めた方が良い。
ということですかね。

>またviewファイルをLaravelのルーティング経由で読ませようとしたってダメ
.blade.phpは上に書いたように「phpじゃない」んだからな
説明不足で申し訳ない。viewのテンプレートを吐かせる関数を噛ませて表示をしています。
別に、「(laravelの記述ルールを無視して)viewのファイルをインクルードしたけど失敗する。」
「PHPライブラリを作ってpublicに配下に置いたけどけど使えない。」
と言っているわけではありません。

>>555
>もしかして: try_files
すみません。try_filesの間違いです。
>というか nginx の設定の問題であって Laravel は関係ないよね
それも、そうだと思います。
何か話の取っ掛かりになればと思い書きました。蛇足だったかもしれません。

今やりたいこと(publicディレクトリ配下に実ディレクトリを設置できるようにする方法)を調べると、
nginxの設定を変える方法しか見つからなかったので試した事を共有したかっただけです。
laravelだけで実装する方法があるのであれば、ぜひお聞きしたいです。

557 :nobodyさん:2015/07/26(日) 14:47:30.51 ID:???.net
>viewのテンプレートを吐かせる関数を噛ませて表示をしています。

ここがわからない
bladeを直接書くんじゃなくて
ある関数の出力がbladeの文法に従ったテンプレートになってるわけ?
具体的にどうやってviewを返してるの?
return view(some_function());とか
return view('pc/some_view.php/');
みたいなことをやろうとしている?
それとも
return some_function();
で、some_function()の返り値がbladeテンプレートとか?

ちなみにどれも動かないからね

558 :nobodyさん:2015/07/26(日) 14:49:50.29 ID:???.net
そもそも
>viewのテンプレートを吐かせる関数を噛ませて
みたいなことをしなくて済ませるための「テンプレートエンジン」なんだから
多分すごく無駄な労力を費やしてるんだろうな

559 :548:2015/07/26(日) 15:18:23.40 ID:???.net
だめだわ。言ってる意味がさっぱりわからん。

>今やりたいこと(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 /

みたいにしとけば、普通動くと思うんだけど。

560 :552:2015/07/26(日) 15:31:47.54 ID:???.net
>>556
> laravelだけで実装する方法があるのであれば、ぜひお聞きしたいです。

だから Laravel は関係ないと言ってるじゃないw

> nginxのtry_grepでディレクトリしていしてないからかなと思ったのですが、そもそも指定されてる。

try_files にディレクトリを列挙しちゃってるから
index.php にフォールバックできてないでしょ?

561 :nobodyさん:2015/07/26(日) 23:06:36.30 ID:HqKZ3pMp.net
>>557
pctop.blade.phpというviewファイルを作って、rootes.phpにView::make('pctop')と書いて読んでいます。
噛ませた関数というのが「View::make」です。

>>559
>public_path(pc/pc.css)でパスが取れるけど、アクセスすると403になるってこと?
>それともpublic/pc/ディレクトリそのものにアクセスしたいってこと?
前者の事をやろうと思っています。
nginxのコンフィグに、「$uri/」が無いから403ではじかれていると思い、書いていただいたコード同じ設定をするつもりでした。
ただ、今使っている環境のnginxコンフィグにはすでに書いていました。参考程度の話ですが、homesteadで構築した環境です。

>>560
読解力が無くて申し訳ない。てっきり、今の話はnginxの話だからスレちがいだよ?と言われてると思って、laravelに話をもどそうと思ってました。

>try_files にディレクトリを列挙しちゃってるから index.php にフォールバックできてないでしょ?
理解力が無くて申し訳ないです。
それは、優先順位の設定に問題があり、分岐処理をするはずのindex.phpに遷移する前に、
本来lravelが取らないindex.php以外のファイルにアクセスしてるんじゃないか?
と言っていますか?

562 :552:2015/07/26(日) 23:38:02.59 ID:???.net
>>561
そうそう
nginx の try_files ディレクティブの説明を読もう

563 :nobodyさん:2015/08/02(日) 03:22:21.94 ID:???.net
検索条件のPOSTパラメータをフォームに復元したいのにできません。

具体的にはwithInput()がView::makeだと使えません。Redirect::toは使え、blade側でInput::old()で取得できました。
しかし今度はRedirect::toだとページネーションで次ページ移動すると検索条件がクリアされてしまいます。

バージョンはlaravel5です。

564 :nobodyさん:2015/08/02(日) 03:23:29.30 ID:???.net
解決方法教えて頂けないでしょうか。。

565 :nobodyさん:2015/08/02(日) 14:15:30.44 ID:???.net
リダイレクトに対する理解の混乱が見られる

リダイレクトは302や301のステータスコードでHTTPレスポンスを一度返し
、クライアントからもう一度新しいHTTPリクエストが来るようにするもの。

その際、
ステートレスなHTTPではリクエストをまたいで状態(今回は入力)を保存できないので、セッションに一度格納し、次のリクエストで取り出せるようにする。

Laravelでそのセッションへの一時保存を簡単に実現するのがwithやwithInputの役割。セッションに保存した古い入力を取り出すのがInput::old()なわけ

対してView::make()はテンプレートを用いてレスポンスのbodyを作成するだけなので、リクエストをまたがない。そのリクエストの入力を取得するならInput::all()でも何でもいいし、
わけあって次以降のリクエストに入力を渡したいならwithInputではなく、明示的にセッションに保存すればいい


検索はサーバのリソースに変更を加えないのが普通だと思うので、クエリストリングが長すぎてIEの上限に引っかかるなどの特段の理由がないならGETにしたほうがいい
ページネーションの際の検索条件保持もより簡単だと思うが

566 :nobodyさん:2015/08/02(日) 15:09:46.99 ID:???.net
なんでリダイレクトで検索ページ作ろうと思ったんか、その発想が不思議だw

普通にgetでurlにパラメータ渡して、$keyword = Input::get('keyword')で取れる。

567 :nobodyさん:2015/08/03(月) 01:30:18.00 ID:???.net
>565、563さん
レスありがとうございます!

それでは検索でGetを利用し描画時にフォームの内容を復元するには、ビューにどのように値を渡し、どうやって取り出せばよいのでしょうか?
検索条件が多いため簡潔な書き方にしたいです。

562さんの説明のお陰でリダイレクトの仕組みは分かったのですが、いつwithやwithInputを使うのかが分かりません。

ご教授頂けないでしょうか。。

568 :nobodyさん:2015/08/03(月) 14:12:16.68 ID:???.net
自分でこうじゃないかなと試すのはいいけど、
まずはセオリーとしてどのように先人が作っているのか調べるべき。
特に検索なんて、誰でも実装するもんなんだし。

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()}}

569 :nobodyさん:2015/08/04(火) 12:52:42.06 ID:???.net
565さん

ありがとうございます。
英語が苦手でstackoverflowとか海外の掲示板に辿り着くと
解決可能なことがわかるくらいで
なんとなく分かったような分からないような感じで
試行錯誤してるうちで出来てしまうことご多いです。
それって先人の知恵を生かしてるとはいえませんね。。
これから努力してみます。

ページネーションが生成するurlにパラメータを付けられるんですか!勉強になります!

画面からのリクエストをテンプレートに渡す方法ですが、フォーム一つずつでInput::get()で取り出すのではなく、Input::all()を渡してよしなに処理してくれるような方法はないでしょうか?

570 :nobodyさん:2015/08/05(水) 00:17:44.83 ID:???.net
565さん

教えて頂いた方法で解決できました。
ありがとうございました!

□コントローラー
@$変数=Input::get('パラメータの名前')としてフォームの入力をコントローラーで受けとる
AView::make('ビュー名')->with('パラメータ名'=>$変数)->with(次のパラメータ)->with(次のパラメータ)としてフォームの値をビューに渡す

□ビュー
B<input type='' value={{ $変数名 }}>としてフォームの値を復元
C$ページネーションの変数->appends(['パラメータ名'=>$変数,次のパラメータ])->render()

としました。

パラメータが増減したときに@〜C全てに修正が必要なことが不安ですがやりたいことはなんとか実現することができました。

571 :nobodyさん:2015/08/05(水) 00:32:04.63 ID:???.net
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を作るといいというように書いてあるようなのですが、試してもエラーメッセージは変わりません。どうしてでしょうか。。。

572 :nobodyさん:2015/08/05(水) 19:26:12.78 ID:???.net
「laravel カスタムエラーページ」でググろう

573 :nobodyさん:2015/08/06(木) 21:53:30.30 ID:???.net
569さん

出来ました!ありがとうございます!

574 :nobodyさん:2015/08/19(水) 18:16:29.32 ID:???.net
本番環境と開発環境を分けるのに、.env ファイル以外で設定する
方法はありますか?
ホスト名で自動判別したいんです。

575 :nobodyさん:2015/09/06(日) 04:40:09.61 ID:???.net
初めてLaravelを勉強してるのですが
オートロードってどういうことでしょうか?

576 :nobodyさん:2015/09/06(日) 16:34:29.09 ID:???.net
>>575
こういう事
http://php.net/manual/ja/language.oop5.autoload.php

577 :nobodyさん:2015/09/17(木) 20:47:18.51 ID:???.net
laravel new hoge
これで作られるプロジェクト内にvendor入れられる設計が気持ち悪すぎ

578 :nobodyさん:2015/09/18(金) 13:16:58.90 ID:???.net
好きなとこに移したらいいじゃない

579 :nobodyさん:2015/09/18(金) 19:09:24.00 ID:???.net
V4からV5になって、ディレクトリ構造が変わったりモデルが
なくなったり。

こんな大きな変更があったら怖くて使えないよ。

580 :nobodyさん:2015/09/18(金) 20:33:56.50 ID:???.net
たしかにごっそり変わったよね。
4からだから、他のバージョン知らないけど、
バージョンアップのたびにこんなんだと確かに使う気しない。

毎回こんな互換性一切ない感じでアップデートしてるんだろうか?

581 :nobodyさん:2015/09/18(金) 21:43:41.52 ID:???.net
5.0から5.1ですら
結構コード書き換えが必要なレベルの変更あったからなあ
5.1は一応ロングタームサポートで
2年だか3年は仕様を固定するというが
裏返せばその次はまた
変える気満々ってことかと勘ぐってしまう

582 :nobodyさん:2015/09/19(土) 19:12:47.50 ID:???.net
変える気満々か・・・
そうだろうな。

Laravelの開発体制って、個人または少数人でクローズドな開発してるの?

583 :nobodyさん:2015/10/03(土) 12:24:07.14 ID:???.net
2年だか3年は仕様を固定するだと???
その先はまた変更???

世の中に公開した仕様は、普通下位互換性を考慮するだろ。

584 :nobodyさん:2015/10/03(土) 21:46:13.81 ID:???.net
使うのも自由使わないのも自由
文句があるならフォークして自力でメンテすりゃいい

585 :nobodyさん:2015/10/06(火) 14:53:45.39 ID:4ZKDqCbK.net
laravelを触り始めたばかりなのですが
laravelの場合、
同一サービスで、ユーザーサイト、管理者サイト、代理店サイト等を作る場合
その数に応じてプロジェクトを複数個作るのが一般的でしょうか

それともviewやcontroller直下にuser,admin,agent等のフォルダを作って
Routeで切り分けていくのでしょうか

アドバイスもらえると助かります。

586 :nobodyさん:2015/10/06(火) 18:31:36.48 ID:gki7Fl/O.net
同じサービスなら、プロジェクト一緒の方がいいでしょ。
viewsとかcontrollersの下は、好きな方針で整理すればいいと思うよ。

587 :nobodyさん:2015/10/07(水) 12:50:21.54 ID:rVdyiLOO.net
>>586
アドバイスありがとうございます。助かります。

588 :nobodyさん:2015/11/07(土) 17:33:50.81 ID:sT3wDnc5.net
\(^o^)/

589 :nobodyさん:2015/11/12(木) 15:55:31.63 ID:???.net
ララベル本評判どうなの?
既に特に問題なくサイト構築できるんだけど、買ってみる価値あるかな?

590 :nobodyさん:2015/11/13(金) 09:02:58.62 ID:???.net
ないと思う。ドキュメント十分揃ってるし、ドキュメント以上を求めるならgithubでLaravelプロジェクト見て回ったほうがずっと勉強になる

591 :nobodyさん:2015/11/13(金) 09:27:29.60 ID:???.net
年明けに本でるしボリュームも今でてるやつは少ないから買うタイミングとしては微妙。

592 :nobodyさん:2015/11/13(金) 20:11:15.18 ID:???.net
>>591
>年明けに本でるし
のソース教えてもらえる?

593 :nobodyさん:2015/11/13(金) 21:17:09.20 ID:???.net
Laravel リファレンス[Ver.5.1 LTS 対応] Web職人好みの新世代PHPフレームワーク
出版社: インプレス
発売日: 2016/1/8

ttp://www.amazon.co.jp/dp/4844339451

594 :nobodyさん:2015/11/13(金) 21:50:27.16 ID:???.net
>>593
おお、早速ありがとう!
これは期待。

595 :nobodyさん:2015/11/13(金) 22:47:22.79 ID:???.net
本当は11月予定だったのにな

596 :nobodyさん:2015/11/14(土) 10:33:39.50 ID:/2PS9x0o.net
転職の際に必ず思い出してください。
下記の条件が全て当てはまる会社にご注意下さい。

・IT系 in 東京
・転職会議で2.5点
・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される

597 :nobodyさん:2015/11/14(土) 11:01:15.89 ID:???.net
お、いろいろ情報が。
来年はじめに出るなら、それ買うか。
できれば正月の暇な時間に読みたかったけど、しゃーないなw

598 :nobodyさん:2015/11/25(水) 17:36:07.68 ID:5K6/A757.net
PCに大量のファイルをダウンロードしたくないので
dreamweaverを使いたいのですが、
dreamweaverで
SublimeTextやPHPStormみたいに
ide helperのようなコード補完は出来ないのでしょうか

599 :nobodyさん:2015/11/28(土) 09:04:42.64 ID:???.net
>>597
正月休みの入門なら最近みつけたブログがいいかも
今日も更新あったし、ソースもgitで手に入る

つ larajapan

600 :nobodyさん:2015/11/28(土) 09:34:22.66 ID:???.net
>>599
覗いてみたが、全然コンテンツないぞ。
更新止まっちゃってるけど、ララ帳超えるくらいじゃないとな。

601 :nobodyさん:2015/11/28(土) 11:46:50.56 ID:???.net
>>600
Feedlyで新着通知があったから話題にだしたんだが

602 :nobodyさん:2015/11/28(土) 13:09:48.56 ID:???.net
最新の記事が今年の11月22日なのに、これで更新止まっちゃってるなんて宣う低能のいうことなんか聞くことないよ
最新記事しか見てないんだろ
コンテンツの量もそれなりにあるし

603 :nobodyさん:2015/11/28(土) 15:38:55.82 ID:???.net
という自作自演の宣伝でしたとさ

604 :nobodyさん:2015/11/28(土) 16:31:03.95 ID:???.net
更新止まってるっていうのはララ帳の話。

site:検索でインデックスされてるページの量を見る限り、
www.larajapan.com → 27ページ
laravel10.wordpress.com → 321ページ
と、10倍以上の開きがある。

つうか、たかだか27ページ(インデックスページ含む)で、
「コンテンツの量もそれなりにあるし」って、
一体何のステマだよ。

605 :nobodyさん:2015/11/28(土) 16:32:38.93 ID:???.net
ページ数(笑)

606 :nobodyさん:2015/11/28(土) 17:56:47.31 ID:???.net
必死になると長文になる典型的な例ですね^~^

607 :nobodyさん:2015/11/28(土) 21:24:15.43 ID:???.net
何をそんなに反発してんだか
ステマだと仮定しても何が悪いの?

ブログが書籍原稿で、読者が無料校正協力者になること?

書籍ってもう10年以上前から成り立ってないよ

MS-DOSの頃は俺なんかでも稼がせてもらったけどさ。文章かける技術者ってだけで需要があった時代

技術書なんて今、初版3000あるかな?
もう初版刷り部数まるごと印税くれる出版社もないんじゃね? 知らんけど

608 :nobodyさん:2015/11/28(土) 21:30:21.54 ID:???.net
いかん、長文なっちったwww

609 :nobodyさん:2015/11/28(土) 22:46:00.08 ID:???.net
単純に有益な情報を紹介する人=神
それ以外=ゴミ

ほっとくよろし

610 :nobodyさん:2015/11/28(土) 22:48:46.62 ID:???.net
>>600だが、確かにオレがケチ付けちゃってるな、これは。
すまんかった。

「新刊の代わりに正月休みに読めるもの」を>>600が勧めてたとして、
いや、それには分量が違いすぎない? と思ったんで書き込んだ。

もちろんLaravelの新しい入門サイトが出てくるのは大歓迎だよ。
もしlarajapanの著者が俺の書き込みを見て不快に感じたのであれば、申し訳ない。

611 :nobodyさん:2015/11/28(土) 22:49:43.40 ID:???.net
× >>600が勧めてたとして
○ >>599が勧めてたとして

612 :nobodyさん:2016/01/08(金) 15:35:56.90 ID:???.net
>>593
今日発売か
見てこよう

613 :nobodyさん:2016/01/13(水) 20:01:11.43 ID:???.net
結構高いなあ

614 :nobodyさん:2016/01/14(木) 20:57:46.58 ID:???.net
4500円はけっこう高いね。
と思ったら450ページもあるな。
技術書としてはこんなもんじゃね?

615 :nobodyさん:2016/01/15(金) 09:58:54.60 ID:???.net
本はどうだった?俺も今日見に行く

616 :nobodyさん:2016/01/19(火) 01:38:00.38 ID:5pfMdZHM.net
Bladeテンプレートの
@forelse($arr as $key => $value)
//
@empty
//
@endforelse

みたいな時の@emptyの使いどころがいまいちわからない

617 :nobodyさん:2016/01/24(日) 23:40:53.46 ID:???.net
$arrが空ならでしょ

618 :nobodyさん:2016/02/03(水) 21:34:44.69 ID:TUInXlH7.net
Webサービス開発ってなんですぐ飽きるんだろうな
一番JS書いてるときが楽しいとか異常だろ

619 :nobodyさん:2016/02/03(水) 21:40:11.38 ID:???.net
Laravelなら簡単すぎるからだろそりゃ

JSめんどいわ、俺は嫌い
Angularでも使えばいいんだろうけど
細い部分は結局手で書くから
覚えることが増えるだけになりそうな気が

620 :nobodyさん:2016/02/06(土) 10:15:38.08 ID:oqchQKOG.net
fuelと比べていいとこって何?

621 :nobodyさん:2016/02/08(月) 10:19:55.68 ID:mP2plvo7.net
fuelとは別物だけど比べるとすると
diコンテナフル活用
フレームワークのテストがきちんとある
疎結合にしやすいからテストコードが書きやすい
dbとか他のコンポーネントは好きなライブラリに入れ替えok

ファサードはfuelっぽく見えるけどstaticじゃないから
そもそもが全く違う

622 :nobodyさん:2016/02/08(月) 19:11:48.33 ID:???.net
オレオレフレームワーク使ってたんだけどさ、
いっちょ最新の勉強するか!って上に出てた本買って読んでみたけど。

なるほどわからん。ということしか分からなかった。
俺には無理だわ。
フレームワークの初級でおすすめないですか?

623 :nobodyさん:2016/02/08(月) 19:32:56.20 ID:???.net
なにがわからんのか、わからんのでアドバイスしようが無いw
上の本でわからないと、Laravelは向かないかもね。
日本語の解説本は全然でてないから。

俺は公式ドキュメント見ながら勉強したけど、最初結構つまずいた。
だけど、わからん単語、一つ一つググって読み進めればわかるべ

全くわからんなら、まずはCakePHPでもやったら。
初心者向けの本も腐るほどある

624 :nobodyさん:2016/02/08(月) 20:58:23.56 ID:???.net
ラクするためのものなんだから
結果的にラクできなきゃ覚える労力が無駄なだけ
本を読んでもさっぱりわからんのでは
楽できそうかどうかの判断もできんだろうに

625 :nobodyさん:2016/02/08(月) 22:19:13.06 ID:???.net
もうちょい続けてみます。
知らない単語がでると、苦手意識があるのがいけないですね。
5.2はこの書き方が非推奨になりました。とかサンプルに書いてあって、は?もう??公式見ないとダメか?で、
公式見て更に分かんなくなって、あかん状態でした。

まずは一通り読んで触ってから決めたいと思います。
とりあえずオレオレフレームワークはフレームワークと呼べないレベルでした。。

626 :nobodyさん:2016/02/09(火) 01:43:51.70 ID:???.net
laravelはわりと仕様が変わりまくるから、そういう意味では使いにくいかもね

627 :nobodyさん:2016/02/09(火) 19:27:34.99 ID:???.net
そういった非推奨になりましたとか、例外もありますってのは、技術書には良くある。
そんなもんは全体から見れば些細なことだ。
まずは全体を俯瞰するようにザーッと読み進める。
で、2回目、3回目に読みなおすときに気になったら調べ直したらいいんだよ。

628 :nobodyさん:2016/02/13(土) 03:02:29.76 ID:PnMLXJ8v.net
今だと
Slimとかがいいんじゃないかな
コンパクトで勉強のために最初にやるには
もっと大規模なフレームワーク勉強したいっていうならCodeigniterが
初見にはとっかかりやすいって聞いたことあるようなないような
てかLaravelのドキュメントでわからないってy

629 :nobodyさん:2016/02/13(土) 09:23:01.60 ID:???.net
PHPってのはもともと良くも悪くも緩い言語で
俺なんかもそこが好きなクチなんだが
あまりにも普及しすぎてここ何年かは
「もうちょっとキチンと集団行動のことなんかも
考えてくれないと困りますねー」
みたいな空気になってる気がする
Java的なスーツ着てタイムカード押してみたいな雰囲気ね
言語仕様そのものもそっち方面の拡充が著しい
典型的には引数の型指定がスカラー型でもできるようになったり
まともなクロージャーが使えるようになったり

Laravelはまさにそういう過渡期に発展してきたわけで
空気の変化をもろに受けてるように思う
最初の頃はPSR?どうでもええやんー
名前空間?ユーザーは気にせんでもよろしおまんがなー
みたいな感じだったのが
どこに出しても恥ずかしくないくらいに「キチンと」してきてる
でもそこが古いタイプの(なんでもアドリブでこなしてきたような)
PHPプログラマーには馴染みにくい要因なのかなと思ったりもする

まあ他のフレームワークもそのへんの事情は同じなんだろうけどさ
超長文失礼

630 :nobodyさん:2016/02/14(日) 18:04:23.37 ID:???.net
長文乙

631 :nobodyさん:2016/02/19(金) 20:38:12.29 ID:h76Yl8/d.net
Laravel5.1からのディレクトリ構造は好きだね
PSR-4とclassmapのいい感じの使い具合がプログラマの妙だね

632 :nobodyさん:2016/02/22(月) 14:53:09.39 ID:???.net
妙なプログラマーなら俺もその一人だが

633 :nobodyさん:2016/02/24(水) 17:43:58.43 ID:???.net
.
.
板違い(?)の上に、話をさえぎってしまいゴメンナサイ!(*_ _)人
でも、この板のユーザーさんにも有意義な告知かと思うのでカキコませてください。

★ 謝礼は十分いたします ★ アメブロなどのサイト制作ができる方!! 

アメブロなどを使用してのサイト制作のできる方を早急に求めています!
私はリケジョやPC女子からはほど遠く、サイト作成にはまったく疎いのでとても不自由しています…(> <;)
そこで私に代わりサイトを作成してくださる方を求めてこの場をお借りしました。

■サイトの内容…
アダルト系、違法性、その他公序良俗に反するものではありませんのでご安心ください。

■サイト制作の仕様ベース…
アメーバブログで十分です。願わくばwordpressなどのブログ形式のサイトを希望します。
それに準ずるもので使い慣れたものがあれば別のものでも構いません。

■条件はありません…
技術さえお持ちでしたら、学歴・職歴等は一切問いません。
フリーター、ニート、高齢ニート、コミュニケーション障害をお持ちの方、引きこもりの方、中年失業者、長期無職等、歓迎!

■作業形態…
作業は在宅でやって頂くことになりますので、時間の指定は一切ありません。別のお仕事の傍らに…でもOKです。

■詳細をお知りになりたい方は…
下記メールアドレスまでご連絡ください。詳しく書いた返信文を差し上げます。

※真剣な告知です。冷やかしはご遠慮ください。

井 上
inoue1952w★gmail.com
迷惑メール対策のため@部分を★にしてあります。
実際に送信する際には★を@マークに変えてください。
.
.

634 :うんこぶりぶり:2016/03/05(土) 11:11:33.56 ID:+fEYl8zX.net
Laravelというかフレームワーク自体が俺は好きじゃない
どんどんコード肥大化していって何が何やらわからなくなる
それで別サービスにわけてAPI使ってなんたらとかもウザい

といってもフレームワークを使わず
素のコードでも嫌い
見てられない

結局何がいいたいのかというと
プログラミングなんて嫌いだってことだ

635 :nobodyさん:2016/03/05(土) 11:58:03.81 ID:???.net
1から作るのが嫌いだから、Laravel使って楽するんだろうに。
俺だってプログラミングするよりも、美人なねーちゃんと酒飲んでる方が好きだよ

636 :nobodyさん:2016/03/05(土) 13:21:50.55 ID:???.net
使うことによって
「いかに楽した気になれるか」
という自己満足の部分が大きいな
その点Laravelはいい線行ってると思うわ

637 :nobodyさん:2016/03/05(土) 14:25:48.92 ID:???.net
でも結局そのフレームワークを理解してる者じゃないとメンテできないというジレンマ

638 :nobodyさん:2016/03/07(月) 21:40:19.44 ID:???.net
フレームワークと言わずそもそも言語ってそういうもんやろ
文法そのものは全部Cベースで基本同じ
違うのは関数群や標準ライブラリ、環境の類
JSやるなら嫌でもDOMやCSSのことは知らにゃならんし
PHPなら山ほどある(しかもまるで統一感のない)関数群のリファレンスが必須

少なくともLaravelなら読むのはグンと楽になるだろ
実際にメンテするのは慣れてる人じゃないと
確かに結構大変だと思うけどな

639 :nobodyさん:2016/03/08(火) 20:34:05.39 ID:???.net
なんにせよ、どこの馬の骨が書いたかわからん絡まったコードを紐解く作業よりは、
Laravelの書式を覚えるほうがずっと楽

640 :nobodyさん:2016/03/14(月) 23:46:17.38 ID:???.net
Microsoftこそこの世の正義と信じてるような人種は
フリーのフレームワークなんぞ馬の骨と本気で思ってたりするから怖い
そしてLaravelの開発者が元.NET開発メンバーと知ると手のひらを返したりする
まあそんな連中はそもそもPHPを使わんがw

641 :nobodyさん:2016/03/15(火) 00:57:48.26 ID:???.net
.netの何してたのかな?

642 :nobodyさん:2016/03/15(火) 01:25:31.98 ID:???.net
asp.netじゃね?知らんけど

643 :nobodyさん:2016/03/15(火) 08:52:31.64 ID:???.net
C#っぽい部分が割とある。ただ、それの実現にマジックメソッド使ってるせいでIDEの補完がお察しという印象。
言語機能の差があるからなあ。

644 :nobodyさん:2016/03/15(火) 12:05:32.86 ID:???.net
どういうところがC#ぽいのか知りたいです!

645 :nobodyさん:2016/03/26(土) 11:36:47.07 ID:KniYU/rm.net
日本語の本、他には出ないのかな?

646 :nobodyさん:2016/03/26(土) 12:36:26.04 ID:???.net
海外に比べてなぜかくそ盛り上がってない。
たしかにLaravelじゃなきゃいけいない理由はないんだけども
日本は新しい技術を取り入れる柔軟性がないのかもね。

とかく学習コスト、ランニングコストを気にして現状維持でガラパゴス化する。
気がついたときにはiPhoneみたいな黒船に全部かっさらわれるという連鎖。
アメリカのエンジニアの倍くらい働いて、半分程度しか給料もらえないから、
そんな余裕もないのかもしれんね

647 :nobodyさん:2016/03/26(土) 14:39:54.14 ID:???.net
勤務中に新しいフレームワークの勉強なんぞしてたら怒られるしな
片手間に学べるほど学習曲線の緩やかなものでもない
ガラパゴスなプログラマにとっちゃね

648 :nobodyさん:2016/03/26(土) 14:52:44.81 ID:???.net
laravelを選択する人って公式ドキュメント読んで大体使えるから書籍あんま必要としてないんじゃないの…

649 :nobodyさん:2016/03/26(土) 16:11:24.06 ID:???.net
Googleは勤務時間の10%で、必ず業務外のことしないといけないんだっけ?
割合は忘れたけど、そんな制度があったはず。

一方そのころ日本では焼きそばを作らせていた

650 :nobodyさん:2016/03/26(土) 16:22:44.81 ID:???.net
バージョンアップ早い割に大規模な変更多いし日本語の情報も無いからガチでやってない奴はきついと思う

651 :nobodyさん:2016/03/26(土) 18:46:52.47 ID:???.net
まあしかしここんところはそんな激しい変更も必要ないじゃん

そんでちゃんと使えるようになると万能感ハンパないわ
一人でいきあたりばったりにやってるからDIやテストは活用してないけど
一人でもそのへんきちんとしたほうが本当はいいんだろうな

652 :nobodyさん:2016/03/26(土) 20:43:01.47 ID:zEMbv6Qg.net
そろそろ書籍でて欲しい

653 :nobodyさん:2016/03/26(土) 22:01:43.23 ID:???.net
いや、5になったときに、ごっそり変わったけど。
でもしばらくはサポートするらしいから、書籍化とか、勉強するなら今だよね

654 :nobodyさん:2016/03/26(土) 22:52:25.16 ID:???.net
ディレクトリ構造とかど派手に変わったりして面を食らうけど
ガイドに従うだけであっさり移行できたんで
追従が大変という印象がほとんどないや

>>643
laravel-ide-helper入れても警告だらけになるのは嫌よね
実装上変え辛い部分だろうし、6辺りで対応してもらえるといいな

655 :nobodyさん:2016/03/26(土) 22:58:01.72 ID:???.net
5になったのなんて随分前じゃんw
最近ってのは5.1とか5.2の話ね

656 :nobodyさん:2016/03/27(日) 23:53:21.03 ID:???.net
なんていうかララベルって響はいいよな。
なんか、ピクニックみたいな楽しいリズムがあるよ。
コードイグネイターやら、ケークなんて響よりずっと良い。

657 :nobodyさん:2016/03/28(月) 02:43:08.05 ID:???.net
昔、魔法少女ララベルってアニメあったな

658 :nobodyさん:2016/03/28(月) 21:11:12.48 ID:???.net
クエリビルダーで質問なんですが、
...->union($users)->where('id','1');
というように書いてunionで結合した後にその結果を
条件で抽出したいのですが、
投げられているSQL文を見るとなぜかwhere('id','1')されてから
union($users)されています。

これはクエリビルダーの仕様なのでしょうか?

659 :nobodyさん:2016/03/28(月) 21:59:42.83 ID:???.net
順序は関係ないだろうな
Laravel的なやり方からするとそういう場合
クロージャの中にUnionを入れることになりそうだが
実際selectにクロージャを入れられるかどうかは知らない

660 :nobodyさん:2016/04/03(日) 21:17:17.61 ID:???.net
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されていませんよね?

このへんの詳細がドキュメントなどに載っていなかったので質問させていただきました。

661 :nobodyさん:2016/04/03(日) 22:14:10.41 ID:???.net
guardedプロパティは初期設定がワイルドカードだからノーガード戦法するなら空配列で上書きかな。まあ存在しないカラムに値を代入されたらアウトなので、これだけだと入力チェック必須だよね。

Modelのブート時とかにDB参照して自動的にカラム名持ってくるのはできなくもないかな?


初期設定の値からして、guardedプロパティをワイルドカード、fillableプロパティを最小限で使うのが暗黙的な推奨。

その上で利用の都度、値を1つずつ代入するか、Model::fillable()メソッドを呼び出してfillableを上書き・複数代入できるフィールド名を明示的に指定するかが安全。

と言っても利便性と安全性はトレードオフなので、
1つのモデルに対して複数の新規登録、更新アクションがない場合はfillableプロパティ直指定で済ませる、といったところ。

たまにfillable指定し忘れてキーってなるのは安全のためと思って我慢

662 :nobodyさん:2016/04/03(日) 23:10:07.07 ID:???.net
ありがとうございます。
とりあえずはfillableでいこうかと思います。

663 :nobodyさん:2016/04/04(月) 17:36:02.77 ID:???.net
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が挿入されるようなシステムにしたいです。

664 :nobodyさん:2016/04/05(火) 12:05:26.55 ID:???.net
public static function boot()
{
parent::boot();

self::created(function($user)
{
$profile = new Profile();
$user->profile()->save($profile);
});
}

このコードぶっこんだら出来ました。失礼しました。

665 :nobodyさん:2016/04/05(火) 17:49:00.86 ID:???.net
laravelのftpクラスとかありますか?

666 :nobodyさん:2016/04/07(木) 08:49:25.07 ID:???.net
そういうのはstorageでやるんだろうなあ
実際のファイルの物理的な場所は
下位のドライバに任せるという発想

667 :nobodyさん:2016/04/09(土) 18:29:01.00 ID:???.net
5.2のmake:authでviewに {!! csrf_field() !!}と書かれていたのですが
結局は!マーク無しと変わらないんですかね?

どちらが正しいのでしょうか?

668 :nobodyさん:2016/04/13(水) 22:33:21.55 ID:???.net
!あるとエスケープしない
ないとエスケープする

669 :nobodyさん:2016/04/17(日) 04:02:12.44 ID:???.net
しかし5.2になって認証周り楽になったよなぁ

670 :nobodyさん:2016/04/17(日) 10:42:26.29 ID:???.net
うんうんadminと分けやすくなってほんとうれしいよ

671 :nobodyさん:2016/04/17(日) 10:46:37.12 ID:???.net
んなもん、ユーザーIDで分ければいままでだって簡単やん

672 :nobodyさん:2016/04/17(日) 10:49:10.39 ID:???.net
別テーブルがうれしいなって。

673 :nobodyさん:2016/04/17(日) 11:10:03.24 ID:???.net
喜んでもらえて僕も嬉しいです

674 :nobodyさん:2016/04/17(日) 11:40:14.73 ID:???.net
PHPカンファレンス 未だにCakePHPerのがずっと多くて暗澹たる思いになった
海外から完全に取り残されてる感じ
一流なハズの人たちがそれまでの資産もあって Laravelになかなか移りたがらない
日本発なサービスがあんまない、あってもパチンコの市場くったソシャゲばっかりなのは
こういう保守性もあるんじゃないかと思ってしまった

675 :nobodyさん:2016/04/17(日) 15:45:30.48 ID:???.net
Cakeに比べてLaravel使うメリットって何なの?

676 :nobodyさん:2016/04/17(日) 17:46:05.11 ID:???.net
世界的ですもんね
乗るしかない このビッグウェーブに

677 :nobodyさん:2016/04/17(日) 18:35:11.82 ID:???.net
<input type="text" name="name" value="{{ old('name') or $user->name }}">
orで三項演算子になるはずが、なぜか1と表示されてしまう(データベースに存在しているのに)

{{ old('name') ? old('name') : $user->name }}
こっちは正常に動作

教えてドラえもん

678 :nobodyさん:2016/04/17(日) 18:40:33.91 ID:???.net
>>675
デザイナーあがりの自称エンジニアでも作れるかと

679 :nobodyさん:2016/04/17(日) 19:40:35.32 ID:???.net
>>677
or は論理演算子よ
評価対象の値をそのまま使いたい時は a ?: b

680 :nobodyさん:2016/04/17(日) 20:34:23.14 ID:???.net
>>677 は 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」は >>679 の言う通り論理演算子。
old(’name’)がnullだろうがなんだろうが右辺がtrueなので結果はtrue。 echoで暗黙的にtrueが1に変換されて出力される。

と、いうかoldの第二引数にデフォルト値渡せるから
value="{{ old(’name', $user->name) }}
とするとプリティー。

681 :nobodyさん:2016/04/17(日) 21:03:51.24 ID:???.net
>>679
>>680

ありがとうございます、感謝感激です。

682 :nobodyさん:2016/04/18(月) 03:06:09.20 ID:???.net
>>678
CakePHPよりLaravelの方が簡単なの?

683 :nobodyさん:2016/04/19(火) 21:20:10.93 ID:???.net
フレンドシップ機能を作るのはポリモーフィック一択ですか?

684 :nobodyさん:2016/04/19(火) 23:44:03.14 ID:???.net
それほどでもない

685 :nobodyさん:2016/04/24(日) 09:47:57.94 ID:cjecw+VC.net
5.1と5.2も結構違いあるよなぁ。
5.2はLTSじゃないから、すぐに保守されなくるし。

686 :nobodyさん:2016/04/24(日) 12:22:20.03 ID:???.net
1度覚えた知識でずっと使えるって前提がもう通用しないのかもしれんね。
新しく作るときは、ドキュメントを斜め読みして、勘所を理解する。
そういった知識より、知恵みたいなのが求められるのかも。
その点、Laravelは音速で日本語化してくれる神がいるから心強い。

LaravelでWebサービスを一から作れる人は、そんなの慣れっこかもしれんけど。
初心者向きではないね。

687 :nobodyさん:2016/04/24(日) 14:15:01.74 ID:???.net
マルチ認証まちこがれてたんで5.2

そうでないなら手を出すべきじゃない

688 :nobodyさん:2016/04/25(月) 02:27:51.16 ID:???.net
laravelはソース読むのが楽しい
オレオレ作ってみたくなる

689 :nobodyさん:2016/04/27(水) 22:54:45.04 ID:???.net
一部のバリデーションルールを、追加でなく、置き換えるにはどうしたらいい?

alpha_numやemailが使えないので

690 :nobodyさん:2016/04/27(水) 23:28:11.89 ID:???.net
>>689
あ、速攻で自己解決したった

publicじゃなくprotectで定義すりゃいいだけか

691 :nobodyさん:2016/04/28(木) 00:09:09.79 ID:???.net
symfonyと比べていいところ、悪いところを教えて欲しいです
どっち使うか迷ってます

692 :nobodyさん:2016/04/28(木) 00:10:42.54 ID:???.net
ggrks

693 :nobodyさん:2016/04/28(木) 05:53:40.76 ID:p+4kmhwo.net
結局はcomposerでコンポーネント管理してるだけで
別にフレームワーク間の違いなんて気持ち違うぐらいだろ

694 :nobodyさん:2016/04/29(金) 18:16:53.98 ID:???.net
日本だと今一盛り上がってないけど、
cakeを勢いで超える日は来るの?

695 :nobodyさん:2016/04/30(土) 04:34:59.01 ID:???.net
>>691
機能面で言えばSymfonyなんだろうが、
YMLとアノテーションの重厚長大な作りが疲れるんだよね
手間に合わないというか現実的じゃないというか…
それがLaravelに移行した理由

696 :nobodyさん:2016/04/30(土) 14:56:23.62 ID:???.net
resourceコントローラーのupdateメソットでカスタムリクエストを利用しているのですが、
rulesのuniqueにどう除外idを引き渡せば良いのか分かりません

teamsテーブルのチーム名(name)を更新する構造です。

public function rules()
{
return [
'name' => 'required|unique:teams,name,'.$teams.'|max:20',
];
}

putでteams\{$teams}に渡していますので、$teamsを参照できると思ったのですが
どうにもLaravel5では対応していない模様です。

どなたか教えて下さい...

697 :nobodyさん:2016/05/01(日) 08:29:33.09 ID:???.net
ルールの定義にRequestで渡した文字列を使いたいということ?
発想の根本が間違ってる気がするが・・・

698 :nobodyさん:2016/05/01(日) 09:18:58.66 ID:???.net
>>696

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;
}

スマホで書いたからタイポしてたらすまそ

699 :nobodyさん:2016/05/01(日) 10:26:27.75 ID:???.net
>>698
まちがえた
unique:user,email,{user_id},user_id

700 :nobodyさん:2016/05/01(日) 12:15:14.70 ID:???.net
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を返したいです。

701 :nobodyさん:2016/05/14(土) 19:42:13.00 ID:???.net
もしかしてresourceコントローラーだと
$router->model('user', 'App\User');
が使えない?

702 :nobodyさん:2016/05/16(月) 18:22:55.13 ID:???.net
authorizeForUserはblade側で操作できんのか?

703 :nobodyさん:2016/06/17(金) 19:45:17.23 ID:0ni1tzXz.net
              【Win10】    こんな犯罪級OS薦めんなよwww   ↓   【スパイウェア】


この使用許諾契約書には書かれています
”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”
開示する ここ重要だよ
契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです
https://www.youtube.com/watch?v=ZBwEmgdqB1c



「1910」 副島隆彦 2016年6月16日

大阪市や大阪府のバスの運転手が年収1000万円は許せない、600万円まで落とすと。
なぜなら、普通の労働者たちが年収400万円でようやく働いているのに、何でバスの運転手が1000万円ももらえるんだと。

このものすごくすばらしい主張があった。
これを言われると日本の民主党や共産党は非常に困るんです。
が、先ほど言ったように、金持ちたちの財産を相続税で国家が奪い取る、これを正面から本気でやったらほんとに橋下はたたき潰されました。

労働組合を押さえつけるまでは安倍晋三たちも大好きだからよかったんだけど、
自分たち自民党体制の、金持ちと地主階級、経営者を大事にするという自民党の基本骨格があるわけです。

704 :nobodyさん:2016/09/02(金) 17:40:56.84 ID:udqE/7kQ.net
Laravel布教あげ

705 :nobodyさん:2016/09/03(土) 18:05:27.77 ID:???.net
アップデートあったのか不安になる勢いだな

706 :nobodyさん:2016/09/03(土) 19:26:15.20 ID:???.net
5.3正規リリース来たのか
Vue.jsとの統合がどうなってるのかは気になるな

707 :nobodyさん:2016/09/03(土) 20:38:17.86 ID:???.net
Laravelは好きなのに最近のフロントエンドへの干渉がどんどん強くなる流れは嫌いだわ
ElixierにしろVue.jsにしろデフォでpackage.jsonに入れる必要性が理解できない
フロントエンド開発に任せるべき範疇だろ

708 :nobodyさん:2016/09/03(土) 21:52:51.10 ID:???.net
この細かい互換性とか気にせず、ばっさり切り捨てる感じ嫌いじゃない

Vue.jsってObjective-C初めて見たときみたいにひょぇぇぇ〜ってなるから、まだみたくないな

709 :nobodyさん:2016/09/03(土) 22:39:07.63 ID:???.net
いやなんだかんだ言ってフロントエンドの開発負荷ってデカいから
そこが組み込まれるのはありがたいわ
アングラーとか覚えるのと自分でゴリゴリ書くのと
どっちが早いか迷って後者を選んで泥沼化したりもしたし
フロントのコードにもLaravelなりのベストプラクティスを提示してほしいと思ってた

710 :nobodyさん:2016/09/05(月) 18:08:44.11 ID:rU0XF8Hm.net
好き嫌いはっきり別れてるのがまた面白い

711 :nobodyさん:2016/09/05(月) 23:52:26.80 ID:???.net
好きもの憂きもの定々と別れしことげにいとをかし

712 :nobodyさん:2016/09/08(木) 08:02:12.45 ID:???.net
>>510 みたいな書き方って今でもする?

713 :nobodyさん:2016/09/08(木) 22:11:04.23 ID:???.net
4.2のdocsだとtemplatesで508の書き方が紹介されてるけど、
5.0からは@yield使ってるから今はこっちが主流でいいのか。

714 :nobodyさん:2016/09/11(日) 09:33:28.61 ID:pKL9BxyH.net
Vuejs なんて学習コストめちゃくちゃ低いだろ

715 :nobodyさん:2016/09/12(月) 08:44:27.28 ID:???.net
そうなの?なんかめんどくさそう

716 :nobodyさん:2016/09/14(水) 01:18:29.84 ID:at03GRgT.net
vuejs は付近のライブラリ含めてドキュメントが日本語化されてる。あとはコンポーネント的な概念を理解するのと、fluxは恐らく導入不可避になるので、fluxの概念になれるだけ。あとは開発環境さえ整っていればめちゃ楽です。
小から中規模まで、少人数で構築するSEO気にしないWebアプリケーション構築するなら充分対応できます。実装としてはLaravel関係ないけど、pagekitの実装が参考になるかと。

まぁ、ただ日本自体SPA前提の案件てなかなかないよね。

717 :nobodyさん:2016/09/17(土) 00:53:57.05 ID:???.net
ハイブリッドアプリとかデスクトップアプリケーションならjsにもいろいろ選択肢あって楽しいんだけどな。
ただサーバサイドエンジニアがフロントエンドもガッツリ攻めていくのはかなりの体力がいる

718 :nobodyさん:2016/09/17(土) 05:31:50.86 ID:???.net
大昔ならAccessでやったような業務アプリの案件を
流石に今からAccessでやる選択はないし
じゃあVBとかVCにMSSQLでやんのかつったらそれもまた(Windows自体の将来性に疑問符)
ということでいっそWebアプリでっていうのはごく自然な流れだと思うんだけど
実際やるとフロントエンドが大変すぎて死ぬよね
Access並みの手軽さでサーバサイドとデータバインドできるUIコンポネが一揃セットになってれば
一気に広まる可能性あると思うんだけどな
HTMLやFormのファセットをオプション化した流れはその逆のようにも思われる

719 :nobodyさん:2016/09/17(土) 08:47:34.84 ID:???.net
ASP.NETにしなよ

720 :nobodyさん:2016/09/17(土) 10:53:43.54 ID:???.net
バックエンドがUIのデータバインディングまで面倒見るとか勘弁してくれ
2年経たずに手の付けられない負の遺産となる

721 :nobodyさん:2016/09/17(土) 13:39:47.41 ID:vn38yU9E.net
Windowsはビジネスユースなら今後もなくならんやろ

722 :nobodyさん:2016/09/17(土) 22:48:49.48 ID:???.net
最近の施策で.net案件のプロプラ不安は全部解消されたな。全力注いでるのが分かる
あとは受け入れられるかどうかと、キャッチアップが遅すぎる>>718みたいな老害のプライドをいかに刺激しないように説得するか。現場の手腕次第だな…
バカほど声が大きいからな

723 :nobodyさん:2016/09/18(日) 01:20:28.14 ID:???.net
ふむ
嫌味を返すなら全力注いでる=なりふり構わず生き残りに必死
ってところだけど
確かに現状のASP.NETは十分選択肢になりそうだな
サードパーティ製の業務アプリ向けUIコンポネなんかも
歴史が長いだけあってそこそこ整備されてるようだ
業務用ならゲイツプラットフォームという根拠のない思い込みも(発注側に)根強くある
こうなるとこの分野へのLaravelの浸透は難しいかもな

724 :nobodyさん:2016/09/18(日) 13:13:41.93 ID:JZF2WVvX.net
ReactだったりVuejsだったり、現状でもサーバーサイドレンダリングできるけど現実的ではない。
Vueも2.0でSSR対応できるみたいだけど、実用では使えないと思う。まだ1、2年かかる気がするし、時が経てば経つほどSEO目的のSSRは考えなくても良くなるだろうし。

今後バックエンドでは、いかに使いやすいAPIを作るかってとこが注視されていくんではないかと。
そこの領分がきっちり別れるようになると、バックエンドもフロントエンドも幸せにはなると思うね。理想論かもしれないけど。

725 :nobodyさん:2016/09/18(日) 23:40:08.03 ID:???.net
GraphQLってどうなんじゃろ

726 :nobodyさん:2016/09/18(日) 23:45:39.64 ID:???.net
>>720
今更のレスだがjQueryでBootstrapな基礎はもう変わらないんじゃね?
それこそASP.NETも(フロントはC#捨てて)そうなってるみたいだし

727 :nobodyさん:2016/10/04(火) 09:54:48.11 ID:???.net
APCでキャッシュしてるんだけど、教えて

・コンソールでphp artisan cache:clearとか、自作コマンドでCache::forget呼んでもキャッシュが削除できない。同じキーで取得はできる
・routes.php内で同じソースを実行すると取得も削除もできる

これって何が原因だろ?console経由だと読み込まないconfigとか実行ユーザの違いとか?

728 :nobodyさん:2016/10/04(火) 10:18:03.18 ID:???.net
>>727
apc.phpでキャッシュクリアできるかどうか試す。
できた場合→apc.phpで実行しているコードをコピペ。
できない場合→わからん。

729 :nobodyさん:2016/10/04(火) 11:01:48.06 ID:???.net
apcならそうなる

730 :nobodyさん:2016/10/04(火) 13:34:17.25 ID:???.net
>>727
> 同じソース
というのが幻想

731 :nobodyさん:2016/10/04(火) 13:35:10.79 ID:???.net
>>727
> 実行ユーザの違い
でしょ

732 :nobodyさん:2016/10/08(土) 10:39:08.28 ID:???.net
初めてlaravel使うんだけど、
全ページ、ルーティングしなくちゃだめなの?
静的ページが100ページくらいあるんだが。
publicに静的ページ置こうか考えたけど、viewテンプレートは使いたいから却下。
ちなみにver5.1。
誰か分かる人ご教授ください。

733 :nobodyさん:2016/10/08(土) 10:50:56.41 ID:???.net
ルートパラメータ使えばいいだろ
それでなんとかならないようなら
そもそもフレームワークを使う意味が不明では

734 :nobodyさん:2016/10/08(土) 11:59:58.63 ID:???.net
前ページルーティングって恐ろしい思考回路だな
そもそも使うの初めてなら、まずは他の人がどうやって似たシステム組んでるのか調べる方が良いよ
勉強には先人の知恵に習うのが一番

735 :nobodyさん:2016/10/08(土) 14:14:51.15 ID:???.net
返信ありがとう。
丸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');
}
}
});

こんなでいいのかな?
第二階層までしか対応出来ないのがアレだけど。
もっといい方法あったら教えてください。

736 :nobodyさん:2016/10/08(土) 14:30:09.56 ID:???.net
あんまりララベリッシュじゃないけど動くだろうからそれでいいんじゃね?
もっといい方法といってもなあって感じ
そもそも大量の静的ページってのが根本的に合わないわけで
bladeテンプレを使いたいっていうからには少なくとも「ある意味」動的ではあるはずだと思うんだけど
動的に変わる内容が何一つ整理できない(全てを個別に扱うしかない)なら
もうそれ以上やりようがないんじゃないかと

737 :nobodyさん:2016/10/09(日) 04:57:13.56 ID:???.net
>>735
こんなんでどう?最後のスラッシュが$_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', '.+');

738 :nobodyさん:2016/10/09(日) 05:23:17.40 ID:???.net
よー考えたらexplode,implodeじゃなくてreplaceでいいな。どうせ最後にスラッシュつかないんだし

739 :nobodyさん:2016/10/09(日) 06:30:33.05 ID:???.net
つかそれで$urlにスラッシュ含めた残りのURL入ってくるか?
5.1で試したが2階層以上あるとエラーになるぞ

740 :nobodyさん:2016/10/09(日) 06:37:26.72 ID:???.net
ついでに言えばREQUEST_URIも俺の環境では最後のスラッシュが削除されるようだ
そういうWebサーバの仕様に依存しそうなコーディングはいかがなものかと
Laravelとは1ミリも関係ない話でもあるが

741 :nobodyさん:2016/10/09(日) 07:17:04.12 ID:???.net
>>739
5.1だと入らないのか。5.2だと入るからいけるのかと思ったわ

742 :nobodyさん:2016/10/09(日) 07:35:48.54 ID:???.net
いや5.3でダメだから既存の5.1環境で試してやっぱりダメだったんだが・・・
パラメータ2つ以上だと普通にNotFoundHttpExceptionになる
なおPHP7のXampp

743 :nobodyさん:2016/10/09(日) 11:02:36.27 ID:???.net
おお、すごい。とても参考になりました。ありがとう。
若干改変(改悪かもしれない)したやつを書いておきます。

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\/\-\_]+');

本当助かりました。ありがとうございます。
キレイにコード書ける人ってかっこいい。

744 :nobodyさん:2016/10/09(日) 11:19:10.28 ID:???.net
おっと、5時間かけて検証しながらレス書いてる最中に色々レスついてた。
一応、上に書いたやつでおれの環境だと動いてる。
若干スレチ気味で申し訳ないが、サーバーの問題なのかな?
検証はVM環境(homestead)php5.6。

745 :nobodyさん:2016/10/09(日) 12:09:56.73 ID:???.net
CentOS6にapacheにPHP5.6の環境でもやっぱり
スラッシュ区切りの文字列を単独のルートパラメータとして受け取ることはできないようだ
別ルートと判断されてNot Foundになる
HomesteadはUbuntuにNginxなんだっけ?
ApacheとNginxの挙動の違いくさいな
URI末尾のトレイリングスラッシュについてもApacheとNginxでは当然処理の仕方が違う
Apacheでは.htaccessのリライトルールで末尾スラッシュなしのURIにリダイレクトされるから
REQUEST_URIで末尾スラッシュをチェックしても無意味になる
まあ特定環境で動けばいいわけだろうけどもし実稼働環境が開発環境と違えば
この辺理解しておかないと慌てることになるかもだな

746 :nobodyさん:2016/10/09(日) 13:53:14.30 ID:???.net
そういうことなのか。
何故おれはNginxでやっていたのか...実稼働はapacheなのに。
ということで、環境をapacheに変更してやってみた。

トレイリングスラッシュについてのリダイレクトは勝手にしてくれなくていいので、
htaccessの該当部分を削除して、
$_SERVER['request_uri']で、url末尾の/はとれるように。

こちらの環境ではスラッシュ区切りの文字列でも一つのルートパラメータとして、
受け取ってくれてるんだけどなー。
何が原因かわからないと、何かモヤモヤするね。

747 :nobodyさん:2016/10/09(日) 15:18:17.27 ID:???.net
HomesteadのNginxでも試してみたが
やっぱり複数スラッシュを含むURLはそのままエラーになるぞ
他にも/{url1}/{url2?}とかのルートが定義されてて
そっちが動いてるんじゃないだろうね?
こっちがおかしいとしたらどうおかしいのかさっぱりわからん
本当にどうでもいいことなんだが原因がわからんとイラつくわ

ちなみにNginxだからトレイリングスラッシュはちゃんと残るようになった

748 :nobodyさん:2016/10/09(日) 16:47:00.74 ID:???.net
create-projectで新規に作ったから、他のルート定義はしてない。

やりたいことは実現できてるんだけど、
なんで出来たり出来なかったりするのか気になるから、
そっちの環境でも出来るようにしてみて欲しい。わがままな話だけど。
俺の方がおかしいのかもしれんし、再現性あるかも知りたいし。
環境はlaravelのver5.1.45
英語だけど、一応同じようなことやってるの発見した。
https://laracasts.com/discuss/channels/code-review/dynamic-uri-segments-in-laravel-5

749 :nobodyさん:2016/10/09(日) 16:48:41.61 ID:???.net
REQUEST_URIはサーバによって違うよ
デフォルトで定義されているものを変更することもある
使わなくて済むなら、使わないほうがいい

750 :nobodyさん:2016/10/09(日) 19:32:05.26 ID:???.net
>>749
いやそこはいいんだよ
/param1/param2
のようなURLを
Route::get('/{url?}', function($url = null) { return $url; });
のような形で受けられるかということ
俺がやるとどの環境でもNotFoundHttpExceptionになる
>>748がやるとparam1/param2が返るらしい

>>748
んなこと言われてもなw
そもそもルーティングされてくれないんだからどうしようもないわけだが

751 :nobodyさん:2016/10/10(月) 00:34:49.96 ID:???.net
>>750
homesteadでも試したけど取れたわ。
> Route::get('/{url?}', function($url = null) { return $url; });
> のような形で受けられるかということ
->where('url','.+')が足りないとかそういう問題ではないよね?

752 :nobodyさん:2016/10/10(月) 00:48:28.70 ID:???.net
>>751
いやそれですわorz
whereで条件を「緩める」という発想が一切なかったようでそこ目に入ってなかった
そういう仕掛けだったのね・・・お騒がせしますた

753 :nobodyさん:2016/10/12(水) 00:29:06.63 ID:???.net
laravelで作ったアプリを複数のapサーバでバランシングする予定なんだけど、apサーバ自体にはcomposerとか必要ないよな? なんか入れないでもファイルコピーだけで動くっぽいんだけど。

754 :nobodyさん:2016/10/12(水) 08:04:51.42 ID:???.net
物を壊したら弁償するのは理解できても風評被害を食らわせてもやった側に何の罪もない された側が悪いという考え方のカスはおかしい。

755 :nobodyさん:2016/10/12(水) 08:32:49.98 ID:???.net
物を壊してもそこまで怒らせるような行動を普段からしてるほうが悪い
という考え方の人もいますよ
うちの嫁ですけどね

756 :nobodyさん:2016/10/12(水) 08:53:28.79 ID:???.net
>>753
vendorもまるっとコピーするなら不要

757 :nobodyさん:2016/10/12(水) 09:03:44.95 ID:???.net
まあしかしデプロイ先でもアップデートとかできるようになってるほうがいいわな
転送もgitでやるほうが何かと都合がいいし
そう考えると鯖それぞれに一通り環境は作っておいたほうが良さそう

758 :nobodyさん:2016/10/15(土) 10:19:07.64 ID:???.net
デプロイ先でアップデートとか愚の骨頂か

759 :nobodyさん:2016/10/17(月) 13:09:19.93 ID:???.net
>>758
ポリシーの違いだよ
君のやり方以外も許容しなよ

760 :nobodyさん:2016/10/17(月) 18:29:10.68 ID:???.net
https://github.com/andersao/l5-repository

Laravelにリポジトリパターン導入しようと思ってるんだけど
PresenterとかCriteriaの概念がイマイチ分からない

ggってもここらへん詳しく解説してるサイトとかないし、ベストプラクティスが全く分からない
誰か教えてください

761 :nobodyさん:2016/10/17(月) 23:42:18.86 ID:???.net
まずEloquentを捨てます

762 :nobodyさん:2016/10/18(火) 15:34:34.66 ID:???.net
次にEloquentを拾います

763 :nobodyさん:2016/10/18(火) 23:51:29.59 ID:???.net
eloquentなんか使わんでもクエリービルダーだけで何とかなるで。

764 :nobodyさん:2016/10/18(火) 23:55:27.91 ID:???.net
アーティ=サンからmigration作った時にmigrationファイルが自動的に日付+テーブル名になるのマジやめて欲しいんだけど何とかならんの?
テーブル定義したいのにクソファイル名のせいでファイル探すっていう無駄な工程が発生しよるんだが。
ターミナルからだと一発補完も出来ねえし。

765 :nobodyさん:2016/10/19(水) 01:12:44.30 ID:???.net
アーティさんって誰だと思ったらArtisanのことかw
マイグレーションファイルを探すのに手間取った経験は全くないんだが
どうやったらそんなに苦労できるんだ?

766 :nobodyさん:2016/10/19(水) 03:39:37.96 ID:???.net
>>765
作ったファイル開くまでに何回キー叩かせるんだよ。
ディレクトリのシンボリックリンク貼ってても10回近くキー叩くぞ。むしろアーティ=サンからファイル作ったら即vimで開いてほしいわ。

767 :nobodyさん:2016/10/19(水) 04:13:21.70 ID:???.net
どうでもいいがArtisan=職人な
普通カタカナではアーティザンと書くと思う

で、ファイル選択はGUIでエディタ使えば済む話なんだよなあ
みんながSublime使ってるわけじゃないのはわかるけど
今どきvimやemacsでもないだろと

768 :nobodyさん:2016/10/19(水) 08:09:04.83 ID:???.net
職人なんだからニンジャっぽくアーティ=サンって呼ぶのは実際礼儀正しいだろ。
ワイはlaravel始めてから間もないからよく分からんのやけど、composerって環境にあんまり依存しないんか?
現在のlaravelアプリの開発環境はほぼデプロイ用のAPサーバと同じにしてて、それってなんでかっていうとlaravelで編集したファイルをrsyncでそのまま転送してるからなんだ。
これが動作環境違うとコケる可能性があるってんならアーティ=サンはローカルじゃ叩けない。

769 :nobodyさん:2016/10/19(水) 08:13:52.62 ID:???.net
× 叩く
○ オジギ

よく考えたらアーティ=サン自体はcomposerとは関係ないな。試しにローカルでphpバージョンとか合わせずにやってみるわ。

770 :nobodyさん:2016/10/19(水) 08:36:09.83 ID:???.net
そりゃスゴイフルイ・シンキングってもんだ
むしろjsonさえあればどこでもサクッと環境を揃えられるのが
composerなりnpmなりbowerの強み(の一つ)でしょうに
マイグレーションも同じ目的
だからこそ実行順を保証するための日時が
ファイル名末尾ではなく先頭に必要なわけで

あとrsyncじゃなくgit使ったほうがいいぞ
同時に複数箇所を並行して修正とか「ここ一旦変えたものを見たい」とか絶対言われることのない仕事なら別だが
少なくとも.envが上書きされないように変な工夫とかしなくて済むし
gitプラグイン入れればSublimeの中からコミット&プッシュできるし
何かと捗るぞ

771 :nobodyさん:2016/10/19(水) 08:40:23.98 ID:???.net
>>769
動作要求さえ満たしていればphpのバージョンによる問題は経験したことがないな
とはいえ確か5.6以上とかだからほぼ最新に限るという意味だが

772 :nobodyさん:2016/10/19(水) 09:58:02.78 ID:???.net
>>770
そりゃgitは使っておるが。pushした時にpost-updateでrsyncで配布するで。
流石にAPサーバ沢山あるのに全部のAPサーバのディレクトリにgitレポジトリは使わんやろ。ステージ環境までやな、gitは。
そこからpushして撒く感じや。

773 :nobodyさん:2016/10/19(水) 10:16:51.12 ID:???.net
なるほど
ローカルに環境は作ってないの?
Appファイルは開発サーバ上で直接変更し
デバッグもリモートでやってるわけ?
あとこれは純粋な興味からだけど
DBも各サーバに持ってレプリケーションしてるの?

774 :nobodyさん:2016/10/19(水) 11:06:52.79 ID:???.net
protected $repository;

/**
* @return void
*/
public function __construct(TeamRepository $repository)
{
$this->repository = $repository;
}

コントローラーだとこんな感じに使えるけど、
これをTestクラスでも使う場合はどうすればいんだ

constructで依存注入してもダメだし、ただインスタンス化してもcontainerがどうとかでダメだった

775 :nobodyさん:2016/10/19(水) 11:16:30.88 ID:???.net
andersao/l5-repositoryってのがあるけど
それ入れりゃ済むって話でもない?

776 :nobodyさん:2016/10/19(水) 11:24:05.69 ID:???.net
$this->repository = $this->app->make(TeamRepository::class);

思いっきりマニュアルに書いてました

777 :nobodyさん:2016/10/22(土) 19:27:23.05 ID:???.net
GitHubで色々Laravelのサンプルアプリ漁ってみたんだけど
どれも1つのModelに対して1つのリポジトリーなんだよね

やっぱりそういう原則が在って、何か理由でもあるのかな?

1つのModelに複数リポジトリー作らないと、
Classが肥大化するし単一責務じゃないんと思うんだけど

778 :nobodyさん:2016/10/23(日) 01:08:34.59 ID:???.net
多分サンプルだとCRUDのRが2,3で事足りるのしかないんじゃないかね。それこそEloquentそのまま使えばいいじゃんレベルの

よく使うメソッドだけリポジトリにして、
複雑なクエリは1クエリ1クラスにするってのはたまにやる

Eloquent ORMでリポジトリパターンってなんかもやもやするんだよなあ

779 :nobodyさん:2016/10/23(日) 07:42:30.21 ID:???.net
どこ読んでもDBに書き込んだりするのコントローラーの中でやってるけどモデルの中にメソッド作ってコントローラーから呼び出しすのって駄目?

780 :nobodyさん:2016/10/23(日) 08:22:52.15 ID:???.net
>>779
全然いいでしょ
普通にやってるぞ

781 :nobodyさん:2016/10/23(日) 18:13:03.50 ID:???.net
>>780
普通にいいのか
ありがとう

ブログとかの解説読んだだけでサイト作ってたらコントローラー肥大化して困ってたから今度からそう書きます

782 :nobodyさん:2016/10/24(月) 00:48:37.30 ID:???.net
laravelのautuミドルウェアでログインしてたらjsonで「ログインしてる」って情報返してログインしてなかったら同じくjsonで情報返すようにしたいんですが、どこをいじればいいのでしょうか。
なんか実体はillminateだかのディレクトリの中にいるみたいですけどそこを弄るのは違うし……

783 :nobodyさん:2016/10/24(月) 05:41:53.25 ID:???.net
>>782
json返すroute作る

784 :nobodyさん:2016/10/24(月) 08:04:03.58 ID:???.net
>>783
何てことはない、Auth::check()を使えば良かっただけでした。

785 :nobodyさん:2016/10/27(木) 22:47:02.69 ID:???.net
laravelで作ったWEBサービスのandroidアプリを作成する場合、
アプリはあくまでViewの役割で、laravelのapiを作成+利用という感じがベストプラクティスですか?

786 :nobodyさん:2016/10/28(金) 04:55:45.08 ID:x7Q+ndGR.net
>>785
ベストかどうか分からないけどそんな感じのを作ったことはある
アプリ側からデータ取るのに必要な情報をpostで受けとり、結果はjson形式で返す

787 :nobodyさん:2016/10/28(金) 21:04:00.38 ID:???.net
皆はバリデーションの共有はどうやってますか?

自分はrequest側でもview側でも共有化するために
config('validations.maxlength.user.name')みたいにやっています

788 :nobodyさん:2016/11/03(木) 12:15:46.19 ID:???.net
laravelのhelperで一つ一つfunction_existsでチェックしてるけど
何の意味があるんだこれ

789 :nobodyさん:2016/11/03(木) 17:23:25.16 ID:???.net
>>788
同名関数を定義しておくと差し替え可能なので拡張出来る

790 :nobodyさん:2016/11/03(木) 20:08:13.21 ID:???.net
namespaceに置かないんだから当たり前のこと

791 :nobodyさん:2016/11/19(土) 16:41:48.71 ID:???.net
laradockにsupervisor導入したいんだけど
どこのコンテナにインストールすればいいの

792 :nobodyさん:2016/11/20(日) 03:37:52.96 ID:???.net
supervisorに何させたいのかによるのでは

793 :nobodyさん:2016/11/20(日) 08:38:12.32 ID:???.net
workspaceのdockerfileにsupervisorを自分で記述するだけで大丈夫でした

794 :nobodyさん:2016/11/20(日) 19:41:52.68 ID:???.net
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

795 :nobodyさん:2016/11/20(日) 21:46:32.46 ID:???.net
適当にぐぐったらnpm3.10.8以降がダメらしく3.10.7にダウングレードしろって書かれてるな

796 :nobodyさん:2016/11/25(金) 02:37:29.10 ID:???.net
ajaxの処理中にセッションの中身使いたい時どうすればいいんだ・・・

797 :nobodyさん:2016/11/25(金) 14:46:52.67 ID:???.net
別ドメインの場合の話かの?
そんならLaravel無関係じゃぞい
同一ドメインなら普通にセッション取れるはず

798 :nobodyさん:2016/11/25(金) 16:53:22.79 ID:???.net
認証の話だろうね

799 :nobodyさん:2016/11/25(金) 19:04:26.93 ID:???.net
>>797
$request->session()->all()
Session::all()
のどちらを行っても何も入ってないからてっきり特殊なことしないといけないのかと

800 :793:2016/11/25(金) 19:37:06.26 ID:???.net
自己解決しました。
post先のURLをapi.phpに登録してたのが原因でした。

801 :nobodyさん:2016/11/25(金) 20:44:37.74 ID:???.net
なるほど
5.3でAPI用のルート定義が分かれたんだったか
そしてAPI側とはセッションが繋がらんと
理に適ってるようでもあり不便でもあり

802 :nobodyさん:2016/11/26(土) 11:38:11.88 ID:UHgOhZNm.net
>>801
不便だす

803 :nobodyさん:2016/11/26(土) 12:03:32.63 ID:???.net
api.phpのルートはstatelessってドキュメントに明記してあるな
まあ本来いろんなところからサービスを請け負うためのもんだから
自分とこ専用のサービスなら自分のルートでやれってことなんだろう・・・か

804 :nobodyさん:2016/11/26(土) 20:49:00.44 ID:ziF/LSyi.net
>>794
なんかひでえな。
ポンコツmac以外お呼びでないと。

805 :nobodyさん:2016/11/28(月) 22:00:02.43 ID:???.net
ユーザーアイコンのアップロードで一時的にstorageディレクトリに保存→キューでリサイズ
このパターンで行こうかなと思ってるんだけど

storageに一時的に保存するのってバッドプラクティスにならない?

806 :nobodyさん:2016/11/28(月) 22:18:25.68 ID:???.net
そこに置くのが一番バッドじゃない気がするがのう
そこがバッドならどこに置けばグッドだと?

807 :nobodyさん:2016/11/29(火) 01:00:30.43 ID:???.net
sys_get_temp_dir

808 :nobodyさん:2016/11/29(火) 11:25:42.66 ID:???.net
storage以外ならtempだろねぇ

809 :nobodyさん:2016/11/29(火) 21:35:38.31 ID:???.net
キューで必要ならstorageだろう

810 :nobodyさん:2016/11/29(火) 22:40:33.25 ID:???.net
storage保存で無事キューイングも動作しました。
ありがとうございます!

811 :nobodyさん:2016/11/29(火) 22:52:44.91 ID:???.net
複数ユーザーが使うならファイル名のバッティングには注意な
どこに置こうと共通する常識の類だが念のため

812 :nobodyさん:2016/12/08(木) 11:45:26.84 ID:???.net
しっかしまあ、ルーティングからデザインまで全部やると大変ね
楽になったとは言えフレームワークの学習コストもあるし
結局は、なんだかんだ既存のCMSに無いこと実装するわけだし

813 :nobodyさん:2016/12/14(水) 00:26:23.12 ID:???.net
チラ裏容赦
collectionを継承すると色々使えてメソッドチェーンでサラサラ書けてステキ
とか思って多用してたんだけど
except()なんかが返すのは「新規インスタンス」なんだよね
生のcollectionを直接使うならそれでなんの問題もないけど
継承した子クラスが追加のプロパティを持ってて値が入ってる場合
それらはみんな消えてしまうわけだ
新規インスタンスだから当然なんだけど
結構そのことを忘れてバグを作り込んでしまうんだよな
いや俺がヘボいだけなんですけどね
新規インスタンスじゃなくクローンを返してくれてもいいのにと思った次第
パフォーマンスを考慮しての仕様なのかね

814 :nobodyさん:2016/12/14(水) 10:57:44.98 ID:???.net
collectionは抽象化されてないのか

815 :nobodyさん:2016/12/14(水) 11:37:39.00 ID:???.net
>>813
状態を持っていないものに無理やり状態を持たせる設計を見直すか、
破壊的なメソッドを自分で追加するかどっちかだな

816 :810:2016/12/14(水) 11:51:25.45 ID:???.net
>>814
とりあえずレス感謝れす
趣旨がよくわからんけどCollectionは抽象クラスではないね

except()等のチェイナブルメソッドは具体的にはreturn new static($items);みたくなっているから
たとえばCollectionを継承してFiltersというクラスを作ったとして
$filters->except('filter1')はもちろんFiltersクラスのインスタンスを返す
Collectionではなくてね
しかしFiltersに例えばurlKeyというプロパティを持たせ、初期値以外の値を入れておいて
echo $filters->except('filter1')->url();
なんてやったとしましょう
url()の中で自分のurlKeyを見るとそれはもう空っぽなわけ
伝わるかなこの残念な感じ

>>815
まあそうなんだけどね
継承して拡張することで状態を持たせたいという発想は許されないのかなと

817 :810:2016/12/14(水) 12:02:55.71 ID:???.net
あと必ずしも破壊的である必要はなくて
return new staticの代わりに

$new_instance = clone $this;
$new_instance->items = $new_items;
return $new_instance;

みたいになってりゃいいんじゃねと思うけど
itemsがprotectedだからセッターを作る必要があって
そうなると隠蔽性が壊れるっていう話なのかなと思ったりしないでもないでもない

818 :nobodyさん:2016/12/14(水) 13:04:11.33 ID:???.net
継承じゃなく委譲すればいい話では

819 :nobodyさん:2016/12/14(水) 13:12:49.57 ID:???.net
>>816
責務を増やす事は簡単
その分テストは複雑になる
これは宜しくない
だから専門を新しく作ればいい

$urls = new URLのリスト作る奴($filters, 'urlKey');
assert($urls->url() == $url);

820 :810:2016/12/14(水) 14:58:11.95 ID:???.net
>>818
プロパティとしてCollectionを持って未実装メソッドはそいつに受け渡す形ってことね
マジックメソッドとか気分的にあんまり使いたくないけどありだよね

>>819
それがベストプラクティスって奴なのかな
今回のケースに限るとフィルタ(要するに絞り込み)の種類がやたら多い上に
クエリパラメータの書き方が統一されておらず(既存サイトの書き換えです)
複数フィルタをまとめて扱うもの(いわゆる詳細検索)もあったりして
やはり各フィルタのクラスがクエリパラメータ生成を受け持つべきと判断した次第なんだけど
失敗だったかもしれないなあ

とりあえずCollectionにラッパーかぶせてチェイナブルメソッドがクローンを返すようにしてみたよ
30個ものメソッドをオーバーライドするんじゃ譲渡のほうがマシじゃんという話もあるがw
まあ一回作っときゃ今後のストレスが減るかなと
パフォーマンスや動作には今のところ問題なさそうですわ
ほんとチラ裏な話が続いて申し訳ないw

821 :nobodyさん:2016/12/22(木) 15:16:25.99 ID:???.net
HasManyのEagerLoadingでlimit設定設定したいのですが

Post::with(['comments'=>function($query) {
return $query->limit(5);
}])
->get();

これだと1つのポストあたり5件じゃなく、全てのポストから5件を取得してしまいます。

解決策はないですかね?

822 :nobodyさん:2016/12/22(木) 15:29:57.75 ID:???.net
>>821
ない

823 :nobodyさん:2016/12/22(木) 17:31:15.24 ID:???.net
> >>821
> ない
いや、なんかあんでしょ

824 :nobodyさん:2016/12/22(木) 18:19:17.34 ID:???.net
eager loadingがどういうSQLに展開されるか調べてみそ
無理だとわかるから

825 :nobodyさん:2016/12/24(土) 22:34:54.53 ID:???.net
ドキュメント読んでもイマイチ分からないんですけど
laravel passportの主な実用例というのはどういったものでなんでしょう

826 :nobodyさん:2016/12/25(日) 10:04:32.03 ID:???.net
質問の意図がよくわからんが
とりあえずoAuthがどういうものかはわかってるのかな
それがわかれば実用例も自ずとわかりそうなものだが

827 :nobodyさん:2017/01/19(木) 10:15:17.80 ID:???.net
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja

828 :nobodyさん:2017/01/25(水) 16:28:42.76 ID:???.net
ドキュメント見づらい
サイドバー隠れなくていいよ

829 :nobodyさん:2017/01/25(水) 16:29:22.88 ID:???.net
でも日本語ありがとー

830 :nobodyさん:2017/01/26(木) 13:07:00.28 ID:???.net
項目も細かくわけないでいいよね。
ドキュメントなんだから、いちいちページ変えるのも面倒だし、一覧性も高い方がいい。

831 :nobodyさん:2017/01/27(金) 00:41:39.06 ID:???.net
日本語版はなんで本家のレイアウト変えてるんだろう
メニュー無いのが不便で仕方ないから本家見てる

832 :nobodyさん:2017/01/27(金) 16:05:21.63 ID:???.net
laravelのIDEはphpstormじゃないときつい感じか?
netbeansはbladeの記述にのに対応してなくてダルいんだが…

833 :nobodyさん:2017/01/27(金) 16:28:44.12 ID:???.net
vimで余裕

834 :nobodyさん:2017/01/27(金) 22:36:00.28 ID:???.net
atom一択だろ

835 :nobodyさん:2017/01/28(土) 05:22:38.83 ID:???.net
さくらエディ いやなんでもない・・・

836 :nobodyさん:2017/01/29(日) 05:45:27.34 ID:???.net
>>832
この辺使ってみてどれが良かったか教えて

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

837 :nobodyさん:2017/01/29(日) 11:32:57.73 ID:???.net
なんで秀丸派おらんの?
おれは全然不便してないけど。作業効率そんなに変わるもの?

838 :nobodyさん:2017/01/29(日) 11:40:22.58 ID:???.net
秀丸ってWindows専用じゃん
しかも4000円もするし

839 :nobodyさん:2017/01/29(日) 12:01:17.48 ID:???.net
書くのはSublimeでデバッグはNetBeansだな
Sublimeから直接XDebugが使えるみたいだけどまだ試したことはない

840 :nobodyさん:2017/01/29(日) 14:21:14.60 ID:???.net
おれもSublimeTextだわ
秀丸を長年カスタマイズしてきた猛者ならわからんが、おれは気持ちよさが全然違う
実作業時間の話ではない

841 :nobodyさん:2017/01/29(日) 22:22:46.52 ID:???.net
Sublimeは入れただけでよくわからなくてあんまり試してないけど、Atom使ってるけど適当に補完が効きまくるしキャメルケース?でも補完してくれるからかなり気持ちいいね
user_first_name_kanaみたいなやつがufnkaとかで補完できる

842 :nobodyさん:2017/01/29(日) 22:27:42.33 ID:???.net
どうでもいいがそれはスネークケースだな
キャメルケースならuserFirstNameKana
先頭も大文字のはなんていうんだっけか

843 :nobodyさん:2017/01/29(日) 23:13:52.39 ID:???.net
アッパーキャメルケースとかだった気がする。
まあその辺、いい加減全ての言語で統一してほしいよな

844 :nobodyさん:2017/01/30(月) 00:17:33.27 ID:Gsq6F7gO.net
visual studio codeはどう?

845 :nobodyさん:2017/01/30(月) 00:40:33.27 ID:???.net
起動が遅すぎて俺はボツ
環境によりそうだけど

846 :nobodyさん:2017/01/30(月) 03:29:49.69 ID:???.net
>>838
おまえは許された

847 :nobodyさん:2017/01/30(月) 09:23:10.78 ID:???.net
プログラム用途ならエディタなんて多くて一日一回、へたすりゃ週に一度しか起動しないぞ

Sublime開きっぱなしだ

848 :nobodyさん:2017/01/30(月) 09:31:45.52 ID:???.net
ずっと仕事してるわけでもないからな
家でエロい動画見てるとき職場から電話があって・・・
みたいなときすぐ立ち上がるほうが
ストレスがなくていいわ

849 :nobodyさん:2017/01/30(月) 15:46:30.12 ID:???.net
エロ動画みるのにエディタを閉じる必要あるのか?

仮想画面で切り替えた方がいざというときよくない?

850 :nobodyさん:2017/01/30(月) 21:47:04.16 ID:???.net
>>849
そもそも会社以外じゃエディタなんぞ開かんっつってんの
よっぽどの緊急事態に対処するとき以外はね

851 :nobodyさん:2017/01/30(月) 21:51:31.57 ID:???.net
エロ動画も会社以外じゃ観ないけどな

852 :nobodyさん:2017/01/30(月) 22:46:45.85 ID:???.net
っていうか、なんで自宅限定になってんだ?w
Laravelをどんなエディタで編集してるかってことだろ

853 :nobodyさん:2017/01/30(月) 22:58:39.79 ID:???.net
いろんなエディタを使い分けるのってそれ自体ストレスなんだから
利用ケースを制限するファクターは全てマイナス要因に決まってるだろ
特定プラットフォームでしか動かないなんてのと同じだ

854 :nobodyさん:2017/01/31(火) 02:56:42.75 ID:???.net
>>853
ほんとこれ
Xcode、Eclipse、Visual Studio、Atom、Xamarin Studio
泣きそう

855 :nobodyさん:2017/02/01(水) 01:13:11.19 ID:???.net
vimだけ使っとけばええねん

856 :nobodyさん:2017/02/01(水) 01:26:11.89 ID:???.net
vimでスマホアプリ作れんのけ?

857 :nobodyさん:2017/02/01(水) 05:01:23.77 ID:???.net
配列のバリデーションで、 'item.*.price' => 'numeric'


エラーメッセージに、配列の何番目がエラーを起こしたか表示したいんですが、
どのようにすれば出来ますか?


下記のように書くと 価格とは分かるんですが、何番目の価格なのかが表示されず
困っております。

resources\lang\ja\validation.php
'attributes' => [
'item.*.price' => '価格',
],

858 :nobodyさん:2017/02/01(水) 18:33:29.95 ID:???.net
全部かく

item.0.price 〜

859 :nobodyさん:2017/02/01(水) 19:28:38.12 ID:???.net
俺も2秒位で思いついたけど、
ひょっとしたらウルトラテクニックがあるのかと思って黙ってた

860 :854:2017/02/01(水) 20:23:28.75 ID:???.net
配列のバリデーションしたら、何番目か知りたいと思うんですが
ウルトラテクニック扱いなんですかねぇ・・・

:Index

:Key

とかで何番目か取れても良さそうなもんだと思ったんですが。

861 :nobodyさん:2017/02/02(木) 01:36:29.31 ID:???.net
そもそも、配列でのバリデーションにこだわるってことは
要素の数が変わるフォームなんでしょ?

だったら番号出ても意味なくない?

無駄に入ってない項目とか、間違った項目とか調べるくらいなら、
素直に一つ一つ項目ごとに変数に入れて検査すりゃいいんじゃね?

862 :nobodyさん:2017/02/02(木) 01:49:48.94 ID:???.net
なんか違う

863 :nobodyさん:2017/02/04(土) 13:55:59.29 ID:???.net
エラーのでたマスに色付けるとか、してないの?

864 :nobodyさん:2017/02/05(日) 16:25:08.87 ID:???.net
5.3→5.4にしたらバリデーションのnumericの動きが変わった。

5.3は未入力だnumericチェックされてなかったのに、
5.4は未入力でも数値入力しろって言われるようになった。

865 :861:2017/02/05(日) 18:59:13.50 ID:???.net
nullable付けたら、5.3と同じになった。

866 :nobodyさん:2017/02/06(月) 00:05:39.97 ID:???.net
まあ本来のバリデーションの用途考えれば未入力もエラーになるべきだよね

867 :nobodyさん:2017/02/08(水) 22:57:16.81 ID:FzukQccy.net
>>853
まあねぇ。

Android: AndroidStudio
Java: NetBeans
PHP/Python: VSCode

868 :nobodyさん:2017/02/09(木) 21:31:53.81 ID:???.net
>>867
PHPもNetBeansでいいだろ

869 :nobodyさん:2017/02/10(金) 10:14:27.97 ID:Z7sQhP2t.net
PHPStormでも、補完できない・警告でまくりでストレスあるわな。
Laravelだと特に。
AtomやVSCodeでもcomposerの参照くらいできるpluginはあるし。
どっちがいいとか一概に言えないな。

870 :nobodyさん:2017/02/10(金) 20:40:48.10 ID:???.net
PHPStorm に laravelのプラグイン入れてもダメ?

871 :nobodyさん:2017/02/10(金) 20:59:04.78 ID:???.net
いいよ

872 :nobodyさん:2017/02/11(土) 00:17:56.87 ID:R7QtoNQ0.net
Cakephpじゃだめ?

873 :nobodyさん:2017/02/11(土) 00:20:50.87 ID:???.net
CakeはDIコンテナがないのがストレスすぎる

874 :nobodyさん:2017/02/11(土) 13:42:23.81 ID:???.net
pimple入れたらいいじゃん

875 :nobodyさん:2017/02/11(土) 14:38:22.49 ID:???.net
Laravelイマイチはやってないから、人に説明すんのがめんどくせぇ

876 :nobodyさん:2017/02/11(土) 15:02:18.02 ID:???.net
PHPフレームワークの中では流行ってる方だと思うけど...
ttps://mayonez.jp/1374

877 :nobodyさん:2017/02/12(日) 08:13:29.04 ID:???.net
自作フレームワーク+Smartyでシステムを作り稼働中です。

このシステムのフレームワークをLaravelに変更し、HTMLテンプレートは
現状のまま(BladeではなくSmartyテンプレート)にしたいと思っています。

Laravel + Smarty だと、開発効率・可読性・メンテし易さなど、デメリット大きい
でしょうか?

とくに画面遷移の部分(バリデーションエラー時にPOSTデータを再表示するなど)
が気になっています。

教えてください。
お願いします。

878 :nobodyさん:2017/02/12(日) 12:53:16.61 ID:???.net
素直にbladeにすべき

ちな、smarty→bladeの置換プロジェクトを進行中
開発中もデザイナーの更新がすすむので、直接書き直すのではなく、面倒でも置換スクリプトを書いてるよ

もちろん汎用性はない

879 :nobodyさん:2017/02/12(日) 14:47:06.92 ID:???.net
> 素直にbladeにすべき

何故でしょうか?
理由を具体的に教えてもらえませんか?

880 :nobodyさん:2017/02/12(日) 15:04:17.36 ID:???.net
素直じゃないのね

881 :nobodyさん:2017/02/12(日) 16:29:12.36 ID:???.net
>>879
フレームワーク使って楽しようってのに
わざわざややこしいことするなら
そもそもフレームワークいらないじゃん

882 :nobodyさん:2017/02/12(日) 16:49:22.12 ID:???.net
LaravelはあんまりBladeに依存してないと思うけどな
テンプレートエンジンの入れ替えは効くんじゃね?
Smarty側の事情を知らんから迂闊なことは言えんけど

883 :nobodyさん:2017/02/13(月) 01:10:50.94 ID:???.net
再表示なんかは当たり前だけど、普通に実装してるよ。
そのためのフレームワークなんだから。

ログインも、ユーザー管理も、データベースへの書き込みも全部用意されてる。
独自の実装にしたい場合を除いてLaravel使ったほうが楽

884 :nobodyさん:2017/02/13(月) 01:13:37.73 ID:???.net
あ、Smarty使ってか…。
ごめん、やった事ないからそれは知らんw
Bladeならできるよ。置き換えるのも大した手間じゃないでしょ

885 :nobodyさん:2017/02/13(月) 09:56:32.26 ID:???.net
bladeの場合、value="{{ old('name', '初期値') }}" と書いて、コントローラーでの値設定をすべてすっとばすの

ので、postメソッドでのエラーは、元のgetメソッドに return back()->withInput()->withError($this->errors); で返すだけの構造となる

だから、blade使わないならコントローラーの構造がまったく別物になるよ

もちろん、フォーム部品を全部コントローラーで用意するなら、smartyでもlaravel的構造を維持できるけどね

そこまでやる価値はないと、俺らは判断した

886 :nobodyさん:2017/02/13(月) 10:04:39.13 ID:???.net
それはむしろoldヘルパー(とRequestファサード)のおかげではないの?
テンプレート内でグローバルなfunctionさえ呼べればいいような

887 :nobodyさん:2017/02/13(月) 10:31:18.12 ID:???.net
ああそうか
既存のテンプレートは一切変更しないという前提だと無理だね
デザイナーさんが絶賛書き換え中のプロジェクトならなおさら
でも一気に切り替える前提なら
フォームのinputのvalueだけ書き換えちゃえば済む話かなと

888 :nobodyさん:2017/02/14(火) 22:04:21.18 ID:???.net
フォーム部品を全部コントローラーで用意するのは大した手間ではない気がします。
というか、その方が考え方がスッキリしていて良い気がします。

テンプレート内でグローバルなfunctionを呼んで表示する値を取得するのは、
ビューからロジックを呼ぶことになり、あまり綺麗ではないような・・・

Bladeを使う人はold()を使いまくっているだろうから反対されそうですが。

889 :nobodyさん:2017/02/14(火) 23:27:56.87 ID:???.net
自分の好きに使ったらええんやで

890 :nobodyさん:2017/02/15(水) 01:03:35.73 ID:???.net
ビューからロジックを呼ぶってのは
<?= Request::has('name') ? Request::input('name') : '' ?>
みたいに書くことを言うんじゃねーの?
HTMLしか知らないデザイナーのオネーサンが書いたページにも
最小限の手間で入れられる、さらには
「こう書けばええんやで」と教えれば
オネーサン自身でも何とかなるレベルのシンプルさになることが重要なのであって
そういう意味ではコントローラでコンポーネントを組み立てるなんて考え方のほうが
よっぽどビューとロジックの混合でありバッドプラクティスなんじゃないかと

891 :nobodyさん:2017/02/15(水) 01:09:13.46 ID:???.net
でもキッチュでポップなコンテンツだと、
センセーショナルなグローバリズムの観点から言うとロジックがカジュアルだから
コンパイルのためのリソースがオーバードーズするよな

892 :nobodyさん:2017/02/15(水) 02:25:28.46 ID:???.net
Laravelを書いてるとビュー=HTMLテンプレート脳になるので忘れがちだけど、ビューにもビューロジックがあるわけで。少し複雑になったときにどこに置くかはたしかに迷うことあるな

ヘルパ関数か、横着してモデルにくっつけるか、プレゼンター使うか、フォームだったらフォーム専用のオブジェクト作るかなど

893 :nobodyさん:2017/02/15(水) 02:32:53.20 ID:???.net
(ビジネス)ロジックとビュー(ロジック)の混合

言いたいことはわかるけど言葉は正しく使ってくれよな

894 :nobodyさん:2017/02/15(水) 06:11:47.11 ID:???.net
ドメインロジックとか言うんだよな
普通はコントローラに置くな、モデルに持たせろっていう話になる
ビューに書くなんてもってのほか

895 :nobodyさん:2017/02/15(水) 06:27:35.72 ID:???.net
いずれにせよvalue="{{ old('name') }}"をロジックと呼ぶのがそもそも間違いだな
もし問題にするとしたらグローバルな関数名を使いすぎというところだろうが
そこはLaravel(特にv5以降)の思想のうちってことになるんじゃないかな
「タイピング量を減らす」っていう明確な思想
名前空間の導入でクラス名全般のタイプ量が増えたことに対する対策
グローバルとは言っても関数は変数と違ってユーザーによる汚染は不可能だし
定義時に存在チェックもしてるんだから
関数名がかぶってもそのヘルパーが使えなくなるだけなので
自己責任の範囲と言えるだろうよ
使いたくなけりゃ無視できるという意味でね

896 :nobodyさん:2017/02/15(水) 18:40:54.36 ID:???.net
oldはただのヘルパーでしょ

897 :nobodyさん:2017/02/15(水) 19:50:48.78 ID:???.net
ただのヘルパーさんでしたか
それは失礼いたしました。

898 :nobodyさん:2017/02/16(木) 09:13:35.61 ID:???.net
>>890
バットプラクティスだと思う

デザインをbootstrapに変えるとか、何かしらプラグインで拡張するとか

デザイナーからの要望でチェックボックスとかの出力要素をいちいち変える?

899 :nobodyさん:2017/02/17(金) 17:40:20.67 ID:s05ISus8.net
バット。。。

900 :nobodyさん:2017/02/18(土) 00:21:16.69 ID:???.net
名前空間付き関数のオートロード欲しくない?

901 :nobodyさん:2017/02/18(土) 00:33:58.38 ID:???.net
関数名とその関数が書かれているファイル名とを何らかの形で関連付けるルールが必要になるだろうな
それをやるなら現状のままその名前空間に一個ダミークラス(Fnとか)を置いて
そのメソッドとしてぶら下げることにすれば
ほとんど同じ感覚で使えそうだが

902 :nobodyさん:2017/02/28(火) 15:16:23.72 ID:???.net
bladeのタイポエラーのとき、strage/framework/viewsのキャッシュファイルで位置を調べるけど、
デザイナーさんは(権限あっても)サーバー覗く技量ないよね

laravel.logとキャッシュファイルからエラー箇所を教えてくれるツールとか、
ないのかしらん?

903 :nobodyさん:2017/03/01(水) 21:25:46.01 ID:???.net
>>902
そういうの欲しいと切実に思ってたけど
デバッグが必要なほどのロジックをビューに置くな
という戒めと思うことにした

904 :nobodyさん:2017/03/03(金) 18:45:39.04 ID:???.net
EloquentにDBに存在してる変数以外を持たせるのって間違った設計?
save時に全部insertしようとしてエラーになるけど、対処方法がわからないよ・・。

905 :nobodyさん:2017/03/03(金) 19:12:27.26 ID:???.net
意味がよくわからんが普通にプロパティを追加して使ってるぞ
もしかして$attributesに直接キーを追加してるのかな?

906 :nobodyさん:2017/03/03(金) 21:50:16.57 ID:???.net
>>905
そういうことか!
変数定義しないで直接ぶっこんでたのがいけなかった
ありがとう。

907 :nobodyさん:2017/03/04(土) 09:29:36.74 ID:???.net
guarded指定したら好きに追加できる

908 :nobodyさん:2017/03/04(土) 12:08:30.04 ID:???.net
どちらかと言えばfillableを推奨してるしfillableの方が

909 :nobodyさん:2017/03/04(土) 12:09:34.20 ID:???.net
つかそれやる意味ある?
普通にクラスプロパティでええやん

910 :nobodyさん:2017/03/06(月) 19:19:53.68 ID:mGf49+Wm.net
デザイナー様には、ThymeleafのようなHTMLフレンドリーなのがいいだろうね。

911 :nobodyさん:2017/03/07(火) 00:29:33.81 ID:???.net
今日jsonを吐き出させようとしてわかった
toJson()を使うならアトリビュート追加する意味があるんだな

912 :nobodyさん:2017/03/19(日) 07:26:43.06 ID:???.net
>>890
今時デザイナーにhtmlいじらすなよ
cssだけでいいだろ
逆に効率悪くなるぞ

913 :nobodyさん:2017/03/19(日) 08:08:23.46 ID:???.net
そうだな
俺もそういう環境で仕事したいわ

914 :nobodyさん:2017/04/23(日) 18:39:55.32 ID:???.net
laravel.jp
って更新止まってる?
リンク切れだらけだけど

915 :nobodyさん:2017/04/23(日) 19:34:19.33 ID:???.net
もう終わったんだろ

916 :nobodyさん:2017/04/24(月) 21:41:06.34 ID:???.net
唐突だがEloquentのCollectionのmergeメソッドには超要注意ですよおまいら
加える対象の配列に入ってるモデルはidを持ってることが前提になってて
もしidのないモデルの配列を加えてしまうと元のCollectionまで要素が一個になっちゃう
もちろん普通のEloquentモデルはidを持ってるわけだが
DBから取得せずnewで作ったモデルを
mergeで追加しようなんてことは絶対考えちゃダメ
いいか、絶対だぞ
俺みたいになりたくたかったらな!

orz

917 :nobodyさん:2017/04/24(月) 22:04:57.07 ID:???.net
>>916
要素が全部消えるの?説明がよくわからん。

918 :nobodyさん:2017/04/24(月) 22:13:02.14 ID:???.net
>>917
うん
一個だけになって残りは消える

919 :nobodyさん:2017/04/24(月) 22:18:18.04 ID:???.net
なお加えるのが空の配列でもだめ
こっちの方が怖いかもしれないな

920 :nobodyさん:2017/04/24(月) 22:24:35.39 ID:???.net
あー、なるほど。引数に渡したCollectionに複数要素が入ってても、IDがなければ一番最後の要素しか残らないってことか。

921 :nobodyさん:2017/04/24(月) 22:28:45.91 ID:???.net
いやちょっと待って整理する
mergeの引数はコレクションじゃなくて配列なんだよね
元のコレクションに入ってるモデルにidがないことが前提だな、多分
それだと元のコレクションも要素一個になる
引数の配列に入ってるモデルにだけidがない場合は
元のコレクションは無事で済みそうだ
試してないけど

922 :nobodyさん:2017/04/24(月) 22:35:12.98 ID:???.net
ソースを読めばモデルのgetKey()メソッド(id取得)でキーイングしていて
まあ当然といえば当たり前の挙動なんだな
でも$query->get()したコレクションをmapメソッドで中身を別の新規モデルにして・・・なんてやって
元がEloquentのCollectionであることを意識せずにいてひどい目にあった次第
ちなみに普通のCollectionではなんの問題もないから
いったんcollect($collection->all())なんてやって変換すれば大丈夫

923 :nobodyさん:2017/04/24(月) 22:48:51.66 ID:???.net
なるほど。まぁMapとListの区別がないPHPらしい挙動ではある。

924 :nobodyさん:2017/04/24(月) 23:19:08.99 ID:???.net
しかしmap()は普通のCollectionを返すはずなんだよな・・・
俺のケースでなんでEloquent\Collectionのままだったのかよくわからなくなってしまった
まあもう問題は解決したからいいんだけど
そう考えるとあまり普通には起こらないはずの現象ではあるな
mapにしてもfilterにしても結果はEloquentではなくIlluminate\SupportのCollectionだから

925 :nobodyさん:2017/04/29(土) 12:42:16.78 ID:???.net
Laravelけっこういいのになんでこんなに過疎ってるん?

926 :nobodyさん:2017/04/29(土) 14:23:42.45 ID:???.net
特に語ることがないからかな?

927 :nobodyさん:2017/04/29(土) 15:57:42.05 ID:???.net
Laravelは他のフレームワークと比較してライブラリとかプラグインを作りやすいと思うけどPackagistとかで公開してる人いる?

928 :nobodyさん:2017/04/30(日) 01:11:01.26 ID:???.net
そもそもフレームワークなんて語ることないんじゃね?
質問くらいなもんでしょ

929 :nobodyさん:2017/04/30(日) 13:44:36.85 ID:???.net
不満でもあればぐちぐち書き込めるけどそれも特にないw

930 :nobodyさん:2017/06/08(木) 14:36:07.83 ID:PfNx38oZ.net
質問ですが、
・CRUD処理の Create(レコード追加)と Update(レコード更新)のアクションに
 おいて、それぞれ「保存(Save)」のメソッドを定義するときに、
 これらは同一でいいんですか?分けたほうがいいんですか?

931 :nobodyさん:2017/06/08(木) 14:44:45.42 ID:???.net
通常は新規時にinsert、更新時にupdateクエリを走らせる、
そんでinsert時は大抵idは未指定でDBの自動生成に任せるはず

ラッパーのupsert関数を用意するなら同一に出来るけど、
結局内部ではidの有無で切り替える処理になると思う

932 :nobodyさん:2017/06/08(木) 18:42:22.99 ID:???.net
モデルのsave()使うだけでダメな理由あるんだっけ?

933 :nobodyさん:2017/06/08(木) 19:04:12.02 ID:???.net
ないと思う
むしろupdateを使うとイベントが発火しないから
よほど大量の更新じゃない限りsaveでいいんじゃないかと

934 :nobodyさん:2017/06/10(土) 15:58:20.49 ID:???.net
html を出力する際に、ブラウザがレンダリングするのに不要な改行やスペースを削除する機能はあるのでしょうか?
Twig でいう spaceless のような機能のことです

詳しい方どうか教えてください

935 :nobodyさん:2017/06/10(土) 17:38:34.79 ID:???.net
Laravel Html Minify とかで検索するといくつか見つかるね。textareaとかpre、scriptタグのこと考えるとあんまりおすすめできないけど。
gzip圧縮しちゃったほうがよくない?

936 :nobodyさん:2017/06/11(日) 13:38:49.29 ID:???.net
white-spaceをpreにしてる事はあんま無いとは思うけどそのHTML次第だからなんとも言えない

937 :nobodyさん:2017/06/13(火) 13:07:59.05 ID:???.net
LaravelってsymfonyのFormみたいなのないの?
使うならSymfonyのフォーム入れて使えってことか

938 :nobodyさん:2017/06/13(火) 22:49:58.09 ID:???.net
よく分からんけどフォームの実装も楽よ

939 :nobodyさん:2017/06/14(水) 15:16:43.08 ID:???.net
>>938
この程度のは楽とは言わない

940 :nobodyさん:2017/06/14(水) 15:21:47.43 ID:???.net
じゃあ何て言うの?

941 :nobodyさん:2017/06/14(水) 21:09:22.70 ID:???.net
非効率

942 :nobodyさん:2017/06/21(水) 23:58:08.51 ID:/PupAqaZ.net
最近laravel勉強し始めたんですが
サーバエラーが起こった場合のエラー内容がわかりづらくて困ってます
コードの何処かに打ち間違いとかがあった時に
どこでエラーになっているのかとかがすごくわかりづらいんですが
皆さんどうやって見分けてますか?
コツなどあれば教えてください

943 :nobodyさん:2017/06/22(木) 00:36:49.80 ID:???.net
慣れろ

944 :nobodyさん:2017/06/22(木) 01:09:54.25 ID:???.net
ごめん不親切だったわ
logger使ってログファイルをtail -fするだけでも大分捗るぞ

945 :nobodyさん:2017/06/22(木) 12:06:33.49 ID:???.net
>>937
RequestがFormじゃないの?

946 :nobodyさん:2017/06/22(木) 12:07:11.05 ID:???.net
>>942
productionモードでやってない?devにすると行数まで出てたような。

947 :nobodyさん:2017/06/22(木) 12:18:18.60 ID:???.net
例えばEloquentモデルで持前のメソッド名を間違えたときに
フレームワーク内でのエラーになっちゃうからね
マジックメソッドの弊害

948 :nobodyさん:2017/06/22(木) 12:18:58.89 ID:???.net
持前じゃない、自前ね
なんでこんなのが変換候補に出てくるんだ・・・

949 :nobodyさん:2017/06/22(木) 13:33:04.40 ID:???.net
でも、スタックトレースにはどっかに自分の書いたコードのファイル名と行数が書かれてるわけだから、どこで間違えたのかを見つけるのはそこまで難しくもなくない?

950 :nobodyさん:2017/06/22(木) 13:36:49.86 ID:???.net
>>949
慣れればね

951 :nobodyさん:2017/06/22(木) 17:42:19.13 ID:Hbr/qHaC.net
やっぱ慣れるしか無いんですね
メソッド名を1文字間違えてたときとか原因わかるまで結構時間かかってしまったんですが
とりあえず頑張ってみます

952 :nobodyさん:2017/06/22(木) 17:48:40.50 ID:???.net
>>951
そういうのはLinterの出番
「PHPMD」でググると幸せになれるかもしれない

953 :nobodyさん:2017/06/22(木) 17:53:25.30 ID:???.net
逆にマジックメソッドは正しくlintできるんだろうか
スコープとかミューテータとか
そのままの名前のメソッドは存在しないわけだけど

954 :nobodyさん:2017/06/24(土) 20:52:50.18 ID:???.net
APIのルーティングはどこに書けばいいですか?
あと普通のルーティングと書き方って何か違いますか?
同じところに書くと何かまずいですか?

955 :nobodyさん:2017/06/24(土) 21:08:47.33 ID:???.net
最新版ならapi.php
ただしweb.phpのルートとはセッションが繋がらないので要注意
単にajaxの受け口など自サイト専用のapiなら
web.php側に書くほうがなにかと楽だと思う
多分ベストプラクティスからは外れるんだろうけど

956 :nobodyさん:2017/06/25(日) 02:08:32.67 ID:???.net
>>955
ありがとうございます!

957 :nobodyさん:2017/06/26(月) 00:12:31.46 ID:???.net
モデルのリレーションで複数キーの場合どうやんの?
いちいちジョインするの面倒っすわ

958 :nobodyさん:2017/06/26(月) 00:23:18.70 ID:???.net
>>957
複合キーでJOINする必要があるってこと?

959 :nobodyさん:2017/06/26(月) 00:26:57.13 ID:???.net
>>958
そうっす

960 :nobodyさん:2017/06/27(火) 14:39:39.14 ID:???.net
366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744

367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/

372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する

Railsはマイナー、メジャーのアップデートが半年以内に必ずある

客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく

気づいてから1年以内に通知すれば、5年間無料保証ゲット

つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな

376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>380>>381>>377
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。

961 :nobodyさん:2017/06/27(火) 18:57:04.50 ID:???.net
勝手にアップデートしたなら動作保証対象外だろw

962 :nobodyさん:2017/06/27(火) 21:28:51.88 ID:QIWsdprH.net
普通リリース後はバージョン固定だよな
「バージョン○○まで面倒見る。それ以降は知らね」と契約するもんだ

963 :nobodyさん:2017/06/28(水) 09:16:09.12 ID:???.net
瑕疵担保責任(かしたんぽせきにん)

瑕疵担保責任のポイント

民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある

http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt

改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている

全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html

964 :nobodyさん:2017/06/28(水) 09:21:58.02 ID:???.net
ポイント1:修補や損害賠償、契約解除の期限がなくなる

従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。

もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。

965 :nobodyさん:2017/06/28(水) 09:28:40.80 ID:???.net
>>962

ライバル社とのコンペで負けるな。ライバル社は無償保証を提案してくるだろうから

966 :nobodyさん:2017/06/28(水) 13:49:24.54 ID:m56NYRqQ.net
>>965
それはバージョンアップしない前提だろ
そりゃバグが出ればメンテするわな

967 :nobodyさん:2017/06/29(木) 06:56:14.70 ID:q2F1TRfK.net
laravelの「イベント」ってどういう意味なんでしょうか?
調べてもよくわかりません
どなたかわかりやすく解説してくれませんでしょうか?

968 :nobodyさん:2017/06/29(木) 08:18:17.60 ID:???.net
何かが起きたときに自動で何か処理したいとする
その「きっかけ」となる何かのことをイベントと言う
一般的にね

LaravelというかEloquentのイベントはデータ作成や更新といった「きっかけ」で
何らかの処理を自動で行わせるために使う
会員が最低一つはメルマガを購読するとしたら
会員モデルのcreatedイベントにメルマガ購読モデルの作成を仕込んでおけば
あとは会員を作成するだけでいいというわけ
というかプログラムのどこで作成しても必ずメルマガ購読データも作られるようになる

まあ処理し忘れを防ぐ機能とも言える
マメな人なら必要ないとも言えるかもしれん

969 :nobodyさん:2017/06/29(木) 10:20:39.88 ID:???.net
>>966
>そりゃバグが出ればメンテするわな

当たり前だ!ただでやれ。金は出さないよ。法律改正されたし、
アップデートごとにバグが出たら、何十年も無限無償でよろしく!
バックれたら瑕疵担保責任法で訴えるからな!
わかったか!

970 :nobodyさん:2017/06/29(木) 10:32:27.55 ID:???.net
>>968
なるほど
最初はイベントなんか使わなくても対象の箇所に適当なメソッドを挟めばいいんでは?と思ってたんですが
もっと深い箇所に埋め込みたい場合はイベントの方がいいんですね
ありがとうございました

971 :nobodyさん:2017/06/29(木) 10:44:33.12 ID:???.net
うむ
深いところ、というよりはデータ自身に付随させる
という考え方のほうがいいかも
Laravelというかこの手のフレームワーク全般に言えることでもある
ミューテータとかもそんな感じでしょ
めんどくさい処理はデータモデルに任せて表では楽しようという

972 :nobodyさん:2017/07/01(土) 07:23:34.90 ID:???.net
>>971
なるほど!
大変わかりやすい解説ありがとうございました!

973 :nobodyさん:2017/07/08(土) 10:23:06.09 ID:UEbKHg6v.net
Laravel使ってるんですが
正直使いづらくて何がいいのかさっぱりわかりません
ルーティングは機能ごとに毎回追加しないといけないし
nameスペースもいちいち追加するのがめんどくさいし
吐き出されるエラー内容もわかりにくいし
ドキュメントも充実してないし
こんなフレームワーク使うよりは
Codeigniterの方が使いやすくていいと思うんですがどうでしょうか?

974 :nobodyさん:2017/07/08(土) 10:30:16.40 ID:???.net
どうぞどうぞ

975 :nobodyさん:2017/07/09(日) 02:47:07.70 ID:7eNkpAL2.net
>>973

数人かそれ以下のPGで制作する場合は
Symfonyやその派生の巨大フレームワークは
却ってボトルネックとなると思う。
PG兼SE1人の制作環境では修行しているような気分になるはずだ。

しかし多数のPGを使って制作する場合は
リーダーが外枠(フレームワーク内のフレームワーク)をきっちり準備すれば
スムーズに事が運ぶと思われる。

俺は大人数での制作に関わる気は毛頭ないから
CodeIgniterの高速性を取るし(最近はCodeIgniterすら使わない)
Symfony系の巨大フレームワークは壮大な無駄にしか見えない。

ドキュメントが充実していないというのは誤解のような気がする。
Symfony系のフレームワークは色々な団体・個人が開発したソースの集合体であり
どこかが一括してドキュメントに責任を負っているわけではないのだろう。
Symfony系が粗大ゴミにしか見えない者にとってはどうでも良いことだが。

976 :nobodyさん:2017/07/09(日) 22:55:59.60 ID:???.net
Laravelの良さはコマンド一つでサクサク環境作れることじゃない?
SQLインジェクション対策とか、ログイン関係のセキュリティ対策も完備しているし、
コマンドも自分で簡単に追加できるし、普通にフレームワークとしての機能は完備してる

解説は確かに昔少なかったけど、解説本も出たんだから買えば解決
ただ、公式の解説や、本体を翻訳してくれてる有志が居るし恵まれてる方でしょ

977 :nobodyさん:2017/07/10(月) 01:24:21.48 ID:???.net
Laravelで数少ない不満はhasOne :throughを頑なに拒み続ける事

978 :nobodyさん:2017/07/11(火) 00:26:35.73 ID:???.net
Laravelのどこがドキュメント恵まれてないんだ?
CodeIgniterの方が負の遺産抱えすぎて悲惨だろw
未だにアンダースコア区切りでやってんのかよ

979 :nobodyさん:2017/07/11(火) 03:37:43.61 ID:MJfoqvFM.net
ApacheできないけどLaravelできますか?
PHPは割りと理解している(.so 関係, peclモジュールとかは怪しいレベル)
Composerはギリ
Railsはできる。
JavaScriptは結構得意。(jQery, Reactいける。)
MySQLも使い慣れている(スキーマとかGRANTもできる)

980 :nobodyさん:2017/07/11(火) 06:45:29.11 ID:???.net
Apacheできないってどういう意味だろ
設定できないってことかね

981 :nobodyさん:2017/07/11(火) 08:31:50.54 ID:???.net
その書き方からすると全部怪しいw

982 :nobodyさん:2017/07/11(火) 11:08:24.69 ID:???.net
Laravel使うようになって初めてcomposer使うようになって、未だによくわかってないけど問題ない
Apacheの設定もいじるのはDocumentRootぐらいだと思う、/以外にLaravel設置しようとしたら大変かもしれないが

983 :nobodyさん:2017/07/11(火) 11:23:38.64 ID:???.net
vagrantさえ動かせれば何も考えんで済むよね
windowsだとなにかとトラブって動かせたことがないが
まあxampp入れれば環境はすぐできる

984 :nobodyさん:2017/07/11(火) 19:15:44.39 ID:MJfoqvFM.net
>>983
そうそう、xampp頼みで Apacheは勉強不足なんだわ。
vagrant本気でやってみようかな?
Dockerは勉強したんだけどね、誰かが構築済みのやつを拝借してしまえばいいわけだ。
つまりxamppの代わりをvagrantにやらせるってことでしょ?

985 :nobodyさん:2017/07/11(火) 21:18:14.18 ID:utPd6rdE.net
>>984
違うよ。
xamppはwindows版apacheとmysqlとphpなどのセット。
vagrantはvirtualboxやvmwareでlinuxの環境を簡単に作るためのツール。
サーバの設定は自分でやらないといけない。
xamppみたいにボタン押せばとりあえず使えるといったシロモノじゃない。
それでも俺はvagrant+virtualboxをすすめる。
PGでもサーバの知識は必須なので、今のうちにやっといた方がいいよ。

986 :nobodyさん:2017/07/11(火) 21:24:09.75 ID:???.net
LaravelにはHomesteadがあるから
サーバの知識何もいらんよ

987 :nobodyさん:2017/07/12(水) 13:42:30.03 ID:???.net
生涯Laravelならそれでもいいかもだけどそうも行かないだろうし
機会を見てサーバの知識は持っておいたほうが良いとは思うけどね

988 :nobodyさん:2017/07/12(水) 13:48:42.56 ID:???.net
もちろんそうだ
vagrantさえ動けば何も考えんでいいと書いたのは
homesteadがあるから、という話だよ
vagrantを動かした上で色々設定の必要ありというのは
ことlaravelに関する限り当てはまらないということ

989 :nobodyさん:2017/07/12(水) 20:48:44.74 ID:w9egFAoI.net
どのos imageを使うかにもよるが、サーバの知識無しではしんどいよ。
サラのimageだったらphpから入れる必要あるしね。
けっこう面倒。
でもやる価値はある。

990 :nobodyさん:2017/07/12(水) 22:44:03.70 ID:???.net
サーバの知識皆無で本番サーバの設定どうやんのよ

991 :nobodyさん:2017/07/13(木) 07:40:21.83 ID:???.net
レンタルサーバじゃあかんの?

992 :nobodyさん:2017/07/13(木) 21:13:27.21 ID:???.net
いいけどまったく設定しないわけにもいかんだろ

993 :nobodyさん:2017/07/14(金) 23:36:54.31 ID:???.net
とりあえずLaravelやりたいだけならxamppでいいべ。
作ってからアップロードするときにでもサバの勉強すりゃいいし。
なんでもかんでも手を出すと、結局何もできないことになる。

994 :nobodyさん:2017/07/21(金) 01:28:51.97.net
symfonyのBundleみたいにひとまとまりの汎用パッケージにするのってどうやるの?

995 :nobodyさん:2017/07/21(金) 01:30:33.52.net
失礼ドキュメントあったわ

996 :nobodyさん:2017/08/05(土) 14:12:45.24 ID:???.net
コントローラからビューに渡すときにグローバル関数使ったり、設計が滑稽過ぎるだろ…
誰だこんな変なフレームワーク流行らせたやつ

997 :nobodyさん:2017/08/05(土) 14:46:37.15 ID:???.net
ヘルパ関数が嫌ならViewのファクトリを注入すればいいだけだが

998 :nobodyさん:2017/08/05(土) 14:50:05.96 ID:???.net
>>997
フレームワーク側でそんな設計にしてるのが間抜けだって言ってるのがわからない?

999 :nobodyさん:2017/08/05(土) 14:52:52.48 ID:???.net
>>997
そうやって自分ルールを増やして可読性を下げたりしないためのフレームワークなのに

1000 :nobodyさん:2017/08/05(土) 15:16:07.86 ID:???.net
嫌なら使うなで

1001 :nobodyさん:2017/08/05(土) 15:39:55.12 ID:???.net
Viewファサードを使うか、viewヘルパ関数を使うか、Viewファサードの移譲先のクラス\Illuminate\View\Factoryを直接使うか、フレームワーク側では複数の選択肢が用意されているので
どれを使うかは利用者が決める必要がある
複数人で開発するならその辺りの規約を決めておかないとカオスになるよなー

Laravelの思想的には記述量が短いファサードやヘルパ関数が推奨なんだろうけどおっしゃるとおり設計はお察し

1002 :nobodyさん:2017/08/08(火) 16:32:20.23 ID:mXDJEFH/.net
Laravel5.4.25使ってるんだが、bootstrapのdatetimepickerの導入方法を分かりやすく教えてくれないか…。
英語の記事は見つかってその通りにやってるつもりなんだが、そもそもjQueryが読み込めてないのか「$ is not defined」とかでエラーが出て進まない。
そもそもLaravelMixだっけ?あれで導入しなきゃいかんの?

1003 :nobodyさん:2017/08/08(火) 17:21:16.04 ID:???.net
>>1002
知らんけど「$」を「jQuery」に書き直してもダメ?

1004 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1004
255 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★