Cet article vous présente la méthode de configuration de modèles doubles dans Laravel (exemples de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Au cours du processus de développement, vous pouvez de temps en temps rencontrer certains projets qui nécessitent l'utilisation de deux ensembles de modèles
Par exemple, le côté PC et le côté mobile utilisent des fichiers de modèles différents pour obtenir la meilleure expérience utilisateur
Comment devrions-nous configurer le fichier modèle de Laravel dans cette situation ?
whichbrowser/parser
: Quel navigateur/Parser-PHPest utilisé. pour déterminer s'il s'agit d'un PC ou d'un appareil mobile, chargez différents modèles à la demande
composer require whichbrowser/parser
2 Utilisez la commande artisan pour créer un nouveau Middleware (middleware)
Après. exécution, il sera dans le répertoire app/Http/ Middleware génère les fichiers middleware
php artisan make:middleware Template
3 Editez le fichier Template.php
class Template { protected $except = []; public function handle($request, Closure $next) { $result = new WhichBrowser\Parser(getallheaders()); // 如果是桌面类型, 返回true $isDesktop = $result->isType('desktop'); if ($isDesktop) { // 加载pc端的模板文件 $path = resource_path('views/pc/'); } else { // 加载mobile端的模板文件 $path = resource_path('views/mobile/'); } // 获取视图查找器实例 $view = app('view')->getFinder(); // 重新定义视图目录 $view->prependLocation($path); // 返回请求 return $next($request); } }
dans app/Http/Kernel.php
Enregistrez le middleware à la demande dans la classe
Si vous enregistrez le middleware global :
protected $middleware = [ \App\Http\Middleware\Template::class, ];
, vous pouvez charger différents fichiers modèles en fonction différents appareils
Juste comme ça dans le contrôle, vous pouvez charger différents modèles selon différents appareils
return view('registration.index', $data);
Par exemple, lors de l'ouverture d'une page Web depuis un appareil PC : charger /resources/ view/pc/registration/index.blade.php template
Si vous ouvrez une page Web à partir d'un appareil mobile : chargez le modèle /resources/views/mobile/registration/index.blade.php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!