質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

意見交換

3回答

381閲覧

laravel 内容がほぼ同じ子ビューのファイルは必要か

nencham

総合スコア0

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2024/04/25 03:40

テーマ、知りたいこと

プログラミングそこまでできるわけではないので知識不足で変なこと言っていたらすみません。

Laravelを使用して権限ごとにサイドバーの表示を変えています。
いくつかある権限分サイドバー用のビューファイルがあるのですが、中身がほぼ同じで項目が減ったり増えたりするくらいです。
項目の変更があった場合、修正対象のビューファイルが多くなり大変だと思うので、修正のしやすい良い方法はないのでしょうか?

背景、状況

レイアウト?の中にあって、対象の権限だった場合に読み込ませるビューファイルを変えているようです。
例えば、ファイルをまとめてしまってifで条件分岐させ他場合、懸念点はありますか?
それか項目のみ一つのファイルにまとめて、そこから各権限のビューファイルで呼び出す、とかの方がいいのでしょうか?(こちらはやり方検討つかないですが…)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答3

#1

pcs

総合スコア376

投稿2024/04/25 05:06

通常の使い方なら分岐で十分。管理者にだけ表示とかよくやる。

php

1@can('admin') 2<a href="{{ route('admin.dashboard') }}">管理画面</a> 3@endcan

特殊な事情があるなら個別の判断なので一般的な答えなんてない。
この程度は好きなように作ればいい部分なので自由。

Laravel限定の話だと認可を知らずにマルチ認証導入するような余計なことをしていて@canで簡単に解決できることができないパターンがありがち。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

tezcello

総合スコア176

投稿2024/04/25 05:24

権限を階層化するか個々に設定するかは別にして、ログインユーザと権限を結びつけるクラス(モデルになるのかサービスになるのか?)を用意して、それ経由で得た「表示すべきモノ」をサイドバーに付加するって方向で僕なら考えると思います。

大昔に、
ユーザマスタ(プレーンテキストだった...orz)の権限データと論理積を取って可否を判断して...
なんて事をやった記憶があります。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

winterboum

総合スコア23364

投稿2024/04/25 09:11

権限毎に ビューファイル を切り替える
ですと、共通部分に修正が入ったときに懸念されてる事態になります。
一つの ビューファイル 内で 場合分けを書くのは 規模と複雑さ次第です。
そうしても全体構成がわかりにくくならないのなら、それがよいかと。

私がよくやるのは、
共通部分と場合分け部分を分ける。
ただしこれは 場合分けが共通部分の色々なところに顔を出すようなメニュー構成だとできない。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

この意見交換はまだ受付中です。

会員登録して回答してみよう

アカウントをお持ちの方は

関連した質問