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.
Installation:
composer require sikessem/framework
Ensure your project meets the PHP 8.4+ requirement (recommended: 8.4.21+).
Publish Configuration: Run the package’s publisher (if available) or manually copy default configs from:
vendor/sikessem/framework/config/
to config/sikessem.php.
First Use Case:
use Sikessem\Framework\Http\Middleware\SikessemAuth;
protected $middleware = [
SikessemAuth::class,
];
sikessem/starter, integrate its templates via:
php artisan sikessem:install
(Check for CLI commands in the Sikessem/Starter package.)Verify Integration:
SikessemServiceProvider) in config/app.php.Route::get('/sikessem-test', function () {
return response()->json(['status' => 'Sikessem Framework Active']);
});
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
],
];
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();
});
}
}
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')
API Scaffolding: Use Sikessem’s API helpers (if documented) to generate routes, controllers, and OpenAPI specs:
php artisan sikessem:api resource User --name=users
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();
Laravel Packages:
If Sikessem conflicts with packages like laravel/sanctum or spatie/laravel-permission, resolve via:
Kernel.php.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
Undocumented Dependencies:
sikessem/starter. Verify by checking:
composer.json for hidden dependencies.vendor/sikessem/framework/composer.json for suggests or require-dev.sikessem/starter explicitly if missing:
composer require sikessem/starter
Middleware Conflicts:
HandleSikessemCors) may override Laravel’s defaults. Test CORS and auth flows early:
php artisan route:list
Kernel.php:
protected $middleware = [
// \Sikessem\Framework\Http\Middleware\HandleCors::class, // Disable if conflicting
];
Blade/Template Issues:
@sikessemComponent).AppServiceProvider:
SikessemDirectives::register();
Service Container Collisions:
auth, log). Use app:keys to check:
php artisan app:keys | grep sikessem
when() in service providers:
$this->app->when(SikessemServiceProvider::class)
->needs('auth.driver')
->give(function () { ... });
PHP 8.4+ Features:
composer require php:^8.2
Artisan Commands:
sikessem:install). List them to avoid conflicts:
php artisan list --show-hidden
app/Console/Kernel.php:
protected $commands = [
\Sikessem\Framework\Console\SikessemCommand::class,
\App\Console\CustomSikessemCommand::class,
];
Configuration Overrides:
config/sikessem.php may override Laravel’s configs (e.g., app.timezone). Backup originals:
cp config/app.php config/app.php.bak
config.merge() to preserve defaults:
config(['app.timezone' => config('sikessem.timezone', 'UTC')]);
Enable Sikessem Logging:
Add to .env:
SIKESSEM_LOG_LEVEL=debug
LOG_CHANNEL=single
Check logs in storage/logs/laravel.log for Sikessem-specific entries.
Dump Sikessem Bindings: Inspect the service container for Sikessem-related bindings:
dd($this->app->getBindings());
Middleware Debugging: Temporarily disable Sikessem middleware to isolate issues:
protected $middleware = [
// \Sikessem\Framework\Http\Middleware\TrustProxies::class, // Comment out
];
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
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
}
}
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/.
**Adding Sikessem-S
How can I help you explore Laravel packages today?