app/Providers/AppServiceProvider.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
<?php
namespace
App\Providers;
use
Blade;
use
Illuminate\Support\ServiceProvider;
use
Illuminate\Support\Facades\DB;
use
Illuminate\Contracts\Logging\Log;
class
AppServiceProvider
extends
ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public
function
boot()
{
Blade::directive(
'currency'
,
function
(
$x
) {
return
"<?php if (round((float)$x, 2)) { echo number_format(round((float)$x, 2), 2); } ?>"
;
});
Blade::directive(
'currency_with_zero'
,
function
(
$x
) {
return
"<?php echo number_format(round((float)$x, 2), 2); ?>"
;
});
Blade::directive(
'selector'
,
function
(
$x
) {
return
"<?php echo 'ac-' . strtr($x, '.', '-'); ?>"
;
});
DB::listen(
function
(
$sql
) {
// $sql is an object with the properties:
// sql: The query
// bindings: the sql query variables
// time: The execution time for the query
// connectionName: The name of the connection
// To save the executed queries to file:
// Process the sql and the bindings:
foreach
(
$sql
->bindings
as
$i
=>
$binding
) {
if
(
$binding
instanceof
\DateTime) {
$sql
->bindings[
$i
] =
$binding
->format(
'\'Y-m-d H:i:s\''
);
}
else
{
if
(
is_string
(
$binding
)) {
$sql
->bindings[
$i
] =
"'{$binding}'"
;
}
}
}
// Insert bindings into query
$query
=
str_replace
(
array
(
'%'
,
'?'
),
array
(
'%%'
,
'%s'
),
$sql
->sql);
$query
= vsprintf(
$query
,
$sql
->bindings);
\Log::debug(
$query
);
\Log::debug(
$sql
->time .
' ms'
. PHP_EOL . PHP_EOL);
}
);
}
/**
* Register any application services.
*
* @return void
*/
public
function
register()
{
//
}
}
|
本文转自 hgditren 51CTO博客,原文链接:http://blog.51cto.com/phpme/1958744,如需转载请自行联系原作者