• 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

+1 głos
203 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,301 wizyt
pytanie zadane 3 lutego 2018 w PHP przez mi-20 Stary wyjadacz (13,250 p.)
0 głosów
1 odpowiedź 386 wizyt
pytanie zadane 1 czerwca 2018 w JavaScript przez mi-20 Stary wyjadacz (13,250 p.)
0 głosów
0 odpowiedzi 252 wizyt
pytanie zadane 5 lipca 2018 w PHP przez Maikel11 Początkujący (470 p.)

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2459p. - CC PL
  9. 2184p. - Maurycy W
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1494p. - ssynowiec
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

Kursy INF.02 i INF.03
...