Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Framework Laravel Package

sikessem/framework

Sikessem Framework is a Laravel customization built for the Sikessem/Starter ecosystem. Requires PHP 8.2+ and Composer v2+. Install via Composer (sikessem/framework) to use the framework’s tailored conventions and tooling in your app.

View on GitHub
Deep Wiki
Context7

Getting Started

Minimal Steps

  1. Installation:

    composer require sikessem/framework
    

    Ensure your project meets the PHP 8.4+ requirement (recommended: 8.4.21+).

  2. Publish Configuration: Run the package’s publisher (if available) or manually copy default configs from:

    vendor/sikessem/framework/config/
    

    to config/sikessem.php.

  3. First Use Case:

    • Scaffold a Sikessem-Styled Auth System: Use the package’s built-in auth scaffolding (if documented) or extend Laravel’s default auth with Sikessem’s middleware:
      use Sikessem\Framework\Http\Middleware\SikessemAuth;
      
      protected $middleware = [
          SikessemAuth::class,
      ];
      
    • Leverage Sikessem/Starter Templates: If your project uses sikessem/starter, integrate its templates via:
      php artisan sikessem:install
      
      (Check for CLI commands in the Sikessem/Starter package.)
  4. Verify Integration:

    • Check if the package registers a service provider (e.g., SikessemServiceProvider) in config/app.php.
    • Test a basic route with Sikessem’s middleware or helpers:
      Route::get('/sikessem-test', function () {
          return response()->json(['status' => 'Sikessem Framework Active']);
      });
      

Implementation Patterns

Core Workflows

  1. Middleware Integration: Sikessem likely extends Laravel’s middleware stack. Override default middleware in app/Http/Kernel.php:

    protected $middlewareGroups = [
        'web' => [
            \Sikessem\Framework\Http\Middleware\TrustProxies::class,
            \Sikessem\Framework\Http\Middleware\HandleSikessemCors::class,
            // ... other middleware
        ],
    ];
    
  2. Service Provider Extensions: Bind Sikessem-specific services in a custom provider:

    use Sikessem\Framework\Providers\SikessemServiceProvider;
    
    class AppServiceProvider extends ServiceProvider {
        public function register() {
            $this->app->register(SikessemServiceProvider::class);
            // Override Sikessem bindings if needed
            $this->app->bind('sikessem.logger', function () {
                return new CustomLogger();
            });
        }
    }
    
  3. Blade Directives (if supported): Extend Blade with Sikessem-specific directives (e.g., for theming or components):

    use Sikessem\Framework\Blade\SikessemDirectives;
    
    class AppServiceProvider extends ServiceProvider {
        public function boot() {
            SikessemDirectives::register();
        }
    }
    

    Usage in Blade:

    @sikessemTheme('dark')
    
  4. API Scaffolding: Use Sikessem’s API helpers (if documented) to generate routes, controllers, and OpenAPI specs:

    php artisan sikessem:api resource User --name=users
    
  5. Modular Components: Leverage Sikessem’s modular design to isolate features (e.g., billing, notifications):

    use Sikessem\Framework\Modules\Billing\BillingModule;
    
    $billing = new BillingModule();
    $billing->register();
    

Integration Tips

  • Laravel Packages: If Sikessem conflicts with packages like laravel/sanctum or spatie/laravel-permission, resolve via:

    • Middleware Priority: Ensure Sikessem’s middleware runs after third-party middleware in Kernel.php.
    • Service Binding Overrides: Prefer bind() over extend() to avoid conflicts:
      $this->app->bind('auth.driver', function () {
          return new SikessemAuthDriver();
      });
      
  • Database Migrations: Sikessem may include migrations. Run them after Laravel’s default migrations:

    php artisan migrate --path=vendor/sikessem/framework/database/migrations
    
  • Testing: Mock Sikessem dependencies in PHPUnit:

    $this->app->instance('sikessem.config', [
        'theme' => 'light',
        'api_prefix' => 'api/v1',
    ]);
    
  • Debugging: Enable Sikessem’s debug mode (if available) in .env:

    SIKESSEM_DEBUG=true
    

