Download the PHP package andreaselia/analytics without Composer

On this page you can find all versions of the php package andreaselia/analytics. 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 analytics

Laravel Analytics

Easily collect page view analytics with a beautifully simple to use dashboard.

Installation

Install the package:

Publish the config file and assets:

Don't forget to run the migrations:

You can add the page view middleware to a specific route group, e.g. web.php like so:

Or add the page view to all middlewares/on an application level like so:

Configuration

Disabling tracking

You can disable tracking by setting the environment variable ANALYTICS_ENABLED or the enabled property in the analytics.php config file to false.

Excluding routes

You can exclude certain routes from being tracked by adding them to the exclude array in the analytics.php config file.

Ignore robots

You can ignore requests from robots by setting the ignoreRobots property in the analytics.php config file.

Ignore specific IP addresses

You can ignore requests from specific IP addresses by adding them to the ignoreIps array in the analytics.php config file.

Masking routes

You can mask certain routes from being tracked by adding them to the mask array in the analytics.php config file. This is useful if you want to track the same route with different parameters, e.g. /users/1 and /users/2 will be tracked as /users/∗︎.

Ignoring certain HTTP verbs/methods

You can ignore the tracking of some methods by adding them to the analytics.ignoreMethods config option. For example, if you don't want to track POST requests, you can configure it like so:

Changing how session_id is determined

By default, session_id in the page_views table is filled with the session ID of the current request. However, in certain scenarios (for example, for API and other requests not using cookies), the session is unavailable.

In these cases, you can create a custom session ID provider: create a class that implements the AndreasElia\Analytics\Contracts\SessionProvider interface and set its name as the provider option in the analytics.php config file. The configured class object is resolved from the container, therefore, dependency injection can be used via the __constructor.

One example of a custom way to generate the session ID in cookie-less environment is to hash IP address + User Agent + some other headers from the request.

Feel free to take a look at AndreasElia\Analytics\RequestSessionProvider for an example of implementing the SessionProvider interface.

Changing how the timezone for "today" and "yesterday" is determined

Since timestamps are stored using your application's timezone, you may get mixed results depending on when you check views for "today" and "yesterday" and your actual timezone. You can change the relative time for whatever "now" is by setting a callback in a service provider.

You can return a dynamic value like the example above, or a static value. If one isn't determined, it will just fall back to the config('app.timezone') value.

Laravel Nova

The package comes with a dashboard and metrics for Laravel Nova.

Dashboard

You can add the dashboard to Laravel Nova by adding new \AndreasElia\Analytics\Nova\Dashboards\Analytics to dashboards array in your NovaServiceProvider:

Metrics

Alternatively, you can add the metrics to your own Laravel Nova dashboard by adding them to the cards array in your dashboard file.

Contributing

You're more than welcome to submit a pull request, or if you're not feeling up to it - create an issue so someone else can pick it up.


All versions of analytics with dependencies

PHP Build Version
Package Version
Requires php Version ^7.4|^8.0
ext-intl Version *
illuminate/support Version ^8.0|^9.0|^10.0|^11.0
illuminate/database Version ^8.0|^9.0|^10.0|^11.0
illuminate/collections Version ^8.0|^9.0|^10.0|^11.0
illuminate/http Version ^8.0|^9.0|^10.0|^11.0
illuminate/view Version ^8.0|^9.0|^10.0|^11.0
jenssegers/agent Version ^2.6
jaybizzle/crawler-detect Version ^1.2
doctrine/dbal Version ^3.0
mobiledetect/mobiledetectlib Version ^2.7.6
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 andreaselia/analytics contains the following files

Loading the files please wait ....