• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Roach php przekazywanie danych do widoku

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+1 głos
149 wizyt
pytanie zadane 22 kwietnia 2022 w PHP przez Grzegorz Mikina Dyskutant (8,060 p.)

To dokumentacja do narzędzia z którego korzystam. Płoć PHP (roach-php.dev)

Przerabiam nowe narzędzie, wszystko wygląda na łatwe i dobrze opisane w dokumentacji, ale nie mogę tego w żaden sposób wyświetlić w widoku. Jest instrukcja dla Laravela, jednak nic nie daję dobrego rezultatu.
w pliku app/http/livewire/homecomponent.php

<?php

namespace App\Http\Livewire;

use Livewire\Component;
use App\Spiders\TakeAwaySpider;
use RoachPHP\Roach;

class HomeComponent extends Component
{
    public function render()
    {
        // $items is an array<int, ItemInterface>
        $items = Roach::collectSpider(TakeAwaySpider::class);

        return view('livewire.home-component',[
                            
            
                    'items'=>$items
                    ])->layout('layouts.base');
    }
}

spider

<?php

namespace App\Spiders;

use Generator;
use RoachPHP\Downloader\Middleware\RequestDeduplicationMiddleware;
use RoachPHP\Extensions\LoggerExtension;
use RoachPHP\Extensions\StatsCollectorExtension;
use RoachPHP\Http\Response;
use RoachPHP\Spider\BasicSpider;
use RoachPHP\Spider\ParseResult;

class TakeAwaySpider extends BasicSpider
{
    public array $startUrls = [
        'https://roach-php.dev/docs/spiders'
    ];

    public array $downloaderMiddleware = [
        RequestDeduplicationMiddleware::class,
    ];

    public array $spiderMiddleware = [
        //
    ];

    public array $itemProcessors = [
        //
    ];

    public array $extensions = [
        LoggerExtension::class,
        StatsCollectorExtension::class,
    ];

    public int $concurrency = 2;

    public int $requestDelay = 1;

    /**
     * @return Generator<ParseResult>
     */
    public function parse(Response $response): Generator
    {
        $title = $response->filter('h1')->text();

        $subtitle = $response
            ->filter('main > div:nth-child(2) p:first-of-type')
            ->text();

        yield $this->item([
            'title' => $title,
            'subtitle' => $subtitle,
        ]);
    }
}

Narazie to wszystko jest testowo, chce tu docelowo ładować za pomocą scrapingu komentarze ze strony pyszne.pl
Ostatnie 5 komentarzy. Ale póki co chce załadować jakikolwiek tytuł. Brak reakcji. Chce wyświetlić póki co cokolwiek. Przekazać do widoku i załadować na stronie. Nic nie działa ani pętla foreach, ani @yield nic nic nic ...

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 1,182 wizyt
pytanie zadane 3 lutego 2018 w PHP przez mi-20 Stary wyjadacz (13,250 p.)
0 głosów
1 odpowiedź 326 wizyt
pytanie zadane 1 czerwca 2018 w JavaScript przez mi-20 Stary wyjadacz (13,250 p.)
0 głosów
0 odpowiedzi 206 wizyt
pytanie zadane 5 lipca 2018 w PHP przez Maikel11 Początkujący (470 p.)

93,191 zapytań

142,206 odpowiedzi

322,041 komentarzy

62,518 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2817p. - dia-Chann
  2. 2769p. - Łukasz Piwowar
  3. 2759p. - Łukasz Eckert
  4. 2738p. - CC PL
  5. 2704p. - Tomasz Bielak
  6. 2678p. - Łukasz Siedlecki
  7. 2666p. - rucin93
  8. 2584p. - Adrian Wieprzkowicz
  9. 2536p. - Mikbac
  10. 2485p. - Marcin Putra
  11. 2418p. - Michal Drewniak
  12. 2239p. - Michał Telesz
  13. 2156p. - Anonim 3619784
  14. 1733p. - rafalszastok
  15. 1650p. - Mariusz Fornal
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...