Gotchas and Tips

Pitfalls

  1. Undocumented Dependencies:

    • Sikessem/Starter: The package may silently require sikessem/starter. Verify by checking:
      • composer.json for hidden dependencies.
      • vendor/sikessem/framework/composer.json for suggests or require-dev.
    • Workaround: Install sikessem/starter explicitly if missing:
      composer require sikessem/starter
      
  2. Middleware Conflicts:

    • Sikessem’s middleware (e.g., HandleSikessemCors) may override Laravel’s defaults. Test CORS and auth flows early:
      php artisan route:list
      
    • Fix: Disable conflicting middleware in Kernel.php:
      protected $middleware = [
          // \Sikessem\Framework\Http\Middleware\HandleCors::class, // Disable if conflicting
      ];
      
  3. Blade/Template Issues:

    • Sikessem may introduce custom Blade directives or components. If templates break:
      • Check for missing directives (e.g., @sikessemComponent).
      • Fix: Re-register directives in AppServiceProvider:
        SikessemDirectives::register();
        
  4. Service Container Collisions:

    • Sikessem may bind services to the same keys as Laravel or other packages (e.g., auth, log). Use app:keys to check:
      php artisan app:keys | grep sikessem
      
    • Fix: Rename bindings or use when() in service providers:
      $this->app->when(SikessemServiceProvider::class)
                 ->needs('auth.driver')
                 ->give(function () { ... });
      
  5. PHP 8.4+ Features:

    • Sikessem may use PHP 8.4 features (e.g., new attributes, typed properties). Downgrade if needed:
      composer require php:^8.2
      
    • Fix: Patch Sikessem’s code or fork the package.
  6. Artisan Commands:

    • Sikessem may add CLI commands (e.g., sikessem:install). List them to avoid conflicts:
      php artisan list --show-hidden
      
    • Fix: Override commands in app/Console/Kernel.php:
      protected $commands = [
          \Sikessem\Framework\Console\SikessemCommand::class,
          \App\Console\CustomSikessemCommand::class,
      ];
      
  7. Configuration Overrides:

    • Sikessem’s config/sikessem.php may override Laravel’s configs (e.g., app.timezone). Backup originals:
      cp config/app.php config/app.php.bak
      
    • Fix: Use config.merge() to preserve defaults:
      config(['app.timezone' => config('sikessem.timezone', 'UTC')]);
      

Debugging Tips

  1. Enable Sikessem Logging: Add to .env:

    SIKESSEM_LOG_LEVEL=debug
    LOG_CHANNEL=single
    

    Check logs in storage/logs/laravel.log for Sikessem-specific entries.

  2. Dump Sikessem Bindings: Inspect the service container for Sikessem-related bindings:

    dd($this->app->getBindings());
    
  3. Middleware Debugging: Temporarily disable Sikessem middleware to isolate issues:

    protected $middleware = [
        // \Sikessem\Framework\Http\Middleware\TrustProxies::class, // Comment out
    ];
    
  4. Database Debugging: If Sikessem migrations fail, check:

    php artisan migrate --pretend
    

    Fix: Rollback Sikessem migrations first:

    php artisan migrate:rollback --path=vendor/sikessem/framework/database/migrations
    

Extension Points

  1. Customizing Sikessem Modules: Extend Sikessem’s modules (e.g., BillingModule) by creating a subclass:

    use Sikessem\Framework\Modules\Billing\BillingModule;
    
    class CustomBillingModule extends BillingModule {
        public function register() {
            parent::register();
            // Add custom logic
        }
    }
    
  2. Overriding Sikessem Views: Publish and override Sikessem’s Blade views:

    php artisan vendor:publish --tag=sikessem.views
    

    Then modify views in resources/views/vendor/sikessem/.

  3. **Adding Sikessem-S

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle