# 🔍 PHP Code Analyzer - Professional Edition [![PHP Version](https://img.shields.io/badge/PHP-8.0+-blue.svg)](https://php.net) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Version](https://img.shields.io/badge/Version-2.0.0-orange.svg)](CHANGELOG.md) **Advanced PHP Code Analyzer** - PHP projelerinizdeki kullanılmayan kodu (dead code) tespit eden, kod kalitesini analiz eden ve detaylı raporlar sunan profesyonel bir araç. ## ✨ Özellikler ### 🎯 Ana Özellikler - **Dead Code Detection** - Kullanılmayan fonksiyon, sınıf ve metotları tespit - **Cross-Reference Analysis** - Kod referanslarını çapraz analiz - **Multi-Directory Support** - includes/, lib/, helpers/, src/ gibi çoklu dizin desteği - **Enterprise Reporting** - HTML, JSON, Console formatlarında detaylı raporlar - **Performance Optimized** - Büyük projeler için optimize edilmiş - **Web Interface** - Modern ve kullanıcı dostu web arayüzü - **REST API** - Entegrasyon için JSON API - **CLI Support** - Komut satırı arayüzü ### 🚀 Gelişmiş Özellikler - **AST-based Parsing** - PHP'nin kendi tokenizer'ını kullanarak tam analiz - **Fuzzy Matching** - Namespace, sınıf ve metot varyantlarını bulma - **Dynamic Call Detection** - Variable function calls ve call_user_func tespiti - **Smart Filtering** - vendor/, cache/, tests/ dizinlerini otomatik hariç tutma - **Memory Management** - Büyük projeler için bellek optimizasyonu - **Caching System** - Hızlı analiz için dosya önbelleği - **Error Resilience** - Hatalı dosyaları atlayıp analize devam etme ## 🌍 Dil Seçenekleri - **Türkçe:** [README.md](README.md) (Bu dosya) - **English:** [README_EN.md](README_EN.md) (İngilizce sürüm) ## 📦 Kurulum ### Sistem Gereksinimleri - **PHP:** 8.0 veya üzeri - **Memory:** Minimum 256MB, Önerilen 512MB+ - **Extensions:** tokenizer, mbstring, json - **Web Server:** Apache, Nginx, LiteSpeed ### 1. Dosyaları İndirin ```bash # GitHub'dan klonlayın git clone https://github.com/gneral/php-code-analyzer.git # Veya dosyaları manuel olarak indirin ``` ### 2. Web Sunucusuna Yükleyin ```bash # Proje dosyalarını web dizininize kopyalayın cp -r php-code-analyzer/* /var/www/html/analyzer/ ``` ### 3. Kurulum Kontrolü Tarayıcıda `setup.php` dosyasını açın: ``` http://yourdomain.com/analyzer/setup.php ``` ### 4. İzinleri Ayarlayın ```bash # Cache dizini için yazma izni chmod 755 /tmp/php_analyzer_cache # Rapor dosyaları için yazma izni chmod 755 /var/www/html/analyzer/ ``` ## 🎯 Kullanım ### Web Arayüzü 1. **Tarayıcıda açın:** `http://yourdomain.com/analyzer/analyzer-web.php` 2. **Proje ayarları:** - Project Root: Projenizin ana dizini - Target Directories: Analiz edilecek dizinler (örn: includes,lib,helpers) - Output Format: Rapor formatı seçin 3. **"Start Analysis"** butonuna tıklayın 4. **Sonuçları görüntüleyin:** Web arayüzünde veya indirilen raporlarda ### Komut Satırı (CLI) ```bash # Temel kullanım php AdvancedPHPCodeAnalyzer.php --project=/path/to/project # Özel dizinler belirterek php AdvancedPHPCodeAnalyzer.php --project=/var/www/myproject --target=includes,lib,helpers # HTML raporu oluşturarak php AdvancedPHPCodeAnalyzer.php --project=/path/to/project --format=html # Yardım php AdvancedPHPCodeAnalyzer.php --help ``` ### REST API ```bash # POST request ile analiz başlatma curl -X POST http://yourdomain.com/analyzer/analyzer.php \ -H "Content-Type: application/json" \ -d '{ "project_root": "/var/www/myproject", "target_dirs": ["includes", "lib", "helpers"], "output_format": "json" }' ``` ## 📊 Rapor Örnekleri ### Console Output ``` 📊 PHP CODE ANALYSIS REPORT =============================================== 📈 SUMMARY STATISTICS: ├─ Total Definitions: 156 ├─ Total References: 423 ├─ Dead Code Items: 12 ├─ Dead Code Ratio: 7.69% ├─ Analysis Time: 2.3s └─ Memory Peak: 45.2 MB 💀 DEAD CODE DETECTED: ├─ [function] unused_helper_function │ └─ helpers.php:45 ├─ [class] OldUtilityClass │ └─ legacy.php:12 ``` ### JSON Response ```json { "metadata": { "analyzer_version": "2.0.0", "generated_at": "2025-07-29 10:30:45", "project_root": "/var/www/myproject" }, "statistics": { "target_files_count": 25, "scanned_files_count": 156, "dead_code_count": 12, "analysis_time": 2.34, "memory_peak_mb": 45.2 }, "summary": { "total_definitions": 156, "total_references": 423, "dead_code_percentage": 7.69, "top_used_items": [...] }, "dead_code": [ { "type": "function", "name": "unused_helper_function", "file": "/includes/helpers.php", "line": 45 } ] } ``` ## ⚙️ Konfigürasyon ### Temel Ayarlar ```php $config = [ 'project_root' => '/var/www/myproject', 'target_dirs' => ['includes', 'lib', 'helpers', 'src'], 'scan_dirs' => [''], // Boş = tüm proje 'extensions' => ['php', 'phtml', 'inc'], 'output_format' => 'json' // json, html, console ]; ``` ### Gelişmiş Ayarlar ```php $config = [ // ... temel ayarlar ... 'exclude_patterns' => [ '/vendor/', '/node_modules/', '/cache/', '/tmp/', '/.git/', '/tests/', '*.min.php' ], 'enable_cache' => true, 'max_file_size' => 10 * 1024 * 1024, // 10MB 'memory_limit' => '512M', 'timeout' => 300 // 5 dakika ]; ``` ## 🔧 Proje Örnekleri ### WordPress Tema Analizi ```bash php AdvancedPHPCodeAnalyzer.php \ --project=/var/www/wp-content/themes/mytheme \ --target=includes,lib,functions \ --format=html ``` ### Laravel Proje Analizi ```bash php AdvancedPHPCodeAnalyzer.php \ --project=/var/www/laravel-project \ --target=app/Helpers,app/Services,app/Utilities \ --format=json ``` ### Custom PHP Framework ```bash php AdvancedPHPCodeAnalyzer.php \ --project=/var/www/myframework \ --target=core,libs,helpers,includes \ --format=console ``` ## 🎨 Web Arayüzü Özellikleri ### 📱 Responsive Design - **Mobil Uyumlu** - Tüm cihazlarda çalışır - **Modern UI** - Koyu/açık tema desteği - **İnteraktif** - Real-time progress göstergesi - **Professional** - Enterprise seviye tasarım ### 📊 Görsel Raporlar - **İstatistik Kartları** - Önemli metriklerin görsel sunumu - **Dead Code List** - Kullanılmayan kod listesi - **Top Used Items** - En çok kullanılan öğeler - **Recommendations** - Kod kalitesi önerileri ### 🔄 Dinamik Özellikler - **Tab Navigation** - Kolay rapor gezinme - **Download Options** - JSON/HTML indirme - **Progress Tracking** - Analiz ilerleme takibi - **Error Handling** - Kullanıcı dostu hata mesajları ## 🤝 Katkıda Bulunma ### Hata Bildirimi - **GitHub Issues** kullanın - **Detaylı açıklama** yazın - **Sistem bilgilerini** ekleyin - **Örnek kod** paylaşın ### Geliştirme 1. **Fork** yapın 2. **Feature branch** oluşturun 3. **Commit** yapın 4. **Pull Request** gönderin ### Kodlama Standartları - **PSR-12** PHP kodlama standardı - **Kapsamlı dokümantasyon** - **Birim testleri** yazın - **Geriye uyumluluğu** koruyun ## 📝 Lisans Bu proje **MIT License** altında lisanslanmıştır. Detaylar için [LICENSE](LICENSE) dosyasına bakın. ## 👨‍💻 Geliştirici **Muhsin İŞSEVER** - **E-posta:** muhsin.issever@gmail.com - **Web sitesi:** https://ai.zefre.net/ - **GitHub:** [@gneral](https://github.com/gneral) - **R10 Profil:** https://www.r10.net/profil/193-gneral.html **Zefre.NET AI Internet Technologies** - **Web:** https://zefre.net/ - **Powered by:** [Zefre.net AI Technologies](https://zefre.net/) ## 🙏 Teşekkürler Bu projeyi kullanan ve katkıda bulunan herkese teşekkürler! ### Özel Teşekkürler - **PHP Community** - Token analiz bilgileri için - **Open Source Contributors** - İlham veren projeler için - **Beta Testers** - Erken feedback için ## 📞 İletişim ve Destek ### 🆘 Destek - **E-posta:** muhsin.issever@gmail.com - **GitHub Issues:** Teknik problemler için - **Web sitesi:** https://ai.zefre.net/php-code-analyzer/ ### 💬 Topluluk - **GitHub Discussions** - Genel tartışmalar - **Stack Overflow** - `php-code-analyzer` etiketi ile ### 📧 İş Birliği Enterprise çözümler ve özel geliştirme için iletişime geçin. --- **Copyright © 2025 Zefre.NET AI Internet Technologies** **Licensed under MIT License** [![Powered by Zefre.net](https://zefre.net/images/zefreNetLogo587-230.png)](https://zefre.net)