Maison  >  Article  >  cadre php  >  Introduction à la configuration de modèles doubles dans Laravel (exemple de code)

Introduction à la configuration de modèles doubles dans Laravel (exemple de code)

不言
不言avant
2019-03-02 13:43:173323parcourir

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 ?

1 Installez le portail whichbrowser/parser : Quel navigateur/Parser-PHP

est 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);
    }
}

4. enregistrez le middleware

dans app/Http/Kernel.phpEnregistrez 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer