Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 0 additions & 30 deletions .env.example

This file was deleted.

29 changes: 23 additions & 6 deletions .htaccess
Original file line number Diff line number Diff line change
@@ -1,8 +1,25 @@
RewriteEngine On
ErrorDocument 403 /error-handler.php?code=403
ErrorDocument 404 /error-handler.php?code=404
ErrorDocument 500 /error-handler.php?code=500

RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
<IfModule mod_rewrite.c>
Options -Indexes
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteRule ^(core|app|storage|config|database|backups|vendor|bootstrap|cron|tasks)(/.*)?$ - [F,L]

RewriteRule ^(cron\.php)$ - [F,L]

RewriteCond %{REQUEST_URI} \.(env|git|sql|md|lock|json|xml|ini|log|zip|htaccess)$ [NC]
RewriteRule .* - [F,L]

RewriteRule ^error-handler\.php$ - [L]

RewriteCond %{REQUEST_URI} !^/index\.php$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,12 +181,28 @@ Use it anywhere:
$result = app('myservice')->doSomething();
```

## Cron-Jobs (Tasks)
Add your cron to `App\Tasks\MyCron` then add your task to `/cron.php`
```php
try {
$doSomething = new DoSomething();
$doSomething->handle();

} catch (\Exception $e) {
echo "Error: " . $e->getMessage() . "\n";
}
```
Note : cron.php only accessible on cli with CRON_KEY


## Error Handling

Set `APP_DEBUG=true` in `.env` for detailed error pages with code snippets.

Set `APP_DEBUG=false` for production to show clean error pages.

Set `MAINTENANCE_MODE=1` for Maintenance mode (ip whitelist & maintenance msg included)

All errors are logged to `storage/logs/error.log`.

## Contributing
Expand Down
1 change: 1 addition & 0 deletions app/.htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Deny from all
36 changes: 0 additions & 36 deletions app/Controllers/HomeController.php

This file was deleted.

29 changes: 29 additions & 0 deletions app/Controllers/WelcomeController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

namespace ZEngine\App\Controllers;

use ZEngine\Core\Http\Request;
use ZEngine\Core\Http\Response;
use ZEngine\App\Models\WelcomeModel;

class WelcomeController
{
private WelcomeModel $welcomeModel;

public function __construct()
{
$this->welcomeModel = new WelcomeModel();
}

public function showWelcome(): Response
{
$something = $this->welcomeModel->getSomething();

return view('welcome', [
'something' => $something,
'version' => '1.0.2',
'services_count' => '9'
]);
}

}
24 changes: 0 additions & 24 deletions app/Middleware/AdminMiddleware.php

This file was deleted.

22 changes: 22 additions & 0 deletions app/Middleware/GuestMiddleware.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?php

namespace ZEngine\App\Middleware;

use ZEngine\Core\Http\Request;
use Closure;

class GuestMiddleware
{
public function handle(Request $request, Closure $next)
{
if ($request->isJson()) {
return response()->json([
'success' => true,
'message' => 'Wohoooooo'
], 200);
}

return $next($request);
}
}

26 changes: 26 additions & 0 deletions app/Models/WelcomeModel.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?php

namespace ZEngine\App\Models;

class WelcomeModel
{
private function db()
{
return db();
}

public function getSomething(): ?array
{
$something = [
'someone' => 'John Doe',
'another' => 'Jane Doe',
];

return [
'success' => true,
'veryImportant' => false,
$something
];
}

}
13 changes: 13 additions & 0 deletions app/Tasks/DoSomething.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

namespace ZEngine\App\Tasks;

class DoSomething
{
public function handle(): void
{
// cron logic

echo "[" . date('Y-m-d H:i:s') . "] DoSomethinh worked.\n";
}
}
Loading
Loading