Download the PHP package ez-it-solutions/laravel-init without Composer
On this page you can find all versions of the php package ez-it-solutions/laravel-init. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ez-it-solutions/laravel-init
More information about ez-it-solutions/laravel-init
Files in ez-it-solutions/laravel-init
Package laravel-init
Short Description A comprehensive Laravel Initialization Utility that combines several functions and features specific to Laravel projects
License MIT
Informations about the package laravel-init
### A comprehensive Laravel Initialization Utility
[](https://opensource.org/licenses/MIT)
[](https://www.php.net/)
[](https://laravel.com/)
[](https://packagist.org/packages/ez-it-solutions/laravel-init)
A powerful toolkit that combines several functions and features specific to Laravel projects, including application initialization, deployment, optimization, database management, and more.
📋 Overview
The Laravel Initialization Utility is a comprehensive toolkit designed to streamline the entire lifecycle of Laravel application development, deployment, and maintenance. It provides a collection of powerful commands that handle everything from initial setup to production optimization.
This utility combines multiple essential functions into a single, cohesive package, eliminating the need for various separate tools and scripts. Whether you're setting up a new project, preparing for deployment, or optimizing performance, this toolkit has you covered.
🛠️ Custom Commands
🧙♂️ Interactive Setup Wizard
The setup wizard provides a user-friendly interface for configuring and using various features of the Laravel Initialization Utility, including:
- Viewing README and help documentation
- Checking application status
- Configuring application settings
- Setting up database connections
- Installing frontend assets
- Optimizing the application
- Creating database backups
- Building configuration files
Interactive CLI setup wizard with easy-to-use menus
Web-Based Setup Wizard
The web-based setup wizard provides a modern, responsive interface for configuring your Laravel application through your browser. It offers all the same functionality as the CLI wizard but with a more visual and intuitive interface.
Web-based setup wizard with a modern, responsive design
Features of the web-based wizard:
- Dashboard: Overview of all available features
- Documentation Viewer: View README and help documentation directly in the browser
- Status Checker: Check the status of your application's configuration and packages
- Configuration Forms: Easy-to-use forms for configuring your application
- Step-by-Step Process: Guided setup process with progress indicators
- Responsive Design: Works on all devices, from desktop to mobile
📊 Application Status
The status command provides a comprehensive report of your Laravel application's initialization status, including:
- Configuration files
- Environment variables
- Installed Node packages
- Installed Composer packages
- System information
💾 Database Backup
The database backup command provides powerful features for creating and managing database backups, including:
- Selective table backup
- Multiple compression formats
- Cloud storage integration
- Backup retention policies
- Notification options
📚 Help & Documentation
The help command provides comprehensive documentation, examples, and interactive guidance for all Laravel Initialization Utility commands.
Beautiful HTML documentation with a modern, responsive design
The HTML documentation provides a more visually appealing way to access the package's documentation, with features like:
- Modern, responsive design that works on all devices
- Syntax highlighting for code examples
- Easy navigation with a sidebar menu
- Detailed command documentation with examples
- Copy-to-clipboard functionality for code snippets
🔧 Application Initialization
💾 Database Management
🖥️ Development Server
🚀 Application Deployment
⚡ Application Optimization
🔍 System Requirements Check
📝 Environment Preparation
✨ Features
Interactive Setup Wizard
- User-Friendly Interface: Configure your application with an interactive wizard
- Feature Selection: Pick and choose which features to use and configure
- Documentation Viewer: View README and help documentation directly in the console
- Configuration Builder: Generate configuration files for your selected options
- Cross-Platform Support: Works on Windows, macOS, and Linux
Application Status
- Comprehensive Status Check: Get a complete overview of your application's status
- Configuration Files: Check for required configuration files
- Environment Variables: Verify environment variables are properly set
- Package Detection: Automatically detect installed Node and Composer packages
- System Information: View PHP, Laravel, Node.js, and server information
Application Initialization
- Complete Setup: Initialize your Laravel application with a single command
- System Requirements Check: Verify your environment meets all requirements
- Database Initialization: Set up your database with proper character set and collation
- Application Preparation: Configure environment-specific settings
- Permissions Management: Set appropriate file and directory permissions
Application Deployment
- Deployment Package Creation: Create optimized deployment packages
- Post-Deployment Setup: Configure your application after deployment
- Customizable Exclusions: Control which files are included in deployment packages
Application Optimization
- Cache Management: Clear and rebuild various caches
- Asset Compilation: Compile frontend assets for production
- Environment-Specific Optimization: Different optimization strategies for development and production
Application Cleanup
- Comprehensive Cleanup: Clear all caches and optimize your application
- Visual Progress Feedback: See detailed progress of each cleanup step
- Performance Metrics: Track execution time for each operation
Database Tools
- Database Initialization: Create and configure databases with proper settings
- Database Backup: Create and manage database backups with various options
- MySQL Command Execution: Run MySQL commands directly from Artisan
- Migration and Seeding: Easily run migrations and seeders
- Backup Compression: Compress backups in various formats (SQL, GZ, ZIP)
- Cloud Storage Integration: Store backups in cloud storage services
- Retention Policies: Automatically manage backup retention
Frontend Asset Management
- TailwindCSS Installation: Easily install and configure TailwindCSS
- Dark Mode Support: Add dark mode support to your application
- Plugin Integration: Install and configure TailwindCSS plugins
- Build Tool Detection: Automatically detect and configure Vite or Laravel Mix
Development Server
- Port Auto-Detection: Automatically finds the first available port
- Browser Auto-Launch: Opens your default browser to the application URL
- Customizable Host: Specify a custom host address
- Cross-Platform Support: Works on Windows, macOS, and Linux
🚀 Installation
Requirements
- PHP 7.3 or higher
- Laravel 6.0 or higher
- Composer
Option 1: Install via Composer (Recommended)
Simply run the following command in your Laravel project:
That's it! The package will automatically register all commands with Laravel through auto-discovery.
Option 2: Manual Installation
-
Clone the repository from our GitHub repository
-
Copy the
srcdirectory to your Laravel project -
Register the service providers in your
config/app.phpfile: -
Publish the configuration files (optional):
This will publish the following configuration files:
config/init.php: Configuration for initialization settingsconfig/database.php: Enhanced database configuration
Compatibility
This package is thoroughly tested and compatible with:
| Laravel Version | PHP Version |
|---|---|
| 6.x | 7.3 - 8.2 |
| 7.x | 7.3 - 8.2 |
| 8.x | 7.3 - 8.2 |
| 9.x | 8.0 - 8.2 |
| 10.x | 8.1 - 8.2 |
🎮 Command Showcase
📦 Creating Your Own Package
If you want to create your own version of this package, follow these steps:
1. Set Up Package Structure
Create the following directory structure:
2. Create composer.json
3. Create Service Providers
Create the following service provider files:
src/AppInitServiceProvider.php
src/AppCleanupServiceProvider.php
src/DatabaseToolsServiceProvider.php
src/AppServeServiceProvider.php
4. Update Namespace in Command
Update the namespace in your AppServeCommand.php file to match your package:
5. Publish to GitHub
6. Register with Packagist
- Visit Packagist
- Submit your GitHub repository URL:
https://github.com/ez-it-solutions/laravel-init - Once approved, your package will be available via Composer
7. Set Up GitHub Webhooks for Packagist
To automatically update your package on Packagist when you push to GitHub:
- Go to your GitHub repository settings
- Click on "Webhooks" > "Add webhook"
- Set Payload URL to:
https://packagist.org/api/github?username=your-packagist-username - Set Content type to:
application/json - Select "Just the push event"
- Click "Add webhook"
8. Add GitHub Actions for Testing (Optional)
Create a file at .github/workflows/tests.yml:
📝 Usage Guide
Application Initialization
| This command runs the complete initialization process for your Laravel application, including: - System requirements check - Database initialization - Application preparation - Performance optimization | #### Options | Option | Description | |--------|-------------| | `--skip-requirements` | Skip system requirements check | | `--skip-db` | Skip database initialization | | `--skip-prepare` | Skip application preparation | | `--skip-optimize` | Skip application optimization | | `--force` | Force the operation in production | | `--show-config` | Show database configuration | | `--migrate` | Run database migrations | | `--seed` | Seed the database with records | |
Application Deployment
| This command handles the deployment process of your Laravel application, including: - Creating optimized deployment packages - Setting up the application after deployment - Installing dependencies and running migrations - Optimizing for production environment | #### Options | Option | Description | |--------|-------------| | `--prepare` | Create deployment package | | `--setup` | Set up after deployment | | `--exclude-vendor` | Exclude vendor directory | | `--exclude-node` | Exclude node_modules directory | | `--output=PATH` | Specify output path for package | |
Frontend Asset Management
| This command installs and configures TailwindCSS in your Laravel application with: - Support for both Vite and Laravel Mix - Optional plugins (forms, typography) - Dark mode support - Automatic detection of package manager - Configuration file generation | #### Options | Option | Description | |--------|-------------| | `--with-vite` | Configure for Vite (default) | | `--with-mix` | Configure for Laravel Mix | | `--with-plugins` | Install TailwindCSS plugins | | `--dark-mode` | Enable dark mode support | | `--force` | Overwrite existing files | |
Application Optimization
| This command optimizes your Laravel application for better performance by: - Clearing and rebuilding various caches - Compiling frontend assets - Creating storage links - Optimizing for specific environments | #### Options | Option | Description | |--------|-------------| | `--no-vite` | Skip Vite asset compilation | | `--no-cache` | Skip cache rebuilding | | `--no-storage-link` | Skip storage link creation | | `--production` | Optimize for production | | `--dev` | Optimize for development (default) | |
Application Preparation
| This command prepares your Laravel application for specific environments by: - Setting up directory structures - Configuring environment-specific settings - Managing file permissions - Cleaning up unnecessary files | #### Options | Option | Description | |--------|-------------| | `development` | Prepare for development | | `production` | Prepare for production | | `--clean` | Remove unnecessary files | | `--permissions` | Set file permissions | | `--optimize` | Run optimization commands | |
Application Cleanup
| This command provides a comprehensive cleanup utility for your Laravel application by: - Clearing route, config, application, view, and event caches - Clearing compiled classes - Optimizing the autoloader - Rebuilding configuration and route caches | #### Options | Option | Description | |--------|-------------| | `--force` | Skip confirmation prompt | |
Application Status
| This command provides a comprehensive report of your Laravel application's initialization status, including: - Configuration files - Environment variables - Installed Node packages - Installed Composer packages - System information | #### Options | Option | Description | |--------|-------------| | `--verbose` | Display detailed information | | `--config-only` | Only check configuration files | | `--packages-only` | Only check installed packages | |
System Requirements Check
| This command performs comprehensive checks to ensure your server environment meets all necessary requirements, including: - PHP version and extensions - Required software versions - PHP configuration settings - File and directory permissions | #### What It Checks - PHP 7.3+ or 8.0+ - Required PHP extensions - MySQL 5.7+ or 8.0+ - Composer - Node.js and NPM - Server configuration - Directory permissions |
Database Initialization
| This command initializes and configures the database for your Laravel application with: - Proper character set and collation - Optional migrations and seeding - Detailed error reporting for connection issues | #### Options | Option | Description | |--------|-------------| | `--migrate` | Run migrations after initialization | | `--seed` | Seed the database after migrations | | `--force` | Force operation in production | | `--show-config` | Show database configuration | |
Database Backup
| This command creates and manages database backups with powerful features: - Support for MySQL, PostgreSQL, and SQLite - Selective table backup - Multiple compression formats (SQL, GZ, ZIP) - Cloud storage integration - Backup retention policies - Notification options | #### Options | Option | Description | |--------|-------------| | `--tables=` | Tables to backup (comma-separated) | | `--exclude=` | Tables to exclude (comma-separated) | | `--format=sql` | Output format (sql, gz, zip) | | `--storage=` | Storage disk to use | | `--path=` | Custom backup path | | `--structure-only` | Only backup structure, not data | | `--with-data` | Include data in backup (default) | | `--notify` | Send notification when complete | | `--force` | Force operation in production | |
MySQL Command Execution
| This command executes MySQL commands directly using the MySQL command-line client, allowing you to: - Run custom SQL queries - Use predefined commands - Format output in different ways - Connect to different MySQL servers | #### Options | Option | Description | |--------|-------------| | `--command=SQL` | MySQL command to execute | | `--list-commands` | List predefined commands | | `--vertical` | Print output vertically | | `--mysql-path=PATH` | Path to MySQL executable | | `--db=NAME` | Database name | |
Development Server
| This command provides an intelligent solution for serving your Laravel application with: - Automatic port detection - Browser auto-launch capability - Customizable host and port settings - Cross-platform support | #### Options | Option | Description | |--------|-------------| | `--host=ADDRESS` | Custom host address | | `--start-port=PORT` | Starting port number | | `--max-attempts=NUM` | Max ports to try | | `--no-open` | Don't open browser | |
🔧 Customization
Modifying Port Range
You can easily customize the default port range by modifying the $signature property in the command:
Enhancing Browser Opening Logic
You can customize the browser opening logic by modifying the openBrowser() method:
Changing the Command Name
If you want to change the command name, modify the $signature property:
📊 Output Example
The command will automatically open your default web browser to http://127.0.0.1:8001 (or whichever port was available).
💡 Upcoming Features
We're planning to add the following features in future releases:
HTTPS Support
Enable HTTPS with self-signed certificates for local development:
Environment-Specific Configuration
Specify which environment file to load:
Custom Document Root
Specify a custom document root directory:
Specific Browser Selection
Open a specific browser instead of the default one:
QR Code Display
Generate and display a QR code in the terminal for easy mobile testing:
Multiple Host Binding
Bind to multiple interfaces simultaneously:
Auto-Reload on File Changes
Watch for file changes and reload the browser automatically:
Performance Metrics
Display basic performance metrics for requests:
Request Logging
Enhanced request logging with filtering options:
API Testing Mode
Optimize output for API development:
Custom Server Headers
Add custom headers to all responses:
🤝 Contributing
Contributions are welcome! Feel free to submit a pull request or open an issue.
📄 License
This project is open-sourced software licensed under the MIT license.
👨💻 Author
Ez IT Solutions
https://github.com/ez-it-solutions