• 05-06-2023, 16:20:00
    #1
    Selamlar,
    PHP - Composer kullanarak bir kütüphane yüklemeye çalışıyorum, yükleniyor olarak gözüküyor fakat PHP dosyamın içeriğinde kütüphaneyi aşağıdaki gibi kullanmaya çalıştığım zaman hata alıyorum.
    Composer ile ilk defa çalışıyorum o yüzden net bir bilgim yok, konu hakkında tecrübeli arkadaşların yardımını rica ediyorum.

    <?php
    
    require_once 'vendor/autoload.php';
    
    use jamesiarmes\PhpEws\Client;
    
    $host = 'https://exchange1.domain.com.tr/EWS/Exchange.asmx';
    $username = 'tsonkaya@domain.com.tr';
    $password = 'şifre';
    
    $client = new Client($host, $username, $password);
    
    $start = new DateTime();
    $end = new DateTime();
    $end->modify('+7 days');
    
    $calendar = $client->getCalendarItems($start, $end);
    
    foreach ($calendar as $event) {
        echo 'Başlangıç: ' . $event->getStart()->format('Y-m-d H:i:s') . '<br>';
        echo 'Bitiş: ' . $event->getEnd()->format('Y-m-d H:i:s') . '<br>';
        echo 'Konu: ' . $event->getSubject() . '<br>';
        echo 'Yer: ' . $event->getLocation() . '<br><br>';
    }
    
    ?>
    PHP error.log dosyamın içeriğindeki hata;

    [Mon Jun 05 13:13:59.242033 2023] [php:error] [pid 275973] [client 192.168.10.29:64357] PHP Fatal error:  Uncaught Error: Class "jamesiarmes\\PhpEws\\Client" not found in /var/www/html/test.php:11\nStack trace:\n#0 {main}\n  thrown in /var/www/html/test.php on line 11
  • 05-06-2023, 16:22:26
    #2
    hocam

    use jamesiarmesPhpEwsClient;
    require_once 'vendor/autoload.php';
    böyle denermisin
    use üstte olmalı yanlış hatırlamıyorsam.
  • 05-06-2023, 16:23:29
    #3
    ClkOfis adlı üyeden alıntı: mesajı görüntüle
    hocam

    use jamesiarmesPhpEwsClient;
    require_once 'vendor/autoload.php';
    böyle denermisin
    use üstte olmalı yanlış hatırlamıyorsam.
    Sonuç aynı hocam malesef.
  • 05-06-2023, 16:25:04
    #4
    turansonkaya adlı üyeden alıntı: mesajı görüntüle
    Sonuç aynı hocam malesef.
    peki composer install işleminin sağlıklı sonuçlandığından emin misin ?
  • 05-06-2023, 16:26:55
    #5
    direkt
    use beya namespace olamadan da çağırabilirsiniz.


    $client = new Client($host, $username, $password);

    yerine
    $client = new \jamesiarmes\PhpEws\Client($host, $username, $password);
    olarak deneyin.
  • 05-06-2023, 20:53:06
    #6
    trgino adlı üyeden alıntı: mesajı görüntüle
    direkt
    use beya namespace olamadan da çağırabilirsiniz.


    $client = new Client($host, $username, $password);

    yerine
    $client = new \jamesiarmes\PhpEws\Client($host, $username, $password);
    olarak deneyin.
    Teşekkürler fakat burada asıl sorun aslında kullanım değil.
    PHP error.log dosyamda bu fonksiyonun geçersiz olduğu hatasını alıyorum.
    Composer üzerinden ben bu kütüphaneyi yükledim fakat kullanamıyorum.
  • 06-06-2023, 16:03:34
    #7
    örnek verdiğim şekildede çağıramıyorsanız kütüphane yüklenmemiş demektir.