Modules
Mybizna modules are developed using the Laravel-modules package.
Laravel-modules is a popular package for Laravel that provides a modular architecture for creating web applications. It allows developers to create self-contained modules in Laravel. This package is developed and maintained by Nicolas Widart.
One benefit of using Laravel-modules is reusable code that can be installed or uninstalled without affecting the system . This makes it easy to manage and update each module separately.
Mybizna Module works with the following file structure by minimum.
Modules/
├── Account/
├── Classes/
├── Invoice.php
├── Ledger.php
├── Entities/
├── Data/
├── Ledger.php
├── Invoice.php // Preset Data for ERP
├── Ledger.php
├── Invoice.php // Entity
├── Events/
├── InvoicePaid.php
├── Http/
├── Controllers/
├── InvoiceController.php
├── Listeners/
├── CoreSettingModified.php
├── Providers/
├── EventServiceProvider.php
├── Resources/
├──views/
├──payment.blade.php
├──vue/
├── admin/
├── invoice/
├── form.vue
├── search.vue
├── list.vue
├── Routes/
├── api.php
├── web.php
├── Tests/
├── composer.json
├── menus.json
├── module.json
├── README.json
├── right.php
├── settings.php
├── widgets.php
It seems like you're listing the files and directories in your Laravel project named MyBizna. Here's a breakdown of what each of these typically represents in a Laravel project:
Classes: This directory likely contains your custom PHP classes. In Laravel, these could include controllers, models, middleware, services, and other PHP classes that you've created for your application.
Events: This directory might contain event classes. In Laravel, events are used to trigger actions or behavior in response to certain activities within your application.
menus.php: This file could potentially contain configuration or data related to menus in your application. It might define the structure of your application's navigation menus.
README.md: This is a Markdown file that typically serves as the entry point for your project's documentation. It provides an overview of the project, installation instructions, usage examples, and other important information.
Routes: This directory contains route definitions for your application. In Laravel, routes define the URL endpoints and map them to controller actions or closures.
widgets.php: This file might define configuration or data related to widgets in your application. It could specify the settings or properties of various widgets used in your application's user interface.
composer.json: This file is the Composer configuration file for your project. It specifies the dependencies of your project and other metadata required by Composer, the PHP dependency manager.
Http: This directory contains classes related to HTTP requests and responses, such as controllers, middleware, and form requests.
module.json: This file could be a configuration file specific to a module within your Laravel application. It might define metadata, dependencies, or other settings related to the module.
Resources: This directory typically contains non-PHP resources used by your application, such as views, assets (CSS, JavaScript), language files, and other static files.
settings.php: This file might contain configuration settings for your application. It could define application-level settings, environment-specific configurations, or other global settings.
Entities: This directory might contain entity classes, often used in the context of object-relational mapping (ORM) libraries like Eloquent in Laravel. Entities represent database tables or documents and encapsulate their behaviour and data.
Listeners: This directory could contain event listener classes. In Laravel, event listeners are responsible for handling events and executing logic in response to those events.
Providers: This directory contains service provider classes. Service providers are used to register bindings, event listeners, middleware, and other services with the Laravel service container.
right.php: This file could contain configuration or data related to user permissions or access rights in your application. It might specify roles, permissions, or access control rules.
Tests: This directory typically contains automated tests for your application, including unit tests, feature tests, and integration tests.
Note Entites is auto-migrated using the command or after the composer version is changed to a new version.
php artisan automigrator:migrate
Other module functions can be added as illustrated in https://nwidart.com/laravel-modules/v6/introduction
Last updated