dan-english/package-creator

Package creator for my laravel projects

12 2022-01-15 20:34 UTC

This package is auto-updated.

Last update: 2024-09-25 18:31:29 UTC


README

This was used as the example for creating a custom Laravel package for my Laravel projects.

Requirements

Annotations package (laravel 8 support) composer require laravelcollective/annotations

  • a "packages" directory
  • Update composer.json PSR-4 with the "packages" path

alias cc='clear;composer dump-autoload; php artisan cache:clear; php artisan view:clear; php artisan config:clear; php artisan config:clear; php artisan route:clear' alias a_route='php artisan route:clear; php artisan route:scan;php artisan route:list'

expects:

packages/

attempts to create:

packages/<package-name>/Http
packages/<package-name>/Http/Controllers
packages/<package-name>/Http/Controllers/<package-name>Controller.php

packages/<package-name>/Listeners

packages/<package-name>/Models
packages/<package-name>/Models/<model-name>.php
packages/<package-name>/Models/Logic
packages/<package-name>/Models/Logic/<model-name>Logic.php

packages/<package-name>/Observers
packages/<package-name>/Observers/<model-name>Observer.php

packages/<package-name>/Providers
packages/<package-name>/Providers/<package-name>ServiceProvider.php

packages/<package-name>/Tests
packages/<package-name>/Views
packages/<package-name>/Views/index.blade.php

In app.js


    resolve: (name) => {

        const matched = /@(.*)::/.exec(name);

        if (matched === null) {
            return require(`./Pages/${name}`).default;
        }

        const module = matched[1];
        const pageName = name.replace(matched[0], "");
        return require(`../../packages/${module}/Assets/Pages/${pageName}.vue`) //in root of project


    },