Skip to content

Commit 0ab2cd4

Browse files
committed
Özel Hata Sayfaları İçin Whoops Kullanıldı
1 parent 3740d0f commit 0ab2cd4

49 files changed

Lines changed: 4923 additions & 12 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/classes/ErrorHandler.php

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?php
2+
3+
4+
namespace App\Classes;
5+
6+
7+
class ErrorHandler
8+
{
9+
public function handleErrors($error_number,$error_message,$error_file,$error_line)
10+
{
11+
$error ="[{$error_number}] Bir Hata Oluştu
12+
{$error_file} dosyasında $error_line : $error_message";
13+
14+
$environment = getenv('APP_ENV');
15+
if ($environment === 'local') {
16+
$whoops = new \Whoops\Run;
17+
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
18+
$whoops->register();
19+
} else {
20+
$data = [
21+
'to' => getenv('ADMIN_EMAIL'),
22+
'subject' => 'Sistem Hatası',
23+
'view'=>'errors',
24+
'name'=> 'Admin',
25+
'body'=> 'Test Ediyoruz Email Şablonunu'
26+
27+
];
28+
29+
ErrorHandler::emailAdmin($data)->outputFriendlyError();
30+
}
31+
}
32+
public function outputFriendlyError()
33+
{
34+
ob_end_clean();
35+
view('errors/generic');
36+
exit();
37+
}
38+
public static function emailAdmin($data)
39+
{
40+
$mail = new Mail;
41+
$mail->send($data);
42+
return new static;
43+
}
44+
}

app/controllers/IndexController.php

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,16 @@ class IndexController extends BaseController
1111
public function show()
1212
{
1313
echo 'Burası Ana Baba Günü';
14-
$mail = new Mail();
15-
$data = [
16-
'to' => 'test@example.com',
17-
'subject' => 'Hoşgeldiniz Biladerim',
18-
'view'=>'welcome',
19-
'body'=> 'Test Ediyoruz Email Şablonunu'
20-
21-
];
2214

15+
/**
16+
* Özel Hata Sayfası İçin Mail Fonksiyonu Eksik Yazıldı
17+
* Test Edildi : Whoops
18+
*/
19+
/* $mail = new Mail();
2320
if ($mail->send($data)) {
2421
echo 'email Başarıyla Gönderildi';
2522
} else {
2623
echo 'email Gönderilemedi';
27-
}
24+
}*/
2825
}
2926
}

bootstrap/init.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
<?php
2-
2+
// Oturum Başlamadıysa Başlatıyoruz
33
if (!isset($_SESSION)) session_start();
4+
// Environment Ayarları
45
require_once __DIR__ . '/../app/config/_env.php';
6+
//VeriTabanı Sınıfı Yükleme
57
new \App\Classes\Database();
8+
// Özel Hata Sayfaları : Whoops
9+
set_error_handler([new \App\Classes\ErrorHandler(),'handleErrors']);
10+
// Routing & Url Sınıfı
611
require_once __DIR__ . '/../app/routing/routes.php';
712
new \App\RouteDispatcher($router);

composer.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66
"illuminate/database": "^5.8",
77
"phpmailer/phpmailer": "^6.0"
88
},
9-
"autoload": {
9+
"require-dev": {
10+
"filp/whoops": "^2.3"
11+
},
12+
"autoload": {
1013
"psr-4": {
1114
"App\\" : "app"
1215
},

composer.lock

Lines changed: 62 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

resources/views/emails/errors.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<!DOCTYPE html>
2+
<html lang="tr">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Title</title>
6+
</head>
7+
<body>
8+
<div style="width: 500px; padding: 15px; margin: 0 auto; background-color: darkred;color: #ffffff;">
9+
<img width="150px" height="75px" src="https://yt3.ggpht.com/a-/AAuE7mAzi4VaiH3-qZFpvB93AcQQVuq7Rq90ohCb9Q=s900-mo-c-c0xffffffff-rj-k-no" alt="BabaFinger">
10+
<?php echo "HATA : {$data};"?>
11+
</div>
12+
13+
</body>
14+
</html>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<div style="padding: 15px; width: 80%; margin: 0 auto; border: 1px solid darkgray; border-radius: 5px;">
2+
<h1>Bir Hata Oluştu, Daha Sonra Tekrar Denemeyin : )</h1>
3+
</div>

vendor/composer/autoload_classmap.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,4 +543,22 @@
543543
'Symfony\\Contracts\\Translation\\TranslatorTrait' => $vendorDir . '/symfony/contracts/Translation/TranslatorTrait.php',
544544
'Symfony\\Polyfill\\Ctype\\Ctype' => $vendorDir . '/symfony/polyfill-ctype/Ctype.php',
545545
'Symfony\\Polyfill\\Mbstring\\Mbstring' => $vendorDir . '/symfony/polyfill-mbstring/Mbstring.php',
546+
'Whoops\\Exception\\ErrorException' => $vendorDir . '/filp/whoops/src/Whoops/Exception/ErrorException.php',
547+
'Whoops\\Exception\\Formatter' => $vendorDir . '/filp/whoops/src/Whoops/Exception/Formatter.php',
548+
'Whoops\\Exception\\Frame' => $vendorDir . '/filp/whoops/src/Whoops/Exception/Frame.php',
549+
'Whoops\\Exception\\FrameCollection' => $vendorDir . '/filp/whoops/src/Whoops/Exception/FrameCollection.php',
550+
'Whoops\\Exception\\Inspector' => $vendorDir . '/filp/whoops/src/Whoops/Exception/Inspector.php',
551+
'Whoops\\Handler\\CallbackHandler' => $vendorDir . '/filp/whoops/src/Whoops/Handler/CallbackHandler.php',
552+
'Whoops\\Handler\\Handler' => $vendorDir . '/filp/whoops/src/Whoops/Handler/Handler.php',
553+
'Whoops\\Handler\\HandlerInterface' => $vendorDir . '/filp/whoops/src/Whoops/Handler/HandlerInterface.php',
554+
'Whoops\\Handler\\JsonResponseHandler' => $vendorDir . '/filp/whoops/src/Whoops/Handler/JsonResponseHandler.php',
555+
'Whoops\\Handler\\PlainTextHandler' => $vendorDir . '/filp/whoops/src/Whoops/Handler/PlainTextHandler.php',
556+
'Whoops\\Handler\\PrettyPageHandler' => $vendorDir . '/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php',
557+
'Whoops\\Handler\\XmlResponseHandler' => $vendorDir . '/filp/whoops/src/Whoops/Handler/XmlResponseHandler.php',
558+
'Whoops\\Run' => $vendorDir . '/filp/whoops/src/Whoops/Run.php',
559+
'Whoops\\RunInterface' => $vendorDir . '/filp/whoops/src/Whoops/RunInterface.php',
560+
'Whoops\\Util\\HtmlDumperOutput' => $vendorDir . '/filp/whoops/src/Whoops/Util/HtmlDumperOutput.php',
561+
'Whoops\\Util\\Misc' => $vendorDir . '/filp/whoops/src/Whoops/Util/Misc.php',
562+
'Whoops\\Util\\SystemFacade' => $vendorDir . '/filp/whoops/src/Whoops/Util/SystemFacade.php',
563+
'Whoops\\Util\\TemplateHelper' => $vendorDir . '/filp/whoops/src/Whoops/Util/TemplateHelper.php',
546564
);

vendor/composer/autoload_psr4.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
$baseDir = dirname($vendorDir);
77

88
return array(
9+
'Whoops\\' => array($vendorDir . '/filp/whoops/src/Whoops'),
910
'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
1011
'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
1112
'Symfony\\Contracts\\' => array($vendorDir . '/symfony/contracts'),

vendor/composer/autoload_static.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ class ComposerStaticInit331a0e945046aa52ebf60e308e832d29
1414
);
1515

1616
public static $prefixLengthsPsr4 = array (
17+
'W' =>
18+
array (
19+
'Whoops\\' => 7,
20+
),
1721
'S' =>
1822
array (
1923
'Symfony\\Polyfill\\Mbstring\\' => 26,
@@ -57,6 +61,10 @@ class ComposerStaticInit331a0e945046aa52ebf60e308e832d29
5761
);
5862

5963
public static $prefixDirsPsr4 = array (
64+
'Whoops\\' =>
65+
array (
66+
0 => __DIR__ . '/..' . '/filp/whoops/src/Whoops',
67+
),
6068
'Symfony\\Polyfill\\Mbstring\\' =>
6169
array (
6270
0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
@@ -695,6 +703,24 @@ class ComposerStaticInit331a0e945046aa52ebf60e308e832d29
695703
'Symfony\\Contracts\\Translation\\TranslatorTrait' => __DIR__ . '/..' . '/symfony/contracts/Translation/TranslatorTrait.php',
696704
'Symfony\\Polyfill\\Ctype\\Ctype' => __DIR__ . '/..' . '/symfony/polyfill-ctype/Ctype.php',
697705
'Symfony\\Polyfill\\Mbstring\\Mbstring' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/Mbstring.php',
706+
'Whoops\\Exception\\ErrorException' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Exception/ErrorException.php',
707+
'Whoops\\Exception\\Formatter' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Exception/Formatter.php',
708+
'Whoops\\Exception\\Frame' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Exception/Frame.php',
709+
'Whoops\\Exception\\FrameCollection' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Exception/FrameCollection.php',
710+
'Whoops\\Exception\\Inspector' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Exception/Inspector.php',
711+
'Whoops\\Handler\\CallbackHandler' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/CallbackHandler.php',
712+
'Whoops\\Handler\\Handler' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/Handler.php',
713+
'Whoops\\Handler\\HandlerInterface' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/HandlerInterface.php',
714+
'Whoops\\Handler\\JsonResponseHandler' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/JsonResponseHandler.php',
715+
'Whoops\\Handler\\PlainTextHandler' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/PlainTextHandler.php',
716+
'Whoops\\Handler\\PrettyPageHandler' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php',
717+
'Whoops\\Handler\\XmlResponseHandler' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/XmlResponseHandler.php',
718+
'Whoops\\Run' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Run.php',
719+
'Whoops\\RunInterface' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/RunInterface.php',
720+
'Whoops\\Util\\HtmlDumperOutput' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Util/HtmlDumperOutput.php',
721+
'Whoops\\Util\\Misc' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Util/Misc.php',
722+
'Whoops\\Util\\SystemFacade' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Util/SystemFacade.php',
723+
'Whoops\\Util\\TemplateHelper' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Util/TemplateHelper.php',
698724
);
699725

700726
public static function getInitializer(ClassLoader $loader)

0 commit comments

Comments
 (0)