Pernahkah anda bergelut untuk menyampaikan pengalaman yang betul kepada pengguna merentas peranti yang berbeza? Dalam era di mana pengguna bertukar antara telefon, tablet dan desktop dengan lancar, mengesan peranti dengan tepat boleh menjadi sakit kepala yang besar. Di situlah EprofosUserAgentAnalyzerBundle masuk.
Tidak seperti penghurai ejen pengguna tradisional, EprofosUserAgentAnalyzerBundle menawarkan:
composer require eprofos/user-agent-analyzer
Itu sahaja! Himpunan mengkonfigurasi sendiri secara automatik dalam aplikasi Symfony anda.
Ubah pengesanan kompleks ini:
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false) { // Is it really mobile? What about tablets? // What about desktop mode on mobile? }
Ke dalam penyelesaian elegan ini:
{% if is_mobile() %} <div class="mobile-view"> {{ include('components/mobile_navigation.html.twig') }} </div> {% endif %}
use Eprofos\UserAgentAnalyzerBundle\Service\UserAgentAnalyzer; class ResponsiveController { public function index(UserAgentAnalyzer $analyzer) { $result = $analyzer->analyzeCurrentRequest(); // Rich device information $deviceInfo = [ 'type' => $result->getDeviceType(), 'os' => [ 'name' => $result->getOsName(), 'version' => $result->getOsVersion(), 'is64bit' => $result->is64BitsMode() ], 'browser' => [ 'name' => $result->getBrowserName(), 'version' => $result->getBrowserVersion(), 'isWebview' => $result->isBrowserAndroidWebview() || $result->isBrowserIosWebview() ] ]; // Use this information to: // 1. Optimize content delivery // 2. Enable platform-specific features // 3. Track usage analytics } }
{# Optimize product gallery based on device #} {% if is_mobile() %} {# Show swipeable gallery #} {{ include('product/mobile_gallery.html.twig') }} {% elseif is_tablet() %} {# Show touch-optimized grid #} {{ include('product/tablet_gallery.html.twig') }} {% else %} {# Show full desktop experience #} {{ include('product/desktop_gallery.html.twig') }} {% endif %}
{# Enable platform-specific features #} {% if is_android() %} {# Android-specific PWA features #} {{ include('pwa/android_install_prompt.html.twig') }} {% elseif is_ios() %} {# iOS-specific PWA features #} {{ include('pwa/ios_install_prompt.html.twig') }} {% endif %}
use Eprofos\UserAgentAnalyzerBundle\Service\UserAgentAnalyzer; class MediaController { public function serveVideo(UserAgentAnalyzer $analyzer) { $result = $analyzer->analyzeCurrentRequest(); // Optimize video delivery $videoConfig = match(true) { $result->isMobile() => [ 'quality' => 'adaptive', 'preload' => 'metadata', 'format' => 'mp4' ], $result->isTablet() => [ 'quality' => 'high', 'preload' => 'auto', 'format' => 'mp4' ], default => [ 'quality' => 'highest', 'preload' => 'auto', 'format' => 'webm' ] }; return $this->render('video/player.html.twig', [ 'config' => $videoConfig ]); } }
$result = $analyzer->analyzeCurrentRequest(); // Check for specific browser features if ($result->getBrowserChromiumVersion()) { // Enable Chrome-specific features } if ($result->getBrowserWebkitVersion()) { // Enable WebKit-specific features } // Check for desktop mode on mobile if ($result->isBrowserDesktopMode()) { // Adjust layout accordingly }
// Detailed OS information $osInfo = match($result->getOsName()) { 'Windows' => [ 'version' => $result->getOsVersion(), 'family' => $result->getOsFamily(), 'is64bit' => $result->is64BitsMode() ], 'macOS' => [ 'version' => $result->getOsVersion(), 'codename' => $result->getOsCodename(), // e.g., "Monterey" 'architecture' => $result->is64BitsMode() ? 'x64' : 'x86' ], default => [ 'name' => $result->getOsName(), 'version' => $result->getOsVersion() ] };
Himpunan direka bentuk dengan mengambil kira prestasi:
EPROFOS (École professionnelle de formation spécialisée) ialah sekolah rujukan untuk latihan khusus dalam pembangunan web, mudah alih dan perisian. Kami pakar dalam membangunkan penyelesaian web berkualiti tinggi dan komited untuk mencipta alatan yang membantu pembangun membina aplikasi yang lebih baik dengan lebih cekap.
composer require eprofos/user-agent-analyzer
Lawati repositori GitHub kami untuk:
Sertai kami dalam menjadikan pembangunan web lebih bijak dan cekap!
Atas ialah kandungan terperinci Supercharge Apl Symfony Anda dengan Pengesanan Peranti Pintar: Temui EprofosUserAgentAnalyzerBundle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!