【PHP】Laravel【フレームワーク】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
テンプレ追加修正お願いします
Laravel
ウェブ職人のためのPHPフレームワーク
本家
https://laravel.com/
git
https://github.com/laravel
動画チュートリアル(英語)
https://laracasts.com/
日本語
http://laravel.jp/
書籍
Laravel リファレンス[Ver.5.1 LTS 対応] Web職人好みの新世代PHPフレームワーク
https://www.amazon.co.jp/gp/aw/d/4844339451
Laravelエキスパート養成読本[モダンな開発を実現するPHPフレームワーク!] (Software Design plus)
https://www.amazon.co.jp/gp/aw/d/4774173134 ないな。
Rails: コメントにテーブル定義を書く(コマンドで生成。コマンドとはいえDRYではない)
# == Schema Information
#
# Table name: articles
#
# id :integer not null, primary key
# author_id :integer
# title :string
# body :text
# created_at :datetime not null
# updated_at :datetime not null
#
class Article < ApplicationRecord
belongs_to :author
end
Django:
class Game(models.Model):
created = models.DateTimeField(auto_now_add=True)
name = models.CharField(max_length=200)
game_category = models.ForeignKey(GameCategory,
related_name='games', on_delete=models.CASCADE)
release_date = models.DateTimeField()
played = models.BooleanField(default=False) シバンは百歩譲って我慢するとしてコメントにプログラムから処理される設定書かせるなよクソが 『PHPフレームワーク Laravel入門』掌田津耶乃をお持ちの方、教えてください。
Chapter5の2の、データベースの利用が本のとおりにやっても動作しません。
xamppを通して実行(表示)してみようとすると、
Illuminate \ Database \ QueryException
Database (database/database.sqLite) does not exist. (SQL: select * from people)
と出て来てしまいます。
昨日昼からずっといろいろ試してますが、何をやってもダメです。
アマゾンのレビューなど見ても、困ってる人がいるようです。
何がダメなのかさっぱりです。
どうすればいいのか、ご教示ください。お願いします。 データベースがないって書いてあるやん
.envかconfig/database.phpちゃんと設定してるか確認
sqLite使ってる設定ぽいがそれでいいのか? ご回答ありがとうございます。
適当にいじりながら、config/database.php内の、
'database' => env('DB_DATABASE', database_path('database.sqlite')),
という部分を、
'database' => database_path('database.sqlite'),
と変えたら、動作しました!
しかし、本のとおりにやったのだし、これの何がいけなかったのか、env関数を使うと
何か問題だったのか、わかりません。
何がだめだったのか、推測できないでしょうか? >>136
その書き方は.envファイルのDB_DATABASEを最初に見て、
.envに書いてなかったら第2引数を使うという意味だが、
.envファイルに設定ちゃんと書いてた?
あとdatabase_path()はヘルパー関数だから、
.envでは使えないのでパスを直接書く必要がある 入門者で、見よう見まねで簡単なアプリを試作しているところです。
一通りのアプリ機能ができて、その後に、artisan make:auth で認証機能を付けました。
いまどうすればいいのか困ってるのですが、アプリの画面にログアウトボタンを設置したいのですが、
どうやって書けばいいのかわかりません。
index.blade.phpに、
<p><img src="images/logout.gif" float: right" ></p> として画像を表示していますが、これをクリックすると
ログアウトさせたいのです。
どうすればいいのか教えてください。
お願いします。 適当にコントローラ作るか既存のコントローラの新しいメソッドに
Auth::logout();
して最後に戻りたいページにリダイレクトさせる
画像にそこへのリンクを張る >>140
ありがとうございました!!
ログアウトできました
それに
今はじめてフレームワークの感覚もはじめてつかんだ気がします!!! このスレ落ちたのかと思ったわ
ログ削除して開きなおしたら落ちてなかった CakePHPのbakeみたいに、コマンド一発でCRUD作成することはできますか? CRUDを自動で作ってくれるのは、LaravelよりもCake(Bake)のいいところ。
認証周りを自動で作ってくれるのが、LaravelのCakeに対する優越点。 >>146
CodeIgniterの認証周りが不満で
Laravel作ったとかって聞いた希ガス 5.6 でauth入れたんだけど、コントローラーのメソッド内にredirect()->with(‘status’, ‘hogehoge’);みたいな感じで
flashメッセージ出す処理書いてもメッセージが表示されない。。。
debugbarで確認してもsession空っぽ。
route/web.phpのrouteに直接Session::flash(’status’, ‘hogehoge’);
書いたら表示されるのに。なんで?
誰か教えてくれるナイスガイいたらVRで美少女になっておっぱい揉ませてあげるお。(ただし中の人は以下略) 未だにCakeなんてゴミ使ってるやついるのか…
衝撃だな >>149 >>150
反応ありがとう。
質問の内容はそんな感じだけど、残念ながら解決できなかったよ。
>>150のstack overflowの方でも解決できてないね。何なんだろ〜ねホント^^;
ただアンタはナイスガイの素質あるからこのツイートを紹介しとくよ。
おっぱいに栄光あれ。
https://twitter.com/i/status/1021979458805399563 composerでsslエラー出るんだけどどなたか解決した人いる?
cacert.pemをcurlのサイトから落としてphp.iniにて指定するやり方で解決しないんだけど >>156
ありがとう
でもopensslはenableなんすよね
証明書がーってエラーなんですが、拾ってきた新しいの指定してもgitforWindowsのやつ指定しても同じエラーなんですよ
xamppやめて仮想環境でやろうかな、、、 ちゃんとエラー文貼ってよ
あと考えられるのは、Kasperskyとかhttpsに介入するセキュリティソフトが原因かも
https://github.com/composer/composer/issues/6870 >>158
まじで感謝
リンク先のカスペルスキーの設定で解決しました、下エラーのせときます
SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Failed to enable crypto
failed to open stream: operation failed
3日も悩んでしまった。
誰か他の人のためにも設定>詳細>ネットワーク>暗号化された接続のスキャン:暗号化された接続をスキャンしない
カスペ使ってる人どうぞ 今から学び始めるならどの書籍かサイトがオススメ?
PHPの知識も趣味に毛が生えたようなもんだから敷居高いかな >>160
書籍は青い表紙のやつしかない。
中身の質は俺にはわからん。少なくとも、オフィスや書斎の本棚の飾りとしては悪くない。 青い表紙の本はLaravel初学者が学ぶにはちょうどいいよ
足りないところも多いのでその後の自習も必要だが >>160
https://laracasts.com/series/laravel-from-scratch-2017
の
START SERIES
https://laracasts.com/series/laravel-from-scratch-2017/episodes/1
5.4インストールしないとサンプルが動かないので
composer create-project "laravel/laravel=5.4.*" sampleproject
英語わからなくてもオケ
コードを見てその通りに打てばいい 青いのよんだがこれ情報量ララ帳とかと大して変わりなくないか ヤツの本は公式チュートリアルとかを改変して
わかりにくい解説をつけただけってのがデフォ アマゾンレビューに騙されたわ
なんであんな絶賛してんだよ 本に書いてる通りやってもエラーで動かない!
とかレビューしてる本が多いけど、それぐらいのトラップ乗り越えられないようなヤツは、メジャーバージョンアップとかして仕様変わって動かなくなったらどうするんだろうな。
サービス終了すんのかな。 >>170
本買うくらいの初心者ならそれくらい言うだろ。
たいていの人はすぐにそのレベルは卒業するよ。
世の中、たいていの人は、おまえなんかよりも優秀だと思っておくといいよ。 LaravelってRailsのphpバージョンみたいに考えておけばいいの? インパラ本の最初の方だけ読んだけど
純正ドキュメントやLaracastsとは
違った(つか自分が知らなかっただけ)やり方が
書いてあって参考になった SwooleでLaravel本番に使ってる人います?
注意する点とかあったら知りたい。 こういうのって、翻訳が出るまでどれくらい時間がかかるもんなの? >>178
本による
翻訳出ないものもあるし
英語勉強しちゃえば? >>180
洋物のは知らんが青い本の筆者が
出してる本のレベル知ってるの?w 青い本は公式見ようとしない情弱がありがたがってるだけ。
青い本読んだ後に公式見たらビックリするだろう。 >>182
それww
自分も知らなくてヤツのCakePHPの本を
買ってしまったんだけど
公式のチュートリアルを
後から見たら牛丼噴いた 初心者には青い本より役に立つというチュートリアルってどこですか?
もしかして日本語じゃない方の公式にあるの?
みんな天才? >>186
追加
バージョンをビデオと合わせないと動かないのがあるので
composer create-project "laravel/laravel=5.4.*" sampleproject こういうとりあえず打ち込んでみてっていうのって
初心者にわかるんかな?他言語なりフレームワークの経験あるなら
何してるかわかるだろけど artisanでauth入れるといろいろ設定してくれるんだが
パスワードリセット使わんからcontroller消したりmigration消してしまった
これって大丈夫なの?
artisanで全ルート表示しようとするとエラーになる
元に戻せないし涙目なんだが model instance作るとき
$flight = new Flight;
なぜFlight()にならないの?
そういうものだから?違和感があります。
教えてください♡ >>194
PHPの仕様としてインスタンス生成時の引数に使うカッコは省略可能。
コンストラクタに渡すものが特になければ省略していいが、カッコありに統一したほうがコードとしては見やすい 青い本とは別に、解説書が新しく発売されたようですが、
ご覧になった人いますか?
初心者におすすめできるかどうか、教えてください。 >>197
前書きより
「本書の内容は初心者の方には少しばかり難しいかもしれません。」 新しいララベル本難しそう
こんなことやらないとアプリ作れないの?ってレベル 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。 >>197
初版よりかなり分かりやすくてよいよ
でも青い本の方が初心者向け向きかも CRUDとかresourceの考え方がよくわかりません
例えば検索ボタンで一覧表示する画面があったとして
検索する場合は普通POSTだと思うんですが
その場合はindex?show?フォームタグをGETにしちゃうの?
わかりません… 質問文が何言ってるかも全然分からんし、一冊本でも買って勉強すれば? いやわかるけどね。。
一覧ならindexで、formをgetでいいんじゃないの。
まあ俺は使わないけど。 >>204
あーgetにしたらセキュリティ的によくないか?w
やっぱ使わないなw HTTPメソッドの使い分けはその操作が安全であるかどうか、べき等であるかどうかで判断するのが原則。
安全→サーバ、特にDBなどの状態を変化させないこと
べき等→その操作を何度行っても結果が同じであること
検索のような安全でべき等な処理はGETが推奨。
要はGETを使う場合はブラウザ側でキャッシュしても問題ないようにしておいてねということ。
POSTはリソースの新規作成など安全でもなくべき等でもない操作に使う。
ただし、クエリパラメータに出したくない項目がある場合や、検索項目がとんでもなく多くてURLが長くなる場合などに、安全でべき等な操作であってもPOSTを使わざるを得ないこともありうる
GETであることの他の利点は、Google検索のようにURLだけでそのまま検索結果の表示ができること >>206
DELETEはGETでやっちゃうことあるんだけど、アンチパターンなのかな? >>206
大変勉強になりました。ありがとうございます! 「その操作を何度行っても結果が同じであること」って説明してくれてるじゃん 誰かタスケテ〜
Laravelに関係ないかもだけど、コントローラ内でpreg_replace_callbackに書いたコールバック関数をいくら変更しても反映されなくて困ってる
そもそもNetBeans+Xdebugでコールバック関数の中がトレースできないんだけどそういうもの?
無名関数で書いていたものをスタティックメソッドに変えて、メソッド名を存在しないものにしたり'self::'だけにしてみても、すでに存在しない無名関数の内容がそのまま実行されてる
ダミーのメソッドを書いて'self::dummy'なんてやっても以前の無名関数が呼ばれてる
それどころか'self::'だけでもそのまま動いちゃう
メソッド名を''にするとさすがにエラーになる
どういうことなのこれ?
環境はXAMPPのPHP5.6.15でLaravel5.6だけど本番環境のCentOS6、PHP5.6.38でも同じ挙動
Apacheの再起動やcomposer clear-cacheをやっても変わらず
なんなのこれ〜 >>214
コンパイルされたコードがキャッシュに残ってるみたいな話っぽいけど
それにしたってこんなコードがエラーなく走るって許されなくない?
$csv = preg_replace_callback('/###([0-9]+)###/', 'self::', $csv); >>216
現在のコードをどう変えても、実行されるのは以前の無名関数なんよ…
もう存在してないコードなので、その中にログ出力を入れることもできない…
なおNetBeansのデバッガで追うと、>>215の行が実行されてるのは間違いない
ステップ・インでそのまま次の行に行ってしまうw ちなphp.iniでopcache.enable=0にしてApacheを再起動しても変わらなかったw
もうお手上げw もう一度無名関数の形に戻して、その中に文法エラーを入れとくとちゃんとエラーになる
でも文法エラーを直すと以前の内容が走る
無名関数の中で呼んでいるbladeテンプレートの名前を
めちゃくちゃなものに変えてもエラーにならないからそれは間違いない
コントローラを別名で新たに作って
ルーティング先も新コントローラに変えて見たけど症状変わらず
なんぞこれなんぞこれなんぞこれw >>220
この一行目にブレークポイントつけとくとちゃんとデバッガで止まる
クロージャ内の行にブレークポイントつけといてステップインしてもスルーして
その次のStorage::putに行く
ログには何も残らないしviewのファイル名をどう変えても以前の内容が出力される
$csv = preg_replace_callback('/###([0-9]+)###/', function ($matches)
{
error_log('[Closure in CsvController::upload] TEST');
$match = $matches[1];
$item = \App\Item::find($match);
if (! $item) {
return $match;
}
$html = '"'.str_replace('"', '""', preg_replace("/[\r\n]/", '', view('forms.description.ebay', [ 'item' => $item ])->render())).'"';
return $html;
}, $csv);
Storage::put('temp.csv', $csv); >>207
完全にアンチパターン
GETで削除を実装していて検索エンジンのクローラに全部消されたという嘘みたいな笑い話がある >>222
CSRF対策くらいはさすがにするのでそれはないけど
他にDELETEをGETでやらないほうがいい合理的な理由ってある? GETで削除を実装するメリットこそほとんど何もないでしょ HTTPの基本に沿って実装されているものが多いのに、あえて反発して得がある方が稀でしょ リファラーでワンタイムトークンが漏れる恐れがあるね 漏れてもいいじゃん
何したってもうダメなときはダメなんだよ ■ このスレッドは過去ログ倉庫に格納されています