Deleting or export a full module in Laravel - laravel-6

Let's say that we made a complete app module in Laravel:
php artisan make:model Post -a
Is there any way to delete or export this module and install it into another Laravel framework?

Related

jetstream css and js not working on my laravel 8, all the page broken

in my laravel 8 project i install jetstream by the following command.
composer require laravel/jetstream
then i put the following command
php artisan jetstream:install livewire
then i give the command npm install and npm run dev and run migration.
but when i run my laravel project my login, registration and all other jetstream page broken. it seems css and js are not working. i have followed all the existing stackoverflow process but no improvemnet.
this is registration page image

Class "config" does not exist Laravel 9

I have a Laravel 9 project which works fine on local, but after uploading it to the online server I get this error :
Fatal error: Uncaught ReflectionException: Class "config" does not exist in /.../vendor/laravel/framework/src/Illuminate/Container/Container.php:875 Stack trace: #0
This project is not in the root folder but inside another folder, because I have multiple laravel projects. The other one laravel 8.8 is working fine.
That's what I've tried so far:
delete vender folder and install again
delete files in cache folder
run command $ php artisan optimize:clear
run these commands :
composer install
composer dump-autoload
php artisan cache:clear
php artisan config:clear
nothing wrong with my .env file, I just left the default of Laravel
I solved this issue.
I had some missing php extensions on the server. Installing them solved the issue.
Check the Laravel 9 System Requirements here in their doc.
run this code on your server to see your installed extensions and install everything that is missing.
<?php
echo "<pre>";
print_r(get_loaded_extensions());
echo "<pre/>";
Remove all the content of bootstrap/cache first:
cd bootstrap/cache/
rm -rf *.php
Then run:
cd ../../
composer dump-autoload

Laravel-permission Undefined type PermissionRegistrar

I'm trying to install the package Laravel-permission v5 for a project in Laravel 8.
Following the instructions at the documentation, I runned
composer require spatie/laravel-permission
and to be able to migrate the permission tables I executed:
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
Instantly, in the file database/migrations/create_permission_tables.php it gives me the error
Undefined type 'Spatie\Permission\PermissionRegistrar
What can I do? I'm new in Laravel
Did you import it in config/app.php ??
Try this:
php artisan optimize:clear
# or
php artisan config:clear
php artisan migrate

How to Install Vue.js in Laravel 8

