IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Laravel PHP Discussion :

Utilisation simple de SimplePie [5.6]


Sujet :

Laravel PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut Utilisation simple de SimplePie
    Bonjour,

    J'essaye de faire un simple lecteur de flux RSS avec SimplePie qui semble bien.
    Mais j'ai une erreur que je ne comprends pas :
    Class 'App\Http\Controllers\Rss' not found

    Voici mon web.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Route::get('/rss', 'Controller@Rss')->name('rss');

    La fonction dans mon controller :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <?php
     
    namespace App\Http\Controllers;
     
    use Illuminate\Foundation\Bus\DispatchesJobs;
    use Illuminate\Routing\Controller as BaseController;
    use Illuminate\Foundation\Validation\ValidatesRequests;
    use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
     
    class Controller extends BaseController
    {
        use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
     
    public function Rss() {
      require_once '../vendor/simplepie/simplepie/autoloader.php';
     
    $url = 'http://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml';
    $feed = new SimplePie();
    $feed->set_feed_url($url);
    $feed->init();
     
    return view('rss', [
      'feed' => $feed,
    ]);
    }

    Et ma vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    @php
       echo '<h1>' . $feed->get_title() . '</h1>';
       echo '<p>' . $feed->get_description() . '</p>';
      @endphp
     
    @stop
    Je me suis basé sur cet exemple simple :
    https://www.sitepoint.com/consuming-...ith-simplepie/

    Y a-t-il quelque chose que j'oublie ?
    Merci d'avance,
    Librement,

    ANDRE Ani

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    1- installer la librairie via composer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    composer require simplepie/simplepie
    2 - Créer un controller séparé : PieController ou mieux en ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php artisan make:controller PieController
    3 - Créer une fonction suivant les convention, c'est a dire commençant par une minuscule : rss

    Du coup cela devrais donner :

    route :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Route::get('/rss', 'PieController@rss')->name('rss');
    Controller :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?php
    namespace App\Http\Controllers;
     
    use SimplePie/SimplePie  //à vérifier 
     
    class PieController extends Controller
    {
    public function rss() {
     
    $url = 'http://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml';
    $feed = new SimplePie();
    $feed->set_feed_url($url);
    $feed->init();
     
    return view('rss', [
      'feed' => $feed,
    ]);
    }
     
    }

  3. #3
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut
    Merci ;-)

    Use simplepie fonctionne.

    Par contre, j'ai un soucis de cache maintenant :
    ./cache is not writable.

    Du coup, j'ai ajouté ça dans la config :
    $feed->set_cache_location($_SERVER['DOCUMENT_ROOT'] . '/app/cache');

    Et créé un dossier cache dans /app, avec tous les droits, mais rien n'y fait...

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Mais pourquoi faire compliquer.

    Vous devez changer les bons droits dans /storage

  5. #5
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut
    Je ne voulais pas faire compliqué ;-)
    C'est parce que j'ai eu ce message que j'ai créé un dossier cache à la racine et spécifié un chemin.

    storage est autorisé en écriture, j'upload des fichiers dedans.

    J'ai supprimé le dossier cache et enlevé la ligne de conf dans le controller, mais j'ai tjs le message :
    ./cache is not writable.

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Etes vous sur que storage/framework/cache à les bons droits ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation simple d'un objet COM
    Par andrebernard dans le forum C++
    Réponses: 52
    Dernier message: 28/05/2008, 15h21
  2. Utilisation simple d'une mémoire partagée sous linux
    Par dreamteam dans le forum Linux
    Réponses: 1
    Dernier message: 09/02/2007, 17h39
  3. [JMS] Utilisation simple
    Par caballero dans le forum Java EE
    Réponses: 2
    Dernier message: 25/01/2007, 03h04
  4. utilisation simple de xmlhttpRequest
    Par alain31tl dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 10/01/2006, 22h19
  5. Utilisation simple d'@@IDENTITY avec asp
    Par Ajrarn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/10/2003, 10h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo