Skip to content

Introduction

This section covers the machinery under the packages, themes, payment methods, shipping methods and product types you build. Each page is a reference for one topic, so start with the one your task needs. The pages assume you can create and register a package, as in Package Development, and know Laravel's service providers, events and queues.

Pages in This Section

Foundations

  • Understanding the Core Class: the core() helper for the current channel, locale and currency, price formatting and saved configuration, and the other global helpers.

Extension Points

  • Event Listeners: every event core dispatches, what a listener receives, and how a package registers listeners.
  • View Render Events: adding markup to storefront and admin pages without overriding their views.
  • Command Palette: adding actions, aliases, record searches and providers to the admin's Ctrl + K palette.

Commands and Background Work

Caching, Indexing and Search

  • Cache Strategy: the caches Bagisto keeps and what clears them.
  • Understanding Indexers: the price, inventory, flat, catalog rule and search indexes, what refreshes them, and indexer:index.
  • Search Engines: the search manager, the database and Elasticsearch engines, and the contracts behind them.

Data

  • Understanding Data Transfer: the queued import pipeline and how to write an importer for your own entity.
  • File Storage: the default disk, Amazon S3 and Cloudflare R2, and what switching between them does and doesn't move.
  • Database Compatibility: writing queries that run on MySQL, MariaDB and PostgreSQL with db_grammar().

Quality

Troubleshooting

  • Debugging Tips: the debug bar, logs, routes, events, queries, queues and caches.
  • Common Pitfalls: the problems that come up most and how to get out of them.

Tuning a store for production, such as the full page cache, Elasticsearch, Varnish and Octane, is covered in Performance.

Released under the MIT License.