I am using laravel 8 and now I want install Vue.js. I am trying like this
composer require laravel/ui
php artisan ui vue
php artisan ui vue --auth
UPDATE: If you want to completely avoid Inertia / Livewire (Alpine.js) scaffolding in your Laravel ^8.0 applications and use Vue instead - install Laravel UI, which will most likely be maintained indefinitely (scaled to practical software lifetime).
Instructions for installing Vue (and old auth scaffolding) in your Laravel app:
run composer require laravel/ui
run php artisan ui vue for just installing Vue.
run php artisan ui vue --auth for scaffolding out the auth views.
run npm install && npm run dev
How ever, if you still want to use Vue.js with Livewire scaffolding, use the following instructions.
IMPORTANT: Please note that Vue.js takes control of the DOM once installed, detaching nodes and replacing it, removing other JS listeners. So, if you are using Livewire on the same page with Vue, the Alpine.js that comes with Livewire scaffolding wont work. As a workaround you can use Livewire VueJS support plugin.
run npm install --save vue
Add the following to your resources/js/app.js:
window.Vue = require('vue');
Vue.component('example-component', require('./components/ExampleComponent.vue').default);
const app = new Vue({
el: '#app',
});
Create an ExampleComponent.vue in the resources/js/components directory
<template>
<div>Hello World.</div>
</template>
<script>
export default {
mounted() {
console.log("Example component mounted");
}
};
</script>
Add <script src="{{ asset('js/app.js') }}" defer></script> in the <head> section of your layout file (resources/views/layouts/app.blade.php)
Add id="app" to <body> or main <div> in your layout file (resources/views/layouts/app.blade.php)
Add <example-component /> to your view
Run npm run dev or npm run watch
Finally, open up the devtools, and in the console log you should see Example component mounted
In laravel 8 project run following commands to install vue.js
run composer require laravel/ui
Install Vue php artisan ui vue
Install Vue with auth php artisan ui vue --auth
run npm install && npm run dev
I wasted so much time with this and don't want people to go through the same, so I will teach you how to install Vue.js and make it work fast.
If you want to start from scratch
replace the LaravelProject with your project name
laravel new LaravelProject
Install Vue.js on your Laravel 8 application
run the following commands
composer require laravel/ui
php artisan ui vue
php artisan ui vue --auth
npm install
npm run dev
npm run watch
Now that you have installed everything you need, go to a blade view and add the following code inside <body></body>
<div id="app">
<example-component />
</div>
<script src="{{ mix('/js/app.js') }}"></script>
If you did everything right you will see the following text on the rendering of your view
Example Component
Im an example component.
And in your console:
Component mounted.
You can install Vue 3 on your laravel project via three different ways:
Import it as a CDN package on the page
Download the JavaScript files and host them yourself
Install it using npm
1. Via CDN
include following code in your HTML file:
<script src="https://unpkg.com/vue#next"></script>
or use the following link for production:
https://cdnjs.com/libraries/vue
2. Download and Host yourself:
Download it from GitHub here:
https://github.com/vuejs/vue-next
3. Via npm
npm is the recommended installation method when building large scale applications with Vue. It pairs nicely with module bundlers such as Webpack (opens new window)or Rollup (opens new window). Vue also provides accompanying tools for authoring Single File Components.
Run this command in your terminal to get the latest stable version
$ npm install vue#next
Followed by:
npm install
Run a Command
npm install vue
In resources/js/bootstrap.js
window.Vue = require("vue/dist/vue.min");
And then run command
npm run dev
You can try npm install --save vue
You can install vue on laravel 8 by simply running below commands to install laravel ui:
composer require laravel/ui
And if you want authorizations such as login page, registartion page scaffolding then run below command from the folder where laravel project is installed:
php artisan ui vue
After running above commands run to install all dependencies and compile all style resources:
npm install
npm run dev
npm run watch
Setting up Vue in Laravel
run composer require laravel/ui
Install Vue php artisan ui vue
if you Install Vue with auth use php artisan ui vue --auth
add after in page master
run npm install
run npm run dev
run PHP artisan serve
In existing project of Laravel 8 it's better to do this installation which gets in one line:
npm i -D vue#next #vue/compiler-sfc vue-loader#next
For your project to work correctly it's also important to check webpack.mix.js, it should look this way:
mix.js('resources/js/app.js', 'public/js').vue()
.postCss('resources/css/app.css', 'public/css', [
//
]);
As well while working with project don't forget:
npm run watch
Hope it was helpful!
A pretty simple and straightforward set of instructions
https://laravel2020.com/2022/01/25/how-to-install-vue-3-on-an-existing-laravel-8-project/
**Install Vue + Laravel 8
composer create-project laravel/laravel projectName --prefer-dist
composer require laravel/ui
php artisan ui vue
npm install
npm run dev
npm i vue-loader
npm install vue-router vue-axios
npm run dev
Success.

Laravel 8 fresh installation livewire directory does not exist

I have a fresh installation of laravel 8 and I have also installed livewire but when I register I get the error
The "C:\xampp\htdocs\sms\app/Http/Livewire" directory does not exist. (View:
C:\xampp\htdocs\sms\resources\views\layouts\app.blade.php) (View:
C:\xampp\htdocs\sms\resources\views\layouts\app.blade.php)
I followed the instructions in the laravel documentation page.
What could I be doing wrong?
I guess you did run the third command php artisan jetstream:install inertia too, that could have removed livewire, Try rerunning the second command php artisan jetstream:install livewire to install livewire then run npm install followed by npm run dev
Create a new livewire component to generate those directories. Reinstalling did not create them for me.
php artisan make:livewire counter
If you haven't started anything yet, just re-install laravel and run the command php artisan jetstream:install inertia cause there's an error when reverting back from livewire to inertia.