Download the PHP package svenpetersen/ux-driver without Composer

On this page you can find all versions of the php package svenpetersen/ux-driver. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package ux-driver

svenpetersen/ux-driver

Product tours with driver.js for Symfony UX, across several pages if need be. Whether a user has seen a tour is stored per user, not in the browser.

CI

Inspired by pentiminax/ux-driver. The persistence layer follows bentools/webpush-bundle: the bundle defines interfaces, the application maps them onto its own user entity.

Requirements

What the application provides

  1. An entity implementing SvenPetersen\UX\Driver\Persistence\TourViewInterface (getUser(), getTourId(), getSeenAt()), with its mapping and migration.
  2. A manager implementing TourViewManagerInterface (find(), factory(), save()), registered with #[AsTourViewManager(userClass: User::class)]. One manager per user class.
  3. The route to the endpoint, once per firewall whose users see tours:

    A second import (e.g. ->prefix('/counter')->namePrefix('counter_')) needs that route name as the seenRoute argument of ux_driver_tour().

  4. Tours: services implementing TourProviderInterface. getTourId() is the key the "seen" state is stored under — a new version of a tour needs a new id.

In a template

The button carries the tour: on the first visit it starts by itself (if the server reports that the user has not seen it yet), afterwards on click. Every page with a step on it renders the same button; the controller only shows the steps of the current page.

Button and progress texts default to English and can be overridden per tour:

Installation

Symfony Flex registers the bundle and wires the Stimulus controller into assets/controllers.json.

Building the controller

assets/dist/controller.js is built from assets/src/controller.ts and committed:

An application consuming the bundle through a path repository needs yarn install --force afterwards to refresh its copy in node_modules.

Security notes

Development

The tests boot a minimal kernel (tests/Fixtures/TestKernel.php) with an in-memory user and an in-memory TourViewManagerInterface, so they run without a database.

The Stimulus controller is tested with Vitest in jsdom, against the real driver.js:

License

MIT — see LICENSE.


All versions of ux-driver with dependencies

PHP Build Version
Package Version
Requires php Version >=8.4
symfony/config Version ^8.0
symfony/dependency-injection Version ^8.0
symfony/framework-bundle Version ^8.0
symfony/http-kernel Version ^8.0
symfony/routing Version ^8.0
symfony/security-bundle Version ^8.0
symfony/security-csrf Version ^8.0
symfony/stimulus-bundle Version ^3.0
symfony/twig-bundle Version ^8.0
twig/twig Version ^3.8
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package svenpetersen/ux-driver contains the following files

Loading the files please wait ...