Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Deadlink Bundle Laravel Package

astina/deadlink-bundle

View on GitHub
Deep Wiki
Context7

Astina Deadlink Bundle

Symfony bundle that provides services to find broken link URLs.

Installation

Step 1: Add to composer.json

"require":  {
    "astina/deadlink-bundle":"dev-master",
}

Step 2: Enable the bundle

Enable the bundle in the kernel:

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Astina\Bundle\DeadlinkBundle\AstinaDeadlinkBundle(),
    );
}

##Usage

The bundle provides a command (astina:deadlink:check) that checks so called "link sources" for broken links and dispatches a BrokenLinksEvent if one or more broken links are found for a given source.

To create a link source:

  1. Create a class that implements Astina\Bundle\DeadlinkBundle\Link\LinkSourceInterface.
  2. Configure that class as a service and tag it as astina_deadlink.link_source.

To react to broken links:

  1. Create an event listener.
  2. Listen to the astina_deadlink.broken_links event.

Example:

<service id="deadlink_listener" class="Acme\FooBundle\DeadlinkListener">
    <tag name="kernel.event_listener" event="astina_deadlink.broken_links" method="onBrokenLinks" />
</service>
namespace Acme\FooBundle;

use Astina\Bundle\DeadlinkBundle\Event\BrokenLinksEvent;

class DeadlinkListener
{
    public function onBrokenLinks(BrokenLinksEvent $event)
    {
        // ZOMG!
    }
}

This bundle comes with a LoggingListener which logs broken links. In the logger config you can then decide what to do with the log message.

Example:

services:
    astina_deadlink.listener.logger:
        class: Astina\Bundle\DeadlinkBundle\Event\LoggingListener
        arguments:
            - @logger
            - critical # log broken links as critical message
        tags:
            - { name: kernel.event_listener, event: astina_deadlink.broken_links, method: onBrokenLinks }

Find broken links:

Run the astina:deadlink:check command to check all registered link sources for broken links. If a broken link is found, the astina_deadlink.broken_links event is dispatched.

####DoctrineLinkSource If you have are using Doctrine and have an Entity or Document that contain URLs (or text that contains URLs) you can use Astina\Bundle\DeadlinkBundle\Doctrine\DoctrineLinkSource and configure a service like this:

services:
    my_link_source:
        class: Astina\Bundle\DeadlinkBundle\Doctrine\DoctrineLinkSource
        arguments:
            - @doctrine
            - AcmeFooBundle:MyEntity
            - [ text, lead ] # properties of the given entity that contain URLs
            - [] # optional: array of criteria to filter the entities
        tags:
            - { name: astina_deadlink.link_source }
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle