[解決済み】Laravel 5で別のコントローラからコントローラのメソッドにアクセスする
2022-04-11 06:16:12
質問
2つのコントローラがあります
SubmitPerformanceController
と
PrintReportController
.
で
PrintReportController
というメソッドを持っています。
getPrintReport
.
でこのメソッドにアクセスする方法
SubmitPerformanceController
?
解決方法は?
このように、コントローラのメソッドにアクセスすることができます。
app('App\Http\Controllers\PrintReportController')->getPrintReport();
これは動作しますが、コードの整理という点ではよくありません。
PrintReportController
)
を拡張することができます。
PrintReportController
だから
SubmitPerformanceController
はそのメソッドを継承します。
class SubmitPerformanceController extends PrintReportController {
// ....
}
しかし、これは他のすべてのメソッドも
PrintReportController
.
最適なアプローチは
trait
(例えば
app/Traits
というロジックを実装し、コントローラにそれを使用するように指示します。
trait PrintReport {
public function getPrintReport() {
// .....
}
}
コントローラにこの特性を使用するように指示します。
class PrintReportController extends Controller {
use PrintReport;
}
class SubmitPerformanceController extends Controller {
use PrintReport;
}
どちらのソリューションも
SubmitPerformanceController
を持つことになります。
getPrintReport
メソッドで呼び出すことができます。
$this->getPrintReport();
をコントローラ内から、あるいは直接ルートとして (このルートを
routes.php
)
traitsの詳細については、こちらをご覧ください。 ここで .
関連
-
[解決済み】新しいPHPMailerはPHPMailerAutoload.phpが必要?
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
[解決済み] Home'という名前のコントローラに一致するタイプが複数見つかりました。
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] YouTube APIからYouTubeビデオのサムネイルを取得する方法を教えてください。
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] PHPのstartWith()関数とendsWith()関数
-
[解決済み] Laravelでカスタムヘルパー関数を作成する方法
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】接続の取得に失敗しました: php_network_getaddresses: getaddrinfo failed: 名前またはサービスが不明
-
[解決済み】phpのob_start()の使い道は?
-
[解決済み】不明なMySQLサーバーのホスト
-
[解決済み】php, mysql - データベースへの接続数が多すぎるエラー
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: バインドされた変数の数が102行目のトークンの数と一致しない [終了]
-
[解決済み】pdo - 非オブジェクトのメンバー関数prepare()への呼び出し【重複】。
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: パラメータが定義されていません
-
[解決済み】子テーマのCSSが親テーマをオーバーライドしない
-
[解決済み] Uncaught SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み] PHP product.php?id=1 のような URL を作成する方法