ErrorException (E_ERROR)
Undefined variable: seoInfo (View: /www/wwwroot/www.h5tpl.com/resources/views/home/components/header.blade.php) (View: /www/wwwroot/www.h5tpl.com/resources/views/home/components/header.blade.php)
Previous exceptions
  • Undefined variable: seoInfo (View: /www/wwwroot/www.h5tpl.com/resources/views/home/components/header.blade.php) (0)
  • Undefined variable: seoInfo (0)
ErrorException thrown with message "Undefined variable: seoInfo (View: /www/wwwroot/www.h5tpl.com/resources/views/home/components/header.blade.php) (View: /www/wwwroot/www.h5tpl.com/resources/views/home/components/header.blade.php)" Stacktrace: #67 ErrorException in /www/wwwroot/www.h5tpl.com/storage/framework/views/8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php:3 #66 ErrorException in /www/wwwroot/www.h5tpl.com/storage/framework/views/8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php:3 #65 ErrorException in /www/wwwroot/www.h5tpl.com/storage/framework/views/8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php:3 #64 Illuminate\Foundation\Bootstrap\HandleExceptions:handleError in /www/wwwroot/www.h5tpl.com/storage/framework/views/8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php:3 #63 include in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:43 #62 Illuminate\View\Engines\PhpEngine:evaluatePath in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 #61 Illuminate\View\Engines\CompilerEngine:get in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/View/View.php:137 #60 Illuminate\View\View:getContents in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/View/View.php:120 #59 Illuminate\View\View:renderContents in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/View/View.php:85 #58 Illuminate\View\View:render in /www/wwwroot/www.h5tpl.com/storage/framework/views/0a3e26761f636faef770193c4379a3ee2c6dba9d.php:2 #57 include in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:43 #56 Illuminate\View\Engines\PhpEngine:evaluatePath in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59 #55 Illuminate\View\Engines\CompilerEngine:get in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/View/View.php:137 #54 Illuminate\View\View:getContents in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/View/View.php:120 #53 Illuminate\View\View:renderContents in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/View/View.php:85 #52 Illuminate\View\View:render in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Http/Response.php:42 #51 Illuminate\Http\Response:setContent in /www/wwwroot/www.h5tpl.com/vendor/symfony/http-foundation/Response.php:206 #50 Symfony\Component\HttpFoundation\Response:__construct in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php:724 #49 Illuminate\Routing\Router:toResponse in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php:698 #48 Illuminate\Routing\Router:prepareResponse in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php:658 #47 Illuminate\Routing\Router:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 #46 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/app/Http/Middleware/AdminOperationLog.php:29 #45 App\Http\Middleware\AdminOperationLog:handle in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #44 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #43 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 #42 Illuminate\Routing\Middleware\SubstituteBindings:handle in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #41 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #40 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:68 #39 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken:handle in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #38 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #37 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 #36 Illuminate\View\Middleware\ShareErrorsFromSession:handle in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #35 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #34 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:63 #33 Illuminate\Session\Middleware\StartSession:handle in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #32 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #31 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 #30 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #29 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #28 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:66 #27 Illuminate\Cookie\Middleware\EncryptCookies:handle in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #26 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #25 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 #24 Illuminate\Pipeline\Pipeline:then in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php:660 #23 Illuminate\Routing\Router:runRouteWithinStack in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php:635 #22 Illuminate\Routing\Router:runRoute in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php:601 #21 Illuminate\Routing\Router:dispatchToRoute in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php:590 #20 Illuminate\Routing\Router:dispatch in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:176 #19 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 #18 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/fideloper/proxy/src/TrustProxies.php:56 #17 Fideloper\Proxy\TrustProxies:handle in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #16 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #15 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 #14 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #13 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #12 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 #11 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #10 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #9 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 #8 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #7 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #6 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:46 #5 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode:handle in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 #4 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 #3 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 #2 Illuminate\Pipeline\Pipeline:then in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:151 #1 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /www/wwwroot/www.h5tpl.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116 #0 Illuminate\Foundation\Http\Kernel:handle in /www/wwwroot/www.h5tpl.com/public/index.php:55
Application frames (7) All frames (68)
67
ErrorException
/
storage
/
framework
/
views
/
8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php
3
66
ErrorException
/
storage
/
framework
/
views
/
8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php
3
65
ErrorException
/
storage
/
framework
/
views
/
8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php
3
64
Illuminate
\
Foundation
\
Bootstrap
\
HandleExceptions
handleError
/
storage
/
framework
/
views
/
8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php
3
63
include
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Engines
/
PhpEngine.php
43
62
Illuminate
\
View
\
Engines
\
PhpEngine
evaluatePath
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Engines
/
CompilerEngine.php
59
61
Illuminate
\
View
\
Engines
\
CompilerEngine
get
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
View.php
137
60
Illuminate
\
View
\
View
getContents
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
View.php
120
59
Illuminate
\
View
\
View
renderContents
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
View.php
85
58
Illuminate
\
View
\
View
render
/
storage
/
framework
/
views
/
0a3e26761f636faef770193c4379a3ee2c6dba9d.php
2
57
include
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Engines
/
PhpEngine.php
43
56
Illuminate
\
View
\
Engines
\
PhpEngine
evaluatePath
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Engines
/
CompilerEngine.php
59
55
Illuminate
\
View
\
Engines
\
CompilerEngine
get
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
View.php
137
54
Illuminate
\
View
\
View
getContents
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
View.php
120
53
Illuminate
\
View
\
View
renderContents
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
View.php
85
52
Illuminate
\
View
\
View
render
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Http
/
Response.php
42
51
Illuminate
\
Http
\
Response
setContent
/
vendor
/
symfony
/
http-foundation
/
Response.php
206
50
Symfony
\
Component
\
HttpFoundation
\
Response
__construct
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
724
49
Illuminate
\
Routing
\
Router
toResponse
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
698
48
Illuminate
\
Routing
\
Router
prepareResponse
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
658
47
Illuminate
\
Routing
\
Router
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
30
46
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
app
/
Http
/
Middleware
/
AdminOperationLog.php
29
45
App
\
Http
\
Middleware
\
AdminOperationLog
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
44
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
43
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Middleware
/
SubstituteBindings.php
41
42
Illuminate
\
Routing
\
Middleware
\
SubstituteBindings
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
41
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
40
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
VerifyCsrfToken.php
68
39
Illuminate
\
Foundation
\
Http
\
Middleware
\
VerifyCsrfToken
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
38
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
37
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Middleware
/
ShareErrorsFromSession.php
49
36
Illuminate
\
View
\
Middleware
\
ShareErrorsFromSession
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
35
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
34
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
63
33
Illuminate
\
Session
\
Middleware
\
StartSession
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
32
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
31
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
AddQueuedCookiesToResponse.php
37
30
Illuminate
\
Cookie
\
Middleware
\
AddQueuedCookiesToResponse
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
29
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
28
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
EncryptCookies.php
66
27
Illuminate
\
Cookie
\
Middleware
\
EncryptCookies
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
26
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
25
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
102
24
Illuminate
\
Pipeline
\
Pipeline
then
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
660
23
Illuminate
\
Routing
\
Router
runRouteWithinStack
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
635
22
Illuminate
\
Routing
\
Router
runRoute
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
601
21
Illuminate
\
Routing
\
Router
dispatchToRoute
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
590
20
Illuminate
\
Routing
\
Router
dispatch
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
176
19
Illuminate
\
Foundation
\
Http
\
Kernel
Illuminate
\
Foundation
\
Http
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
30
18
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
fideloper
/
proxy
/
src
/
TrustProxies.php
56
17
Fideloper
\
Proxy
\
TrustProxies
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
16
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
15
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
30
14
Illuminate
\
Foundation
\
Http
\
Middleware
\
TransformsRequest
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
13
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
12
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
30
11
Illuminate
\
Foundation
\
Http
\
Middleware
\
TransformsRequest
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
10
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
9
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
ValidatePostSize.php
27
8
Illuminate
\
Foundation
\
Http
\
Middleware
\
ValidatePostSize
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
7
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
6
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
CheckForMaintenanceMode.php
46
5
Illuminate
\
Foundation
\
Http
\
Middleware
\
CheckForMaintenanceMode
handle
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149
4
Illuminate
\
Pipeline
\
Pipeline
Illuminate
\
Pipeline
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53
3
Illuminate
\
Routing
\
Pipeline
Illuminate
\
Routing
\
{closure}
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
102
2
Illuminate
\
Pipeline
\
Pipeline
then
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
151
1
Illuminate
\
Foundation
\
Http
\
Kernel
sendRequestThroughRouter
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
116
0
Illuminate
\
Foundation
\
Http
\
Kernel
handle
/
public
/
index.php
55
/
www
/
wwwroot
/
www.h5tpl.com
/
storage
/
framework
/
views
/
8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php
<head>
    <meta charset="utf-8">
    <title><?php echo e($seoInfo['title']); ?></title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="keywords" content="<?php echo e($seoInfo['keywords']); ?>">
    <meta name="description" content="<?php echo e($seoInfo['description']); ?>">
    <link rel="stylesheet" href="/static/home/layui/css/layui.css">
    <link rel="stylesheet" href="/static/home/css/global.css">
</head>
Arguments
  1. "Undefined variable: seoInfo (View: /www/wwwroot/www.h5tpl.com/resources/views/home/components/header.blade.php) (View: /www/wwwroot/www.h5tpl.com/resources/views/home/components/header.blade.php)"
    
/
www
/
wwwroot
/
www.h5tpl.com
/
storage
/
framework
/
views
/
8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php
<head>
    <meta charset="utf-8">
    <title><?php echo e($seoInfo['title']); ?></title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="keywords" content="<?php echo e($seoInfo['keywords']); ?>">
    <meta name="description" content="<?php echo e($seoInfo['description']); ?>">
    <link rel="stylesheet" href="/static/home/layui/css/layui.css">
    <link rel="stylesheet" href="/static/home/css/global.css">
</head>
Arguments
  1. "Undefined variable: seoInfo (View: /www/wwwroot/www.h5tpl.com/resources/views/home/components/header.blade.php)"
    
Exception message: Undefined variable: seoInfo (View: /www/wwwroot/www.h5tpl.com/resources/views/home/components/header.blade.php)
/
www
/
wwwroot
/
www.h5tpl.com
/
storage
/
framework
/
views
/
8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php
<head>
    <meta charset="utf-8">
    <title><?php echo e($seoInfo['title']); ?></title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="keywords" content="<?php echo e($seoInfo['keywords']); ?>">
    <meta name="description" content="<?php echo e($seoInfo['description']); ?>">
    <link rel="stylesheet" href="/static/home/layui/css/layui.css">
    <link rel="stylesheet" href="/static/home/css/global.css">
</head>
Arguments
  1. "Undefined variable: seoInfo"
    
Exception message: Undefined variable: seoInfo
/
www
/
wwwroot
/
www.h5tpl.com
/
storage
/
framework
/
views
/
8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php
<head>
    <meta charset="utf-8">
    <title><?php echo e($seoInfo['title']); ?></title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="keywords" content="<?php echo e($seoInfo['keywords']); ?>">
    <meta name="description" content="<?php echo e($seoInfo['description']); ?>">
    <link rel="stylesheet" href="/static/home/layui/css/layui.css">
    <link rel="stylesheet" href="/static/home/css/global.css">
</head>
Arguments
  1. 8
    
  2. "Undefined variable: seoInfo"
    
  3. "/www/wwwroot/www.h5tpl.com/storage/framework/views/8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php"
    
  4. 3
    
  5. array:8 [
      "__path" => "/www/wwwroot/www.h5tpl.com/storage/framework/views/8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php"
      "__data" => array:6 [
        "__env" => Factory {#148}
        "app" => Application {#2}
        "UeditorLangFile" => "/laravel-u-editor/lang/zh-cn/zh-cn.js"
        "errors" => ViewErrorBag {#434}
        "obLevel" => 1
        "info" => array:14 [
          "id" => 209
          "category_id" => 3
          "name" => "Ajax、JavaScript和PHP编程导学 ((英)Phil Ballard) 中文PDF扫描版"
          "imgurl" => "e370f49d49484993b09d60e22fe89102.png"
          "baiduurl" => "http://pan.baidu.com/s/1c2IYYtE"
          "baidupwd" => "7njw"
          "description" => """
            《Ajax、JavaScripthe和PHP编程导学》详尽地介绍了如何使mAjax、JavaScript和PHP进行web开发。全书分为6个部分,包括:Web基础知识回顾、使用JavaScript Web脚本编程基础、Ajax基础、使用PHP的服务器端脚本编程、较复杂的Ajax技术、Ajax32具和资源。另外,附录列出了JavaScript、PHP和Ajax Web站点,可方便开发人员使用。\n
            《Ajax.JavaScripthe和PHP编程导学》非常适合Web应用开发人员及网页设计人员参考。
            """
          "content" => "<p><strong><span style="font-size: 12px; font-family: 宋体, SimSun;">Ajax、JavaScript和PHP编程导学 ((英)Phil Ballard) 中文 数据目录:</span></strong></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">译者序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">前言</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第一部分 Web基础知识回顾</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第1章 Web的运作</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.1 Internet简史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.1.2 万维网</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.1 什么是Web页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.2 Web服务器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.3 服务器端编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.4 Web浏览器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.5 客户端编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.6 DNS-域名服务器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.3 HTTP简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4 HTTP请求和响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4.1 HTTP请求</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4.2 HTTP响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.5 HTML表单</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.6 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第2章 用HTML和CSS编写样式化页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1 HTML简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.1 什么是HTML 1</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.2 编写HTML需要什么工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.3 第一个HTML文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2 HTML页面的元素</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.1 文档的标题head</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.2 文档正文body</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.3 为HTML元素添加属性 4</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.4 图像</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.5 表</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.6 超链接</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.3 HTML页面更高级知识</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.4 一些有用的HTML标签</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.5 添加自己的样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.6 定义规则</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.7 添加一些类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8 应用样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.1 嵌入样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.2 链接样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.3 内联样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.4 层叠优先级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9 使用样式格式化文本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9.1 链接样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9.2 颜色样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.10 添加线条</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.11 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第3章 剖析Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1 为何需要Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1.1 传统客户端-服务器交互和Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1.2 富用户体验</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.2 Ajax简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3 Ajax的必备部分</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.1 XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.2 与服务器通信</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.3 服务器上发生了什么</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.4 处理服务器响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.5 其他常见任务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.4 整合</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第二部分 JavaScript Web脚本编程基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第4章 用JavaScript创建简单脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1 脚本编程工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1.1 文本编辑器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1.2 浏览器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.2 使用JavaScript显示时间</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.3 开始脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4 添加JavaScript语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4.1 把日期存储到变量中</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4.2 计算结果</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.5 创建输出</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.6 把脚本添加到Web页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7 测试脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.1 修改脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.2 处理JavaScript错误</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.3 语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.4 使用函数组合任务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.5 变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.6 条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.7 循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.8 事件处理程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.9 哪个脚本先运行</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8 JavaScript语法规则</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.1 区分大小写</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.2 变量名、对象名和函数名</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.3 保留字</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.4 空白</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.9 使用注释</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.10 JavaScript最佳实践</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.11 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第5章 使用文档对象模型(DOM)</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.1 理解对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2 理解DOM</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2.1 DOM的历史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2.2 DOM层级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3 操作Web文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.1 获取有关文档的信息</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.2 把文本写入一个文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.3 使用链接和锚点</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.4 访问浏览器历史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.5 使用location对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.6 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第6章 使用变量、字符串和数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.1 使用变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.2 理解表达式和操作符</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.3 JavaScript中的数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.4 数据类型之间的转换</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.5 使用String对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.6 操作子字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.7 使用数值数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.8 使用字符串数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.9 数值数组排序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.10 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第7章 使用函数和对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.1 使用函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.2 对象简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.3 使用对象来简化脚本编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.4 扩展内建的对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第8章 使用条件和循环来控制流程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.1 if语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.2 使用简捷条件表达式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.3 使用if和else测试多个条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.4 使用带有switch的多个条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.5 使用for循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.6 使用while循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.7 使用do...while循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.8 使用循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.9 遍历对象属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.10 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第9章 使用内建函数和库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.1 使用Math对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.2 使用Math函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.3 使用with关键字</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.4 使用Date</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.5 使用第三方库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.6 其他的库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.7 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第三部分 Ajax基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第10章 Ajax的核心-XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.1 XMLHTTPRequest简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.2 创建XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第11章 与服务器通信</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.1 发送服务器请求</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.2 检测服务器状态</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.3 回调函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第12章 使用返回的数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.1 responseText和responseXML属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.2 解析responseXML</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.3 提供用户反馈</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第13章 第一个Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.1 构建Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.2 HTML文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.3 添加JavaScript</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.4 综合应用</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第四部分 使用PHP的服务器端脚本编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第14章 认识PHP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.1 PHP基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.2 第一个PHP脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第15章 变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.1 理解变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.2 数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.3 使用数值</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.4 数值数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.5 数值函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.6 使用字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.7 格式化字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.8 字符串函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.9 使用数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.10 数组函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.11 日期格式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.12 使用时间戳</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.13 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第16章 流程控制</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.1 条件语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.2 循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第17章 函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.1 使用函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.2 参数和返回值</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.3 使用库文件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第18章 使用类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.1 面向对象的PHP编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.2 什么是类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.3 创建和使用对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第五部分 较复杂的Ajax技术</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第19章 返回文本数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">19.1 从responseText属性获取更多</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">19.2 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第20章 AHAH-异步HTML和HTTP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.1 AHAH简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.2 为AHAH创建一个较小的库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.3 使用myAHAHlib.js</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第21章 返回XML数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.1 添加Ajax中的“x”</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.2 responseXML属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.3 项目-一个RSS新闻阅读器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第22章 Web服务器和REST及SOAP协议</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.1 Web服务简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.2 REST-Representational State Transfer</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.3 使用REST</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.4 使用SOAP的Web服务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.5 SOAP协议</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.6 使用Ajax和SOAP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.7 再谈SOAP和REST</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.8 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第23章 用于Ajax的JavaScript库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.1 一个Ajax库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.2 回顾myAHAHlib.js</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.3 实现库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.4 使用库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第24章 Ajax陷阱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.1 常见Ajax错误</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.2 Back按钮</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.3 书签和链接</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.4 告诉用户正在发生什么</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.5 让Ajax优雅降级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.6 处理搜索引擎蜘蛛</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.7 指出活动页面元素</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.8 不要在不合适的时候使用Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.9 安全性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.10 跨多平台测试代码</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.11 Ajax不能弥补糟糕的设计</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.12 一些编程陷阱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.12.3 转义内容</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.13 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第六部分 Ajax工具和资源</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第25章 prototype.js工具箱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.1 prototype.js简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.2 包装XMLHTTPRequest-Ajax对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.3 示例项目-股票价格阅读器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第26章 使用Rico</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.1 Rico简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.2 Rico的其他界面工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第27章 使用Script.aculo.us</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.1 下载库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.2 包含文件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.3 使用效果</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.4 构建脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第28章 使用XOAD</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1 XOAD简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1.1 下载和安装XOAD</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1.2 一个简单的XOAD页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.2 XOAD HTML</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.3 XOAD_HTML高级编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">附录 JavaScript、PHP和Ajax Web站点</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">术语表</span></p><p><br/></p>"
          "frequency" => 1
          "click" => 110
          "dclick" => 10
          "created_at" => "2019-07-30 16:37:11"
          "updated_at" => "2024-03-13 20:09:40"
          "category_name" => "php"
        ]
      ]
      "obLevel" => 3
      "__env" => Factory {#148}
      "app" => Application {#2}
      "UeditorLangFile" => "/laravel-u-editor/lang/zh-cn/zh-cn.js"
      "errors" => ViewErrorBag {#434}
      "info" => array:14 [
        "id" => 209
        "category_id" => 3
        "name" => "Ajax、JavaScript和PHP编程导学 ((英)Phil Ballard) 中文PDF扫描版"
        "imgurl" => "e370f49d49484993b09d60e22fe89102.png"
        "baiduurl" => "http://pan.baidu.com/s/1c2IYYtE"
        "baidupwd" => "7njw"
        "description" => """
          《Ajax、JavaScripthe和PHP编程导学》详尽地介绍了如何使mAjax、JavaScript和PHP进行web开发。全书分为6个部分,包括:Web基础知识回顾、使用JavaScript Web脚本编程基础、Ajax基础、使用PHP的服务器端脚本编程、较复杂的Ajax技术、Ajax32具和资源。另外,附录列出了JavaScript、PHP和Ajax Web站点,可方便开发人员使用。\n
          《Ajax.JavaScripthe和PHP编程导学》非常适合Web应用开发人员及网页设计人员参考。
          """
        "content" => "<p><strong><span style="font-size: 12px; font-family: 宋体, SimSun;">Ajax、JavaScript和PHP编程导学 ((英)Phil Ballard) 中文 数据目录:</span></strong></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">译者序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">前言</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第一部分 Web基础知识回顾</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第1章 Web的运作</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.1 Internet简史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.1.2 万维网</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.1 什么是Web页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.2 Web服务器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.3 服务器端编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.4 Web浏览器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.5 客户端编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.6 DNS-域名服务器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.3 HTTP简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4 HTTP请求和响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4.1 HTTP请求</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4.2 HTTP响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.5 HTML表单</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.6 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第2章 用HTML和CSS编写样式化页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1 HTML简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.1 什么是HTML 1</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.2 编写HTML需要什么工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.3 第一个HTML文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2 HTML页面的元素</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.1 文档的标题head</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.2 文档正文body</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.3 为HTML元素添加属性 4</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.4 图像</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.5 表</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.6 超链接</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.3 HTML页面更高级知识</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.4 一些有用的HTML标签</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.5 添加自己的样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.6 定义规则</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.7 添加一些类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8 应用样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.1 嵌入样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.2 链接样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.3 内联样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.4 层叠优先级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9 使用样式格式化文本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9.1 链接样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9.2 颜色样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.10 添加线条</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.11 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第3章 剖析Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1 为何需要Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1.1 传统客户端-服务器交互和Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1.2 富用户体验</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.2 Ajax简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3 Ajax的必备部分</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.1 XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.2 与服务器通信</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.3 服务器上发生了什么</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.4 处理服务器响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.5 其他常见任务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.4 整合</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第二部分 JavaScript Web脚本编程基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第4章 用JavaScript创建简单脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1 脚本编程工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1.1 文本编辑器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1.2 浏览器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.2 使用JavaScript显示时间</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.3 开始脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4 添加JavaScript语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4.1 把日期存储到变量中</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4.2 计算结果</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.5 创建输出</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.6 把脚本添加到Web页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7 测试脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.1 修改脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.2 处理JavaScript错误</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.3 语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.4 使用函数组合任务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.5 变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.6 条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.7 循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.8 事件处理程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.9 哪个脚本先运行</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8 JavaScript语法规则</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.1 区分大小写</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.2 变量名、对象名和函数名</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.3 保留字</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.4 空白</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.9 使用注释</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.10 JavaScript最佳实践</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.11 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第5章 使用文档对象模型(DOM)</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.1 理解对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2 理解DOM</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2.1 DOM的历史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2.2 DOM层级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3 操作Web文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.1 获取有关文档的信息</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.2 把文本写入一个文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.3 使用链接和锚点</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.4 访问浏览器历史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.5 使用location对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.6 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第6章 使用变量、字符串和数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.1 使用变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.2 理解表达式和操作符</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.3 JavaScript中的数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.4 数据类型之间的转换</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.5 使用String对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.6 操作子字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.7 使用数值数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.8 使用字符串数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.9 数值数组排序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.10 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第7章 使用函数和对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.1 使用函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.2 对象简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.3 使用对象来简化脚本编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.4 扩展内建的对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第8章 使用条件和循环来控制流程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.1 if语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.2 使用简捷条件表达式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.3 使用if和else测试多个条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.4 使用带有switch的多个条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.5 使用for循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.6 使用while循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.7 使用do...while循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.8 使用循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.9 遍历对象属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.10 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第9章 使用内建函数和库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.1 使用Math对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.2 使用Math函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.3 使用with关键字</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.4 使用Date</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.5 使用第三方库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.6 其他的库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.7 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第三部分 Ajax基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第10章 Ajax的核心-XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.1 XMLHTTPRequest简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.2 创建XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第11章 与服务器通信</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.1 发送服务器请求</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.2 检测服务器状态</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.3 回调函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第12章 使用返回的数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.1 responseText和responseXML属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.2 解析responseXML</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.3 提供用户反馈</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第13章 第一个Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.1 构建Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.2 HTML文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.3 添加JavaScript</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.4 综合应用</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第四部分 使用PHP的服务器端脚本编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第14章 认识PHP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.1 PHP基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.2 第一个PHP脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第15章 变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.1 理解变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.2 数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.3 使用数值</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.4 数值数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.5 数值函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.6 使用字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.7 格式化字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.8 字符串函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.9 使用数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.10 数组函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.11 日期格式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.12 使用时间戳</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.13 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第16章 流程控制</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.1 条件语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.2 循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第17章 函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.1 使用函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.2 参数和返回值</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.3 使用库文件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第18章 使用类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.1 面向对象的PHP编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.2 什么是类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.3 创建和使用对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第五部分 较复杂的Ajax技术</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第19章 返回文本数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">19.1 从responseText属性获取更多</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">19.2 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第20章 AHAH-异步HTML和HTTP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.1 AHAH简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.2 为AHAH创建一个较小的库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.3 使用myAHAHlib.js</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第21章 返回XML数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.1 添加Ajax中的“x”</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.2 responseXML属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.3 项目-一个RSS新闻阅读器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第22章 Web服务器和REST及SOAP协议</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.1 Web服务简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.2 REST-Representational State Transfer</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.3 使用REST</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.4 使用SOAP的Web服务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.5 SOAP协议</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.6 使用Ajax和SOAP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.7 再谈SOAP和REST</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.8 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第23章 用于Ajax的JavaScript库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.1 一个Ajax库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.2 回顾myAHAHlib.js</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.3 实现库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.4 使用库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第24章 Ajax陷阱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.1 常见Ajax错误</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.2 Back按钮</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.3 书签和链接</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.4 告诉用户正在发生什么</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.5 让Ajax优雅降级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.6 处理搜索引擎蜘蛛</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.7 指出活动页面元素</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.8 不要在不合适的时候使用Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.9 安全性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.10 跨多平台测试代码</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.11 Ajax不能弥补糟糕的设计</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.12 一些编程陷阱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.12.3 转义内容</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.13 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第六部分 Ajax工具和资源</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第25章 prototype.js工具箱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.1 prototype.js简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.2 包装XMLHTTPRequest-Ajax对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.3 示例项目-股票价格阅读器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第26章 使用Rico</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.1 Rico简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.2 Rico的其他界面工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第27章 使用Script.aculo.us</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.1 下载库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.2 包含文件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.3 使用效果</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.4 构建脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第28章 使用XOAD</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1 XOAD简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1.1 下载和安装XOAD</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1.2 一个简单的XOAD页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.2 XOAD HTML</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.3 XOAD_HTML高级编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">附录 JavaScript、PHP和Ajax Web站点</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">术语表</span></p><p><br/></p>"
        "frequency" => 1
        "click" => 110
        "dclick" => 10
        "created_at" => "2019-07-30 16:37:11"
        "updated_at" => "2024-03-13 20:09:40"
        "category_name" => "php"
      ]
    ]
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Engines
/
PhpEngine.php
    /**
     * Get the evaluated contents of the view at the given path.
     *
     * @param  string  $__path
     * @param  array   $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Exception $e) {
            $this->handleViewException($e, $obLevel);
        } catch (Throwable $e) {
            $this->handleViewException(new FatalThrowableError($e), $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
Arguments
  1. "/www/wwwroot/www.h5tpl.com/storage/framework/views/8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php"
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Engines
/
CompilerEngine.php
     * @param  array   $data
     * @return string
     */
    public function get($path, array $data = [])
    {
        $this->lastCompiled[] = $path;
 
        // If this given view has expired, which means it has simply been edited since
        // it was last compiled, we will re-compile the views so we can evaluate a
        // fresh copy of the view. We'll pass the compiler the path of the view.
        if ($this->compiler->isExpired($path)) {
            $this->compiler->compile($path);
        }
 
        $compiled = $this->compiler->getCompiledPath($path);
 
        // Once we have the path to the compiled file, we will evaluate the paths with
        // typical PHP just like any other templates. We also keep a stack of views
        // which have been rendered for right exception messages to be generated.
        $results = $this->evaluatePath($compiled, $data);
 
        array_pop($this->lastCompiled);
 
        return $results;
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
        $e = new ErrorException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e);
 
        parent::handleViewException($e, $obLevel);
Arguments
  1. "/www/wwwroot/www.h5tpl.com/storage/framework/views/8b8f0b8cdbd085e47195e1740e2bddbaf7a47aa2.php"
    
  2. array:6 [
      "__env" => Factory {#148}
      "app" => Application {#2}
      "UeditorLangFile" => "/laravel-u-editor/lang/zh-cn/zh-cn.js"
      "errors" => ViewErrorBag {#434}
      "obLevel" => 1
      "info" => array:14 [
        "id" => 209
        "category_id" => 3
        "name" => "Ajax、JavaScript和PHP编程导学 ((英)Phil Ballard) 中文PDF扫描版"
        "imgurl" => "e370f49d49484993b09d60e22fe89102.png"
        "baiduurl" => "http://pan.baidu.com/s/1c2IYYtE"
        "baidupwd" => "7njw"
        "description" => """
          《Ajax、JavaScripthe和PHP编程导学》详尽地介绍了如何使mAjax、JavaScript和PHP进行web开发。全书分为6个部分,包括:Web基础知识回顾、使用JavaScript Web脚本编程基础、Ajax基础、使用PHP的服务器端脚本编程、较复杂的Ajax技术、Ajax32具和资源。另外,附录列出了JavaScript、PHP和Ajax Web站点,可方便开发人员使用。\n
          《Ajax.JavaScripthe和PHP编程导学》非常适合Web应用开发人员及网页设计人员参考。
          """
        "content" => "<p><strong><span style="font-size: 12px; font-family: 宋体, SimSun;">Ajax、JavaScript和PHP编程导学 ((英)Phil Ballard) 中文 数据目录:</span></strong></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">译者序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">前言</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第一部分 Web基础知识回顾</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第1章 Web的运作</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.1 Internet简史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.1.2 万维网</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.1 什么是Web页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.2 Web服务器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.3 服务器端编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.4 Web浏览器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.5 客户端编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.6 DNS-域名服务器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.3 HTTP简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4 HTTP请求和响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4.1 HTTP请求</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4.2 HTTP响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.5 HTML表单</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.6 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第2章 用HTML和CSS编写样式化页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1 HTML简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.1 什么是HTML 1</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.2 编写HTML需要什么工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.3 第一个HTML文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2 HTML页面的元素</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.1 文档的标题head</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.2 文档正文body</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.3 为HTML元素添加属性 4</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.4 图像</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.5 表</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.6 超链接</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.3 HTML页面更高级知识</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.4 一些有用的HTML标签</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.5 添加自己的样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.6 定义规则</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.7 添加一些类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8 应用样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.1 嵌入样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.2 链接样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.3 内联样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.4 层叠优先级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9 使用样式格式化文本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9.1 链接样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9.2 颜色样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.10 添加线条</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.11 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第3章 剖析Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1 为何需要Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1.1 传统客户端-服务器交互和Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1.2 富用户体验</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.2 Ajax简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3 Ajax的必备部分</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.1 XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.2 与服务器通信</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.3 服务器上发生了什么</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.4 处理服务器响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.5 其他常见任务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.4 整合</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第二部分 JavaScript Web脚本编程基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第4章 用JavaScript创建简单脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1 脚本编程工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1.1 文本编辑器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1.2 浏览器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.2 使用JavaScript显示时间</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.3 开始脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4 添加JavaScript语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4.1 把日期存储到变量中</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4.2 计算结果</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.5 创建输出</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.6 把脚本添加到Web页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7 测试脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.1 修改脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.2 处理JavaScript错误</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.3 语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.4 使用函数组合任务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.5 变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.6 条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.7 循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.8 事件处理程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.9 哪个脚本先运行</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8 JavaScript语法规则</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.1 区分大小写</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.2 变量名、对象名和函数名</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.3 保留字</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.4 空白</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.9 使用注释</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.10 JavaScript最佳实践</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.11 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第5章 使用文档对象模型(DOM)</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.1 理解对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2 理解DOM</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2.1 DOM的历史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2.2 DOM层级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3 操作Web文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.1 获取有关文档的信息</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.2 把文本写入一个文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.3 使用链接和锚点</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.4 访问浏览器历史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.5 使用location对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.6 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第6章 使用变量、字符串和数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.1 使用变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.2 理解表达式和操作符</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.3 JavaScript中的数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.4 数据类型之间的转换</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.5 使用String对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.6 操作子字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.7 使用数值数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.8 使用字符串数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.9 数值数组排序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.10 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第7章 使用函数和对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.1 使用函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.2 对象简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.3 使用对象来简化脚本编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.4 扩展内建的对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第8章 使用条件和循环来控制流程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.1 if语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.2 使用简捷条件表达式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.3 使用if和else测试多个条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.4 使用带有switch的多个条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.5 使用for循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.6 使用while循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.7 使用do...while循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.8 使用循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.9 遍历对象属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.10 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第9章 使用内建函数和库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.1 使用Math对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.2 使用Math函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.3 使用with关键字</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.4 使用Date</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.5 使用第三方库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.6 其他的库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.7 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第三部分 Ajax基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第10章 Ajax的核心-XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.1 XMLHTTPRequest简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.2 创建XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第11章 与服务器通信</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.1 发送服务器请求</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.2 检测服务器状态</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.3 回调函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第12章 使用返回的数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.1 responseText和responseXML属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.2 解析responseXML</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.3 提供用户反馈</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第13章 第一个Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.1 构建Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.2 HTML文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.3 添加JavaScript</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.4 综合应用</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第四部分 使用PHP的服务器端脚本编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第14章 认识PHP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.1 PHP基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.2 第一个PHP脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第15章 变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.1 理解变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.2 数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.3 使用数值</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.4 数值数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.5 数值函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.6 使用字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.7 格式化字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.8 字符串函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.9 使用数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.10 数组函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.11 日期格式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.12 使用时间戳</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.13 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第16章 流程控制</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.1 条件语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.2 循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第17章 函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.1 使用函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.2 参数和返回值</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.3 使用库文件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第18章 使用类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.1 面向对象的PHP编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.2 什么是类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.3 创建和使用对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第五部分 较复杂的Ajax技术</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第19章 返回文本数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">19.1 从responseText属性获取更多</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">19.2 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第20章 AHAH-异步HTML和HTTP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.1 AHAH简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.2 为AHAH创建一个较小的库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.3 使用myAHAHlib.js</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第21章 返回XML数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.1 添加Ajax中的“x”</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.2 responseXML属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.3 项目-一个RSS新闻阅读器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第22章 Web服务器和REST及SOAP协议</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.1 Web服务简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.2 REST-Representational State Transfer</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.3 使用REST</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.4 使用SOAP的Web服务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.5 SOAP协议</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.6 使用Ajax和SOAP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.7 再谈SOAP和REST</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.8 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第23章 用于Ajax的JavaScript库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.1 一个Ajax库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.2 回顾myAHAHlib.js</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.3 实现库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.4 使用库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第24章 Ajax陷阱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.1 常见Ajax错误</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.2 Back按钮</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.3 书签和链接</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.4 告诉用户正在发生什么</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.5 让Ajax优雅降级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.6 处理搜索引擎蜘蛛</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.7 指出活动页面元素</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.8 不要在不合适的时候使用Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.9 安全性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.10 跨多平台测试代码</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.11 Ajax不能弥补糟糕的设计</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.12 一些编程陷阱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.12.3 转义内容</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.13 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第六部分 Ajax工具和资源</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第25章 prototype.js工具箱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.1 prototype.js简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.2 包装XMLHTTPRequest-Ajax对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.3 示例项目-股票价格阅读器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第26章 使用Rico</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.1 Rico简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.2 Rico的其他界面工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第27章 使用Script.aculo.us</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.1 下载库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.2 包含文件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.3 使用效果</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.4 构建脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第28章 使用XOAD</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1 XOAD简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1.1 下载和安装XOAD</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1.2 一个简单的XOAD页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.2 XOAD HTML</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.3 XOAD_HTML高级编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">附录 JavaScript、PHP和Ajax Web站点</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">术语表</span></p><p><br/></p>"
        "frequency" => 1
        "click" => 110
        "dclick" => 10
        "created_at" => "2019-07-30 16:37:11"
        "updated_at" => "2024-03-13 20:09:40"
        "category_name" => "php"
      ]
    ]
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
View.php
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
     * Get the data bound to the view instance.
     *
     * @return array
     */
    protected function gatherData()
    {
        $data = array_merge($this->factory->getShared(), $this->data);
 
        foreach ($data as $key => $value) {
            if ($value instanceof Renderable) {
                $data[$key] = $value->render();
            }
        }
 
        return $data;
    }
 
Arguments
  1. "/www/wwwroot/www.h5tpl.com/resources/views/home/components/header.blade.php"
    
  2. array:6 [
      "__env" => Factory {#148}
      "app" => Application {#2}
      "UeditorLangFile" => "/laravel-u-editor/lang/zh-cn/zh-cn.js"
      "errors" => ViewErrorBag {#434}
      "obLevel" => 1
      "info" => array:14 [
        "id" => 209
        "category_id" => 3
        "name" => "Ajax、JavaScript和PHP编程导学 ((英)Phil Ballard) 中文PDF扫描版"
        "imgurl" => "e370f49d49484993b09d60e22fe89102.png"
        "baiduurl" => "http://pan.baidu.com/s/1c2IYYtE"
        "baidupwd" => "7njw"
        "description" => """
          《Ajax、JavaScripthe和PHP编程导学》详尽地介绍了如何使mAjax、JavaScript和PHP进行web开发。全书分为6个部分,包括:Web基础知识回顾、使用JavaScript Web脚本编程基础、Ajax基础、使用PHP的服务器端脚本编程、较复杂的Ajax技术、Ajax32具和资源。另外,附录列出了JavaScript、PHP和Ajax Web站点,可方便开发人员使用。\n
          《Ajax.JavaScripthe和PHP编程导学》非常适合Web应用开发人员及网页设计人员参考。
          """
        "content" => "<p><strong><span style="font-size: 12px; font-family: 宋体, SimSun;">Ajax、JavaScript和PHP编程导学 ((英)Phil Ballard) 中文 数据目录:</span></strong></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">译者序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">前言</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第一部分 Web基础知识回顾</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第1章 Web的运作</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.1 Internet简史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.1.2 万维网</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.1 什么是Web页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.2 Web服务器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.3 服务器端编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.4 Web浏览器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.5 客户端编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.6 DNS-域名服务器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.3 HTTP简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4 HTTP请求和响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4.1 HTTP请求</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4.2 HTTP响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.5 HTML表单</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.6 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第2章 用HTML和CSS编写样式化页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1 HTML简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.1 什么是HTML 1</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.2 编写HTML需要什么工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.3 第一个HTML文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2 HTML页面的元素</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.1 文档的标题head</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.2 文档正文body</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.3 为HTML元素添加属性 4</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.4 图像</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.5 表</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.6 超链接</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.3 HTML页面更高级知识</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.4 一些有用的HTML标签</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.5 添加自己的样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.6 定义规则</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.7 添加一些类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8 应用样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.1 嵌入样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.2 链接样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.3 内联样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.4 层叠优先级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9 使用样式格式化文本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9.1 链接样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9.2 颜色样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.10 添加线条</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.11 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第3章 剖析Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1 为何需要Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1.1 传统客户端-服务器交互和Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1.2 富用户体验</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.2 Ajax简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3 Ajax的必备部分</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.1 XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.2 与服务器通信</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.3 服务器上发生了什么</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.4 处理服务器响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.5 其他常见任务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.4 整合</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第二部分 JavaScript Web脚本编程基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第4章 用JavaScript创建简单脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1 脚本编程工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1.1 文本编辑器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1.2 浏览器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.2 使用JavaScript显示时间</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.3 开始脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4 添加JavaScript语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4.1 把日期存储到变量中</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4.2 计算结果</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.5 创建输出</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.6 把脚本添加到Web页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7 测试脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.1 修改脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.2 处理JavaScript错误</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.3 语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.4 使用函数组合任务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.5 变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.6 条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.7 循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.8 事件处理程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.9 哪个脚本先运行</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8 JavaScript语法规则</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.1 区分大小写</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.2 变量名、对象名和函数名</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.3 保留字</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.4 空白</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.9 使用注释</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.10 JavaScript最佳实践</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.11 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第5章 使用文档对象模型(DOM)</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.1 理解对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2 理解DOM</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2.1 DOM的历史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2.2 DOM层级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3 操作Web文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.1 获取有关文档的信息</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.2 把文本写入一个文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.3 使用链接和锚点</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.4 访问浏览器历史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.5 使用location对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.6 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第6章 使用变量、字符串和数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.1 使用变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.2 理解表达式和操作符</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.3 JavaScript中的数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.4 数据类型之间的转换</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.5 使用String对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.6 操作子字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.7 使用数值数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.8 使用字符串数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.9 数值数组排序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.10 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第7章 使用函数和对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.1 使用函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.2 对象简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.3 使用对象来简化脚本编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.4 扩展内建的对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第8章 使用条件和循环来控制流程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.1 if语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.2 使用简捷条件表达式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.3 使用if和else测试多个条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.4 使用带有switch的多个条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.5 使用for循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.6 使用while循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.7 使用do...while循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.8 使用循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.9 遍历对象属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.10 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第9章 使用内建函数和库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.1 使用Math对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.2 使用Math函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.3 使用with关键字</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.4 使用Date</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.5 使用第三方库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.6 其他的库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.7 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第三部分 Ajax基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第10章 Ajax的核心-XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.1 XMLHTTPRequest简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.2 创建XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第11章 与服务器通信</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.1 发送服务器请求</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.2 检测服务器状态</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.3 回调函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第12章 使用返回的数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.1 responseText和responseXML属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.2 解析responseXML</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.3 提供用户反馈</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第13章 第一个Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.1 构建Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.2 HTML文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.3 添加JavaScript</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.4 综合应用</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第四部分 使用PHP的服务器端脚本编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第14章 认识PHP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.1 PHP基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.2 第一个PHP脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第15章 变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.1 理解变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.2 数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.3 使用数值</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.4 数值数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.5 数值函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.6 使用字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.7 格式化字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.8 字符串函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.9 使用数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.10 数组函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.11 日期格式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.12 使用时间戳</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.13 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第16章 流程控制</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.1 条件语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.2 循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第17章 函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.1 使用函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.2 参数和返回值</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.3 使用库文件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第18章 使用类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.1 面向对象的PHP编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.2 什么是类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.3 创建和使用对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第五部分 较复杂的Ajax技术</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第19章 返回文本数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">19.1 从responseText属性获取更多</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">19.2 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第20章 AHAH-异步HTML和HTTP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.1 AHAH简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.2 为AHAH创建一个较小的库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.3 使用myAHAHlib.js</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第21章 返回XML数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.1 添加Ajax中的“x”</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.2 responseXML属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.3 项目-一个RSS新闻阅读器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第22章 Web服务器和REST及SOAP协议</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.1 Web服务简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.2 REST-Representational State Transfer</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.3 使用REST</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.4 使用SOAP的Web服务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.5 SOAP协议</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.6 使用Ajax和SOAP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.7 再谈SOAP和REST</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.8 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第23章 用于Ajax的JavaScript库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.1 一个Ajax库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.2 回顾myAHAHlib.js</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.3 实现库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.4 使用库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第24章 Ajax陷阱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.1 常见Ajax错误</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.2 Back按钮</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.3 书签和链接</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.4 告诉用户正在发生什么</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.5 让Ajax优雅降级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.6 处理搜索引擎蜘蛛</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.7 指出活动页面元素</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.8 不要在不合适的时候使用Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.9 安全性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.10 跨多平台测试代码</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.11 Ajax不能弥补糟糕的设计</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.12 一些编程陷阱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.12.3 转义内容</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.13 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第六部分 Ajax工具和资源</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第25章 prototype.js工具箱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.1 prototype.js简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.2 包装XMLHTTPRequest-Ajax对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.3 示例项目-股票价格阅读器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第26章 使用Rico</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.1 Rico简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.2 Rico的其他界面工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第27章 使用Script.aculo.us</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.1 下载库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.2 包含文件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.3 使用效果</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.4 构建脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第28章 使用XOAD</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1 XOAD简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1.1 下载和安装XOAD</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1.2 一个简单的XOAD页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.2 XOAD HTML</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.3 XOAD_HTML高级编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">附录 JavaScript、PHP和Ajax Web站点</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">术语表</span></p><p><br/></p>"
        "frequency" => 1
        "click" => 110
        "dclick" => 10
        "created_at" => "2019-07-30 16:37:11"
        "updated_at" => "2024-03-13 20:09:40"
        "category_name" => "php"
      ]
    ]
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
View.php
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
     */
    protected function renderContents()
    {
        // We will keep track of the amount of views being rendered so we can flush
        // the section after the complete rendering operation is done. This will
        // clear out the sections for any separate views that may be rendered.
        $this->factory->incrementRender();
 
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
View.php
        $this->view = $view;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
 
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
 
    /**
     * Get the string contents of the view.
     *
     * @param  callable|null  $callback
     * @return string
     *
     * @throws \Throwable
     */
    public function render(callable $callback = null)
    {
        try {
            $contents = $this->renderContents();
 
            $response = isset($callback) ? call_user_func($callback, $this, $contents) : null;
 
            // Once we have the contents of the view, we will flush the sections if we are
            // done rendering all views so that there is nothing left hanging over when
            // another view gets rendered in the future by the application developer.
            $this->factory->flushStateIfDoneRendering();
 
            return ! is_null($response) ? $response : $contents;
        } catch (Exception $e) {
            $this->factory->flushState();
 
            throw $e;
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
/
www
/
wwwroot
/
www.h5tpl.com
/
storage
/
framework
/
views
/
0a3e26761f636faef770193c4379a3ee2c6dba9d.php
<?php $__env->startSection('header'); ?>
    <?php echo $__env->make('home/components/header', [], array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>
<?php $__env->stopSection(); ?>
<?php $__env->startSection('nav'); ?>
    <?php echo $__env->make('home/components/nav', [], array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>
<?php $__env->stopSection(); ?>
<?php $__env->startSection('sub-nav'); ?>
    <?php echo $__env->make('home/components/sub-nav', [], array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>
<?php $__env->stopSection(); ?>
<?php $__env->startSection('content'); ?>
    <div class="layui-col-md8 content detail">
        <div class="fly-panel detail-box">
            <h1><?php echo e($info['name']); ?></h1>
            <div class="fly-detail-info">
                <a href="<?php echo e(path('ebook', ['cid' => $info['category_id']])); ?>">
                    <span class="layui-badge layui-bg-red"><?php echo e($info['category_name']); ?></span>
                </a>
                <span class="fly-list-nums"> 
                    <a href="#comment"><i class="iconfont" title="回答">&#xe60c;</i> 66</a>
                    <i class="iconfont" title="人气">&#xe60b;</i> <?php echo e($info['click']); ?>
 
                </span>
            </div>
            <div class="detail-about" style="padding-left: 15px;color: #FF7200"><?php echo e($info['description']); ?></div>
            <pre>#下载地址:<a href="<?php echo e($info['baiduurl']); ?>">百度云下载</a>  密码: <?php echo e($info['baidupwd']); ?></pre>
            <div class="detail-body photos">
                <pre><p><?php echo $info['content']; ?></p></pre>
            </div>
        </div>
        <?php echo $__env->make('home/components/comment', [], array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>
    </div>
<?php $__env->stopSection(); ?>
<?php $__env->startSection('hot-right'); ?>
    <?php echo $__env->make('home/components/hot-right', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>
<?php $__env->stopSection(); ?>
<?php $__env->startSection('sign'); ?>
    <!-- <?php echo $__env->make('home/components/sign', [], array_except(get_defined_vars(), array('__data', '__path')))->render(); ?> -->
<?php $__env->stopSection(); ?>
<?php $__env->startSection('imglogo-right'); ?>
    <!-- <?php echo $__env->make('home/components/imglogo-right', [], array_except(get_defined_vars(), array('__data', '__path')))->render(); ?> -->
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Engines
/
PhpEngine.php
    /**
     * Get the evaluated contents of the view at the given path.
     *
     * @param  string  $__path
     * @param  array   $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Exception $e) {
            $this->handleViewException($e, $obLevel);
        } catch (Throwable $e) {
            $this->handleViewException(new FatalThrowableError($e), $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
Arguments
  1. "/www/wwwroot/www.h5tpl.com/storage/framework/views/0a3e26761f636faef770193c4379a3ee2c6dba9d.php"
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Engines
/
CompilerEngine.php
     * @param  array   $data
     * @return string
     */
    public function get($path, array $data = [])
    {
        $this->lastCompiled[] = $path;
 
        // If this given view has expired, which means it has simply been edited since
        // it was last compiled, we will re-compile the views so we can evaluate a
        // fresh copy of the view. We'll pass the compiler the path of the view.
        if ($this->compiler->isExpired($path)) {
            $this->compiler->compile($path);
        }
 
        $compiled = $this->compiler->getCompiledPath($path);
 
        // Once we have the path to the compiled file, we will evaluate the paths with
        // typical PHP just like any other templates. We also keep a stack of views
        // which have been rendered for right exception messages to be generated.
        $results = $this->evaluatePath($compiled, $data);
 
        array_pop($this->lastCompiled);
 
        return $results;
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Exception  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Exception
     */
    protected function handleViewException(Exception $e, $obLevel)
    {
        $e = new ErrorException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e);
 
        parent::handleViewException($e, $obLevel);
Arguments
  1. "/www/wwwroot/www.h5tpl.com/storage/framework/views/0a3e26761f636faef770193c4379a3ee2c6dba9d.php"
    
  2. array:5 [
      "__env" => Factory {#148}
      "app" => Application {#2}
      "UeditorLangFile" => "/laravel-u-editor/lang/zh-cn/zh-cn.js"
      "errors" => ViewErrorBag {#434}
      "info" => array:14 [
        "id" => 209
        "category_id" => 3
        "name" => "Ajax、JavaScript和PHP编程导学 ((英)Phil Ballard) 中文PDF扫描版"
        "imgurl" => "e370f49d49484993b09d60e22fe89102.png"
        "baiduurl" => "http://pan.baidu.com/s/1c2IYYtE"
        "baidupwd" => "7njw"
        "description" => """
          《Ajax、JavaScripthe和PHP编程导学》详尽地介绍了如何使mAjax、JavaScript和PHP进行web开发。全书分为6个部分,包括:Web基础知识回顾、使用JavaScript Web脚本编程基础、Ajax基础、使用PHP的服务器端脚本编程、较复杂的Ajax技术、Ajax32具和资源。另外,附录列出了JavaScript、PHP和Ajax Web站点,可方便开发人员使用。\n
          《Ajax.JavaScripthe和PHP编程导学》非常适合Web应用开发人员及网页设计人员参考。
          """
        "content" => "<p><strong><span style="font-size: 12px; font-family: 宋体, SimSun;">Ajax、JavaScript和PHP编程导学 ((英)Phil Ballard) 中文 数据目录:</span></strong></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">译者序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">前言</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第一部分 Web基础知识回顾</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第1章 Web的运作</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.1 Internet简史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.1.2 万维网</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.1 什么是Web页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.2 Web服务器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.3 服务器端编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.4 Web浏览器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.5 客户端编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.6 DNS-域名服务器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.3 HTTP简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4 HTTP请求和响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4.1 HTTP请求</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4.2 HTTP响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.5 HTML表单</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.6 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第2章 用HTML和CSS编写样式化页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1 HTML简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.1 什么是HTML 1</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.2 编写HTML需要什么工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.3 第一个HTML文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2 HTML页面的元素</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.1 文档的标题head</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.2 文档正文body</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.3 为HTML元素添加属性 4</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.4 图像</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.5 表</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.6 超链接</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.3 HTML页面更高级知识</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.4 一些有用的HTML标签</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.5 添加自己的样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.6 定义规则</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.7 添加一些类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8 应用样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.1 嵌入样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.2 链接样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.3 内联样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.4 层叠优先级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9 使用样式格式化文本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9.1 链接样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9.2 颜色样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.10 添加线条</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.11 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第3章 剖析Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1 为何需要Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1.1 传统客户端-服务器交互和Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1.2 富用户体验</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.2 Ajax简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3 Ajax的必备部分</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.1 XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.2 与服务器通信</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.3 服务器上发生了什么</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.4 处理服务器响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.5 其他常见任务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.4 整合</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第二部分 JavaScript Web脚本编程基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第4章 用JavaScript创建简单脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1 脚本编程工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1.1 文本编辑器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1.2 浏览器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.2 使用JavaScript显示时间</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.3 开始脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4 添加JavaScript语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4.1 把日期存储到变量中</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4.2 计算结果</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.5 创建输出</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.6 把脚本添加到Web页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7 测试脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.1 修改脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.2 处理JavaScript错误</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.3 语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.4 使用函数组合任务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.5 变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.6 条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.7 循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.8 事件处理程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.9 哪个脚本先运行</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8 JavaScript语法规则</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.1 区分大小写</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.2 变量名、对象名和函数名</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.3 保留字</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.4 空白</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.9 使用注释</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.10 JavaScript最佳实践</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.11 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第5章 使用文档对象模型(DOM)</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.1 理解对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2 理解DOM</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2.1 DOM的历史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2.2 DOM层级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3 操作Web文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.1 获取有关文档的信息</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.2 把文本写入一个文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.3 使用链接和锚点</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.4 访问浏览器历史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.5 使用location对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.6 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第6章 使用变量、字符串和数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.1 使用变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.2 理解表达式和操作符</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.3 JavaScript中的数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.4 数据类型之间的转换</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.5 使用String对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.6 操作子字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.7 使用数值数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.8 使用字符串数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.9 数值数组排序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.10 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第7章 使用函数和对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.1 使用函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.2 对象简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.3 使用对象来简化脚本编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.4 扩展内建的对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第8章 使用条件和循环来控制流程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.1 if语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.2 使用简捷条件表达式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.3 使用if和else测试多个条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.4 使用带有switch的多个条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.5 使用for循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.6 使用while循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.7 使用do...while循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.8 使用循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.9 遍历对象属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.10 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第9章 使用内建函数和库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.1 使用Math对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.2 使用Math函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.3 使用with关键字</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.4 使用Date</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.5 使用第三方库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.6 其他的库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.7 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第三部分 Ajax基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第10章 Ajax的核心-XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.1 XMLHTTPRequest简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.2 创建XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第11章 与服务器通信</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.1 发送服务器请求</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.2 检测服务器状态</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.3 回调函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第12章 使用返回的数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.1 responseText和responseXML属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.2 解析responseXML</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.3 提供用户反馈</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第13章 第一个Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.1 构建Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.2 HTML文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.3 添加JavaScript</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.4 综合应用</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第四部分 使用PHP的服务器端脚本编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第14章 认识PHP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.1 PHP基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.2 第一个PHP脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第15章 变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.1 理解变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.2 数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.3 使用数值</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.4 数值数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.5 数值函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.6 使用字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.7 格式化字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.8 字符串函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.9 使用数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.10 数组函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.11 日期格式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.12 使用时间戳</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.13 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第16章 流程控制</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.1 条件语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.2 循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第17章 函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.1 使用函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.2 参数和返回值</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.3 使用库文件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第18章 使用类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.1 面向对象的PHP编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.2 什么是类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.3 创建和使用对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第五部分 较复杂的Ajax技术</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第19章 返回文本数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">19.1 从responseText属性获取更多</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">19.2 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第20章 AHAH-异步HTML和HTTP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.1 AHAH简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.2 为AHAH创建一个较小的库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.3 使用myAHAHlib.js</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第21章 返回XML数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.1 添加Ajax中的“x”</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.2 responseXML属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.3 项目-一个RSS新闻阅读器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第22章 Web服务器和REST及SOAP协议</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.1 Web服务简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.2 REST-Representational State Transfer</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.3 使用REST</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.4 使用SOAP的Web服务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.5 SOAP协议</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.6 使用Ajax和SOAP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.7 再谈SOAP和REST</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.8 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第23章 用于Ajax的JavaScript库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.1 一个Ajax库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.2 回顾myAHAHlib.js</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.3 实现库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.4 使用库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第24章 Ajax陷阱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.1 常见Ajax错误</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.2 Back按钮</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.3 书签和链接</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.4 告诉用户正在发生什么</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.5 让Ajax优雅降级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.6 处理搜索引擎蜘蛛</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.7 指出活动页面元素</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.8 不要在不合适的时候使用Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.9 安全性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.10 跨多平台测试代码</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.11 Ajax不能弥补糟糕的设计</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.12 一些编程陷阱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.12.3 转义内容</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.13 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第六部分 Ajax工具和资源</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第25章 prototype.js工具箱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.1 prototype.js简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.2 包装XMLHTTPRequest-Ajax对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.3 示例项目-股票价格阅读器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第26章 使用Rico</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.1 Rico简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.2 Rico的其他界面工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第27章 使用Script.aculo.us</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.1 下载库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.2 包含文件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.3 使用效果</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.4 构建脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第28章 使用XOAD</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1 XOAD简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1.1 下载和安装XOAD</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1.2 一个简单的XOAD页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.2 XOAD HTML</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.3 XOAD_HTML高级编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">附录 JavaScript、PHP和Ajax Web站点</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">术语表</span></p><p><br/></p>"
        "frequency" => 1
        "click" => 110
        "dclick" => 10
        "created_at" => "2019-07-30 16:37:11"
        "updated_at" => "2024-03-13 20:09:40"
        "category_name" => "php"
      ]
    ]
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
View.php
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
     * Get the data bound to the view instance.
     *
     * @return array
     */
    protected function gatherData()
    {
        $data = array_merge($this->factory->getShared(), $this->data);
 
        foreach ($data as $key => $value) {
            if ($value instanceof Renderable) {
                $data[$key] = $value->render();
            }
        }
 
        return $data;
    }
 
Arguments
  1. "/www/wwwroot/www.h5tpl.com/resources/views/home/ebook/detail.blade.php"
    
  2. array:5 [
      "__env" => Factory {#148}
      "app" => Application {#2}
      "UeditorLangFile" => "/laravel-u-editor/lang/zh-cn/zh-cn.js"
      "errors" => ViewErrorBag {#434}
      "info" => array:14 [
        "id" => 209
        "category_id" => 3
        "name" => "Ajax、JavaScript和PHP编程导学 ((英)Phil Ballard) 中文PDF扫描版"
        "imgurl" => "e370f49d49484993b09d60e22fe89102.png"
        "baiduurl" => "http://pan.baidu.com/s/1c2IYYtE"
        "baidupwd" => "7njw"
        "description" => """
          《Ajax、JavaScripthe和PHP编程导学》详尽地介绍了如何使mAjax、JavaScript和PHP进行web开发。全书分为6个部分,包括:Web基础知识回顾、使用JavaScript Web脚本编程基础、Ajax基础、使用PHP的服务器端脚本编程、较复杂的Ajax技术、Ajax32具和资源。另外,附录列出了JavaScript、PHP和Ajax Web站点,可方便开发人员使用。\n
          《Ajax.JavaScripthe和PHP编程导学》非常适合Web应用开发人员及网页设计人员参考。
          """
        "content" => "<p><strong><span style="font-size: 12px; font-family: 宋体, SimSun;">Ajax、JavaScript和PHP编程导学 ((英)Phil Ballard) 中文 数据目录:</span></strong></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">译者序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">前言</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第一部分 Web基础知识回顾</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第1章 Web的运作</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.1 Internet简史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.1.2 万维网</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.1 什么是Web页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.2 Web服务器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.3 服务器端编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.4 Web浏览器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.5 客户端编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.2.6 DNS-域名服务器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.3 HTTP简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4 HTTP请求和响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4.1 HTTP请求</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.4.2 HTTP响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.5 HTML表单</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">1.6 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第2章 用HTML和CSS编写样式化页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1 HTML简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.1 什么是HTML 1</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.2 编写HTML需要什么工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.1.3 第一个HTML文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2 HTML页面的元素</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.1 文档的标题head</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.2 文档正文body</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.3 为HTML元素添加属性 4</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.4 图像</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.5 表</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.2.6 超链接</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.3 HTML页面更高级知识</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.4 一些有用的HTML标签</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.5 添加自己的样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.6 定义规则</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.7 添加一些类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8 应用样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.1 嵌入样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.2 链接样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.3 内联样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.8.4 层叠优先级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9 使用样式格式化文本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9.1 链接样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.9.2 颜色样式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.10 添加线条</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">2.11 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第3章 剖析Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1 为何需要Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1.1 传统客户端-服务器交互和Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.1.2 富用户体验</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.2 Ajax简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3 Ajax的必备部分</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.1 XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.2 与服务器通信</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.3 服务器上发生了什么</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.4 处理服务器响应</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.3.5 其他常见任务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.4 整合</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">3.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第二部分 JavaScript Web脚本编程基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第4章 用JavaScript创建简单脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1 脚本编程工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1.1 文本编辑器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.1.2 浏览器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.2 使用JavaScript显示时间</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.3 开始脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4 添加JavaScript语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4.1 把日期存储到变量中</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.4.2 计算结果</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.5 创建输出</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.6 把脚本添加到Web页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7 测试脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.1 修改脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.2 处理JavaScript错误</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.3 语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.4 使用函数组合任务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.5 变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.6 条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.7 循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.8 事件处理程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.7.9 哪个脚本先运行</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8 JavaScript语法规则</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.1 区分大小写</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.2 变量名、对象名和函数名</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.3 保留字</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.8.4 空白</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.9 使用注释</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.10 JavaScript最佳实践</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">4.11 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第5章 使用文档对象模型(DOM)</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.1 理解对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2 理解DOM</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2.1 DOM的历史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.2.2 DOM层级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3 操作Web文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.1 获取有关文档的信息</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.2 把文本写入一个文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.3.3 使用链接和锚点</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.4 访问浏览器历史</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.5 使用location对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">5.6 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第6章 使用变量、字符串和数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.1 使用变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.2 理解表达式和操作符</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.3 JavaScript中的数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.4 数据类型之间的转换</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.5 使用String对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.6 操作子字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.7 使用数值数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.8 使用字符串数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.9 数值数组排序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">6.10 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第7章 使用函数和对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.1 使用函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.2 对象简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.3 使用对象来简化脚本编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.4 扩展内建的对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">7.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第8章 使用条件和循环来控制流程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.1 if语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.2 使用简捷条件表达式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.3 使用if和else测试多个条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.4 使用带有switch的多个条件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.5 使用for循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.6 使用while循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.7 使用do...while循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.8 使用循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.9 遍历对象属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">8.10 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第9章 使用内建函数和库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.1 使用Math对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.2 使用Math函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.3 使用with关键字</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.4 使用Date</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.5 使用第三方库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.6 其他的库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">9.7 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第三部分 Ajax基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第10章 Ajax的核心-XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.1 XMLHTTPRequest简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.2 创建XMLHTTPRequest对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">10.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第11章 与服务器通信</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.1 发送服务器请求</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.2 检测服务器状态</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.3 回调函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">11.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第12章 使用返回的数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.1 responseText和responseXML属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.2 解析responseXML</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.3 提供用户反馈</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">12.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第13章 第一个Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.1 构建Ajax应用程序</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.2 HTML文档</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.3 添加JavaScript</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.4 综合应用</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">13.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第四部分 使用PHP的服务器端脚本编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第14章 认识PHP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.1 PHP基础</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.2 第一个PHP脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">14.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第15章 变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.1 理解变量</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.2 数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.3 使用数值</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.4 数值数据类型</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.5 数值函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.6 使用字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.7 格式化字符串</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.8 字符串函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.9 使用数组</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.10 数组函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.11 日期格式</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.12 使用时间戳</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">15.13 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第16章 流程控制</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.1 条件语句</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.2 循环</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">16.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第17章 函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.1 使用函数</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.2 参数和返回值</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.3 使用库文件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">17.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第18章 使用类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.1 面向对象的PHP编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.2 什么是类</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.3 创建和使用对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">18.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第五部分 较复杂的Ajax技术</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第19章 返回文本数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">19.1 从responseText属性获取更多</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">19.2 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第20章 AHAH-异步HTML和HTTP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.1 AHAH简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.2 为AHAH创建一个较小的库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.3 使用myAHAHlib.js</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">20.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第21章 返回XML数据</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.1 添加Ajax中的“x”</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.2 responseXML属性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.3 项目-一个RSS新闻阅读器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">21.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第22章 Web服务器和REST及SOAP协议</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.1 Web服务简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.2 REST-Representational State Transfer</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.3 使用REST</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.4 使用SOAP的Web服务</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.5 SOAP协议</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.6 使用Ajax和SOAP</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.7 再谈SOAP和REST</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">22.8 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第23章 用于Ajax的JavaScript库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.1 一个Ajax库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.2 回顾myAHAHlib.js</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.3 实现库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.4 使用库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">23.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第24章 Ajax陷阱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.1 常见Ajax错误</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.2 Back按钮</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.3 书签和链接</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.4 告诉用户正在发生什么</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.5 让Ajax优雅降级</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.6 处理搜索引擎蜘蛛</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.7 指出活动页面元素</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.8 不要在不合适的时候使用Ajax</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.9 安全性</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.10 跨多平台测试代码</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.11 Ajax不能弥补糟糕的设计</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.12 一些编程陷阱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.12.3 转义内容</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">24.13 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第六部分 Ajax工具和资源</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第25章 prototype.js工具箱</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.1 prototype.js简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.2 包装XMLHTTPRequest-Ajax对象</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.3 示例项目-股票价格阅读器</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">25.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第26章 使用Rico</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.1 Rico简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.2 Rico的其他界面工具</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">26.3 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第27章 使用Script.aculo.us</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.1 下载库</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.2 包含文件</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.3 使用效果</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.4 构建脚本</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">27.5 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">第28章 使用XOAD</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1 XOAD简介</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1.1 下载和安装XOAD</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.1.2 一个简单的XOAD页面</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.2 XOAD HTML</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.3 XOAD_HTML高级编程</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">28.4 小结</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">附录 JavaScript、PHP和Ajax Web站点</span></p><p><span style="font-size: 12px; font-family: 宋体, SimSun;">术语表</span></p><p><br/></p>"
        "frequency" => 1
        "click" => 110
        "dclick" => 10
        "created_at" => "2019-07-30 16:37:11"
        "updated_at" => "2024-03-13 20:09:40"
        "category_name" => "php"
      ]
    ]
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
View.php
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
     */
    protected function renderContents()
    {
        // We will keep track of the amount of views being rendered so we can flush
        // the section after the complete rendering operation is done. This will
        // clear out the sections for any separate views that may be rendered.
        $this->factory->incrementRender();
 
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
View.php
        $this->view = $view;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
 
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
 
    /**
     * Get the string contents of the view.
     *
     * @param  callable|null  $callback
     * @return string
     *
     * @throws \Throwable
     */
    public function render(callable $callback = null)
    {
        try {
            $contents = $this->renderContents();
 
            $response = isset($callback) ? call_user_func($callback, $this, $contents) : null;
 
            // Once we have the contents of the view, we will flush the sections if we are
            // done rendering all views so that there is nothing left hanging over when
            // another view gets rendered in the future by the application developer.
            $this->factory->flushStateIfDoneRendering();
 
            return ! is_null($response) ? $response : $contents;
        } catch (Exception $e) {
            $this->factory->flushState();
 
            throw $e;
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Http
/
Response.php
     * @return $this
     */
    public function setContent($content)
    {
        $this->original = $content;
 
        // If the content is "JSONable" we will set the appropriate header and convert
        // the content to JSON. This is useful when returning something like models
        // from routes that will be automatically transformed to their JSON form.
        if ($this->shouldBeJson($content)) {
            $this->header('Content-Type', 'application/json');
 
            $content = $this->morphToJson($content);
        }
 
        // If this content implements the "Renderable" interface then we will call the
        // render method on the object so we will avoid any "__toString" exceptions
        // that might be thrown and have their errors obscured by PHP's handling.
        elseif ($content instanceof Renderable) {
            $content = $content->render();
        }
 
        parent::setContent($content);
 
        return $this;
    }
 
    /**
     * Determine if the given content should be turned into JSON.
     *
     * @param  mixed  $content
     * @return bool
     */
    protected function shouldBeJson($content)
    {
        return $content instanceof Arrayable ||
               $content instanceof Jsonable ||
               $content instanceof ArrayObject ||
               $content instanceof JsonSerializable ||
               is_array($content);
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
symfony
/
http-foundation
/
Response.php
        504 => 'Gateway Timeout',
        505 => 'HTTP Version Not Supported',
        506 => 'Variant Also Negotiates',                                     // RFC2295
        507 => 'Insufficient Storage',                                        // RFC4918
        508 => 'Loop Detected',                                               // RFC5842
        510 => 'Not Extended',                                                // RFC2774
        511 => 'Network Authentication Required',                             // RFC6585
    ];
 
    /**
     * @param mixed $content The response content, see setContent()
     * @param int   $status  The response status code
     * @param array $headers An array of response headers
     *
     * @throws \InvalidArgumentException When the HTTP status code is not valid
     */
    public function __construct($content = '', $status = 200, $headers = [])
    {
        $this->headers = new ResponseHeaderBag($headers);
        $this->setContent($content);
        $this->setStatusCode($status);
        $this->setProtocolVersion('1.0');
    }
 
    /**
     * Factory method for chainability.
     *
     * Example:
     *
     *     return Response::create($body, 200)
     *         ->setSharedMaxAge(300);
     *
     * @param mixed $content The response content, see setContent()
     * @param int   $status  The response status code
     * @param array $headers An array of response headers
     *
     * @return static
     */
    public static function create($content = '', $status = 200, $headers = [])
    {
Arguments
  1. View {#468}
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     * @param  mixed  $response
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public static function toResponse($request, $response)
    {
        if ($response instanceof Responsable) {
            $response = $response->toResponse($request);
        }
 
        if ($response instanceof PsrResponseInterface) {
            $response = (new HttpFoundationFactory)->createResponse($response);
        } elseif (! $response instanceof SymfonyResponse &&
                   ($response instanceof Arrayable ||
                    $response instanceof Jsonable ||
                    $response instanceof ArrayObject ||
                    $response instanceof JsonSerializable ||
                    is_array($response))) {
            $response = new JsonResponse($response);
        } elseif (! $response instanceof SymfonyResponse) {
            $response = new Response($response);
        }
 
        if ($response->getStatusCode() === Response::HTTP_NOT_MODIFIED) {
            $response->setNotModified();
        }
 
        return $response->prepare($request);
    }
 
    /**
     * Substitute the route bindings onto the route.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return \Illuminate\Routing\Route
     */
    public function substituteBindings($route)
    {
        foreach ($route->parameters() as $key => $value) {
            if (isset($this->binders[$key])) {
                $route->setParameter($key, $this->performBinding($key, $value, $route));
Arguments
  1. View {#468}
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     * Sort the given middleware by priority.
     *
     * @param  \Illuminate\Support\Collection  $middlewares
     * @return array
     */
    protected function sortMiddleware(Collection $middlewares)
    {
        return (new SortedMiddleware($this->middlewarePriority, $middlewares))->all();
    }
 
    /**
     * Create a response instance from the given value.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @param  mixed  $response
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public function prepareResponse($request, $response)
    {
        return static::toResponse($request, $response);
    }
 
    /**
     * Static version of prepareResponse.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @param  mixed  $response
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public static function toResponse($request, $response)
    {
        if ($response instanceof Responsable) {
            $response = $response->toResponse($request);
        }
 
        if ($response instanceof PsrResponseInterface) {
            $response = (new HttpFoundationFactory)->createResponse($response);
        } elseif (! $response instanceof SymfonyResponse &&
                   ($response instanceof Arrayable ||
                    $response instanceof Jsonable ||
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. View {#468}
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
                        ->then(function ($request) use ($route) {
                            return $this->prepareResponse(
                                $request, $route->run()
                            );
                        });
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        $middleware = collect($route->gatherMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten();
 
        return $this->sortMiddleware($middleware);
    }
 
    /**
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. View {#468}
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
 
/**
 * This extended pipeline catches any exceptions that occur during each slice.
 *
 * The exceptions are converted to HTTP responses for proper middleware handling.
 */
class Pipeline extends BasePipeline
{
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Exception $e) {
                return $this->handleException($passable, $e);
            } catch (Throwable $e) {
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
app
/
Http
/
Middleware
/
AdminOperationLog.php
 
class AdminOperationLog
{
    /**
     * Handle an incoming request.
     *
     * @param  $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        $userId = Auth::id();
        $queryParams = $request->all();
        unset($queryParams['_token']);
        $targetUrl = explode('?', isset($_SERVER['REQUEST_URI'])?$_SERVER['REQUEST_URI']:'')[0];
        $ua = $_SERVER['HTTP_USER_AGENT'] ?? '';
        $ip = ($request->ip() !== '127.0.0.1') ? $request->ip() : '139.129.50.178';
        $this->writeLog($userId, $queryParams, $targetUrl, $ua, $ip);
        return $next($request);
    }
 
    public function writeLog($userId, $queryParams, $targetUrl, $ua, $ip)
    {
        $adminOperationLogModel = new AdminOperationLogModel();
        $adminOperationLogModel->user_id = $userId;
        $adminOperationLogModel->target_url = $targetUrl;
        $adminOperationLogModel->query_params = json_encode($queryParams);
        $adminOperationLogModel->ua = $ua;
        $adminOperationLogModel->ip = $ip;
 
        $ipConvertService = new IpConvertService();
        $ipData = $ipConvertService->convert($ip);
 
        $adminOperationLogModel->province = $ipData['province'];
        $adminOperationLogModel->opera_type = 1;
        $adminOperationLogModel->save();
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($name, $parameters) = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#385
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#390 …}
      parameters: {
        $passable: {}
      }
      use: {
        $destination: Closure {#380 …}
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Middleware
/
SubstituteBindings.php
     */
    public function __construct(Registrar $router)
    {
        $this->router = $router;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->router->substituteBindings($route = $request->route());
 
        $this->router->substituteImplicitBindings($route);
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($name, $parameters) = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#410
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#390 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#385 …}
        $pipe: "App\Http\Middleware\AdminOperationLog"
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
VerifyCsrfToken.php
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     *
     * @throws \Illuminate\Session\TokenMismatchException
     */
    public function handle($request, Closure $next)
    {
        if (
            $this->isReading($request) ||
            $this->runningUnitTests() ||
            $this->inExceptArray($request) ||
            $this->tokensMatch($request)
        ) {
            return $this->addCookieToResponse($request, $next($request));
        }
 
        throw new TokenMismatchException;
    }
 
    /**
     * Determine if the HTTP request uses a ‘read’ verb.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function isReading($request)
    {
        return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
    }
 
    /**
     * Determine if the application is running unit tests.
     *
     * @return bool
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($name, $parameters) = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#411
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#390 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#410 …}
        $pipe: "Illuminate\Routing\Middleware\SubstituteBindings"
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
View
/
Middleware
/
ShareErrorsFromSession.php
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // If the current session has an "errors" variable bound to it, we will share
        // its value with all view instances so the views can easily access errors
        // without having to bind. An empty bag is set when there aren't errors.
        $this->view->share(
            'errors', $request->session()->get('errors') ?: new ViewErrorBag
        );
 
        // Putting the errors in the view for every view allows the developer to just
        // assume that some errors are always available, which is convenient since
        // they don't have to continually run checks for the presence of errors.
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($name, $parameters) = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#412
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#390 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#411 …}
        $pipe: "App\Http\Middleware\VerifyCsrfToken"
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->sessionHandled = true;
 
        // If a session driver has been configured, we will need to start the session here
        // so that the data is ready for an application. Note that the Laravel sessions
        // do not make use of PHP "native" sessions in any way since they are crappy.
        if ($this->sessionConfigured()) {
            $request->setLaravelSession(
                $session = $this->startSession($request)
            );
 
            $this->collectGarbage($session);
        }
 
        $response = $next($request);
 
        // Again, if the session has been configured we will need to close out the session
        // so that the attributes may be persisted to some storage medium. We will also
        // add the session identifier cookie to the application response headers now.
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($name, $parameters) = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#413
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#390 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#412 …}
        $pipe: "Illuminate\View\Middleware\ShareErrorsFromSession"
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
AddQueuedCookiesToResponse.php
     * Create a new CookieQueue instance.
     *
     * @param  \Illuminate\Contracts\Cookie\QueueingFactory  $cookies
     * @return void
     */
    public function __construct(CookieJar $cookies)
    {
        $this->cookies = $cookies;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);
 
        foreach ($this->cookies->getQueuedCookies() as $cookie) {
            $response->headers->setCookie($cookie);
        }
 
        return $response;
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($name, $parameters) = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#414
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#390 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#413 …}
        $pipe: "Illuminate\Session\Middleware\StartSession"
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cookie
/
Middleware
/
EncryptCookies.php
     * Disable encryption for the given cookie name(s).
     *
     * @param  string|array  $cookieName
     * @return void
     */
    public function disableFor($cookieName)
    {
        $this->except = array_merge($this->except, (array) $cookieName);
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        return $this->encrypt($next($this->decrypt($request)));
    }
 
    /**
     * Decrypt the cookies on the request.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @return \Symfony\Component\HttpFoundation\Request
     */
    protected function decrypt(Request $request)
    {
        foreach ($request->cookies as $key => $c) {
            if ($this->isDisabled($key)) {
                continue;
            }
 
            try {
                $request->cookies->set($key, $this->decryptCookie($key, $c));
            } catch (DecryptException $e) {
                $request->cookies->set($key, null);
            }
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($name, $parameters) = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#415
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#390 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#414 …}
        $pipe: "Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse"
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            return $destination($passable);
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
                        ->then(function ($request) use ($route) {
                            return $this->prepareResponse(
                                $request, $route->run()
                            );
                        });
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        $middleware = collect($route->gatherMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten();
 
        return $this->sortMiddleware($middleware);
    }
 
    /**
     * Sort the given middleware by priority.
     *
Arguments
  1. Closure {#380
      class: "Illuminate\Routing\Router"
      this: Router {#25 …}
      parameters: {
        $request: {}
      }
      use: {
        $route: Route {#232 …}
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
     * @param  Route  $route
     * @param  Request  $request
     * @return mixed
     */
    protected function runRoute(Request $request, Route $route)
    {
        $request->setRouteResolver(function () use ($route) {
            return $route;
        });
 
        $this->events->dispatch(new Events\RouteMatched($route, $request));
 
        return $this->prepareResponse($request,
            $this->runRouteWithinStack($route, $request)
        );
    }
 
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
Arguments
  1. Route {#232}
    
  2. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
    {
        $this->current = $route = $this->routes->match($request);
 
        $this->container->instance(Route::class, $route);
 
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Route {#232}
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
     * @return mixed
     */
    public function respondWithRoute($name)
    {
        $route = tap($this->routes->getByName($name))->bind($this->currentRequest);
 
        return $this->runRoute($this->currentRequest, $route);
    }
 
    /**
     * Dispatch the request to the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
     * @return void
     */
    public function bootstrap()
    {
        if (! $this->app->hasBeenBootstrapped()) {
            $this->app->bootstrapWith($this->bootstrappers());
        }
    }
 
    /**
     * Get the route dispatcher callback.
     *
     * @return \Closure
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
 
/**
 * This extended pipeline catches any exceptions that occur during each slice.
 *
 * The exceptions are converted to HTTP responses for proper middleware handling.
 */
class Pipeline extends BasePipeline
{
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Exception $e) {
                return $this->handleException($passable, $e);
            } catch (Throwable $e) {
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
fideloper
/
proxy
/
src
/
TrustProxies.php
    {
        $this->config = $config;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure                 $next
     *
     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
     *
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->setTrustedProxyHeaderNames($request);
        $this->setTrustedProxyIpAddresses($request);
 
        return $next($request);
    }
 
    /**
     * Sets the trusted proxies on the request to the value of trustedproxy.proxies
     *
     * @param \Illuminate\Http\Request $request
     */
    protected function setTrustedProxyIpAddresses($request)
    {
        $trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
 
        // We only trust specific IP addresses
        if (is_array($trustedIps)) {
            return $this->setTrustedProxyIpAddressesToSpecificIps($request, $trustedIps);
        }
 
        // We trust any IP address that calls us, but not proxies further
        // up the forwarding chain.
        // TODO: Determine if this should only trust the first IP address
        //       Currently it trusts the entire chain (array of IPs),
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($name, $parameters) = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#213
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#30 …}
      parameters: {
        $passable: {}
      }
      use: {
        $destination: Closure {#22 …}
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
     * The additional attributes passed to the middleware.
     *
     * @var array
     */
    protected $attributes = [];
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next, ...$attributes)
    {
        $this->attributes = $attributes;
 
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } else {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($name, $parameters) = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#293
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#30 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#213 …}
        $pipe: "App\Http\Middleware\TrustProxies"
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
     * The additional attributes passed to the middleware.
     *
     * @var array
     */
    protected $attributes = [];
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next, ...$attributes)
    {
        $this->attributes = $attributes;
 
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } else {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($name, $parameters) = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#362
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#30 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#293 …}
        $pipe: "Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull"
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
ValidatePostSize.php
class ValidatePostSize
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     *
     * @throws \Illuminate\Http\Exceptions\PostTooLargeException
     */
    public function handle($request, Closure $next)
    {
        $max = $this->getPostMaxSize();
 
        if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
            throw new PostTooLargeException;
        }
 
        return $next($request);
    }
 
    /**
     * Determine the server 'post_max_size' as bytes.
     *
     * @return int
     */
    protected function getPostMaxSize()
    {
        if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
            return (int) $postMaxSize;
        }
 
        $metric = strtoupper(substr($postMaxSize, -1));
        $postMaxSize = (int) $postMaxSize;
 
        switch ($metric) {
            case 'K':
                return $postMaxSize * 1024;
            case 'M':
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($name, $parameters) = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#363
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#30 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#362 …}
        $pipe: "App\Http\Middleware\TrimStrings"
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
CheckForMaintenanceMode.php
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     *
     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
     */
    public function handle($request, Closure $next)
    {
        if ($this->app->isDownForMaintenance()) {
            $data = json_decode(file_get_contents($this->app->storagePath().'/framework/down'), true);
 
            throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
        }
 
        return $next($request);
    }
}
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
                    // the appropriate method and arguments, returning the results back out.
                    return $pipe($passable, $stack);
                } elseif (! is_object($pipe)) {
                    list($name, $parameters) = $this->parsePipeString($pipe);
 
                    // If the pipe is a string we will parse the string and resolve the class out
                    // of the dependency injection container. We can then build a callable and
                    // execute the pipe function giving in the parameters that are required.
                    $pipe = $this->getContainer()->make($name);
 
                    $parameters = array_merge([$passable, $stack], $parameters);
                } else {
                    // If the pipe is already an object we'll just make a callable and pass it to
                    // the pipe as-is. There is no need to do any extra parsing and formatting
                    // since the object we're given was already a fully instantiated object.
                    $parameters = [$passable, $stack];
                }
 
                return method_exists($pipe, $this->method)
                                ? $pipe->{$this->method}(...$parameters)
                                : $pipe(...$parameters);
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
 
        if (is_string($parameters)) {
            $parameters = explode(',', $parameters);
        }
 
        return [$name, $parameters];
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Closure {#364
      class: "Illuminate\Routing\Pipeline"
      this: Pipeline {#30 …}
      parameters: {
        $passable: {}
      }
      use: {
        $stack: Closure {#363 …}
        $pipe: "Illuminate\Foundation\Http\Middleware\ValidatePostSize"
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    $slice = parent::carry();
 
                    $callable = $slice($stack, $pipe);
 
                    return $callable($passable);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Handle the given exception.
     *
     * @param  mixed  $passable
     * @param  \Exception  $e
     * @return mixed
     *
     * @throws \Exception
     */
    protected function handleException($passable, Exception $e)
    {
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            return $destination($passable);
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
    }
 
    /**
     * Send the given request through the middleware / router.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    protected function sendRequestThroughRouter($request)
    {
        $this->app->instance('request', $request);
 
        Facade::clearResolvedInstance('request');
 
        $this->bootstrap();
 
        return (new Pipeline($this->app))
                    ->send($request)
                    ->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
                    ->then($this->dispatchToRouter());
    }
 
    /**
     * Bootstrap the application for HTTP requests.
     *
     * @return void
     */
    public function bootstrap()
    {
        if (! $this->app->hasBeenBootstrapped()) {
            $this->app->bootstrapWith($this->bootstrappers());
        }
    }
 
    /**
     * Get the route dispatcher callback.
     *
     * @return \Closure
     */
    protected function dispatchToRouter()
Arguments
  1. Closure {#22
      class: "Illuminate\Foundation\Http\Kernel"
      this: Kernel {#29 …}
      parameters: {
        $request: {}
      }
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
            $router->middlewareGroup($key, $middleware);
        }
 
        foreach ($this->routeMiddleware as $key => $middleware) {
            $router->aliasMiddleware($key, $middleware);
        }
    }
 
    /**
     * Handle an incoming HTTP request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function handle($request)
    {
        try {
            $request->enableHttpMethodParameterOverride();
 
            $response = $this->sendRequestThroughRouter($request);
        } catch (Exception $e) {
            $this->reportException($e);
 
            $response = $this->renderException($request, $e);
        } catch (Throwable $e) {
            $this->reportException($e = new FatalThrowableError($e));
 
            $response = $this->renderException($request, $e);
        }
 
        $this->app['events']->dispatch(
            new Events\RequestHandled($request, $response)
        );
 
        return $response;
    }
 
    /**
     * Send the given request through the middleware / router.
     *
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
/
www
/
wwwroot
/
www.h5tpl.com
/
public
/
index.php
*/
 
$app = require_once __DIR__.'/../bootstrap/app.php';
 
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
 
Arguments
  1. Request {#42
      #json: null
      #convertedFiles: []
      #userResolver: Closure {#381
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider {#41 …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application {#2 …}
        }
      }
      #routeResolver: Closure {#383
        class: "Illuminate\Routing\Router"
        this: Router {#25 …}
        use: {
          $route: Route {#232 …}
        }
      }
      +attributes: ParameterBag {#44}
      +request: ParameterBag {#50}
      +query: ParameterBag {#50}
      +server: ServerBag {#46}
      +files: FileBag {#47}
      +cookies: ParameterBag {#45}
      +headers: HeaderBag {#48}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/ebook/209"
      #requestUri: "/ebook/209"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {#427}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
USER
"www"
HOME
"/home/www"
HTTP_HOST
"www.h5tpl.com"
HTTP_USER_AGENT
"claudebot"
HTTP_ACCEPT
"*/*"
PATH_INFO
""
REDIRECT_STATUS
"200"
SERVER_NAME
"www.h5tpl.com"
SERVER_PORT
"80"
SERVER_ADDR
"172.26.203.115"
REMOTE_PORT
"39866"
REMOTE_ADDR
"54.196.106.106"
SERVER_SOFTWARE
"nginx/1.20.1"
GATEWAY_INTERFACE
"CGI/1.1"
REQUEST_SCHEME
"http"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/www/wwwroot/www.h5tpl.com/public"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/ebook/209"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
SCRIPT_FILENAME
"/www/wwwroot/www.h5tpl.com/public/index.php"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711703286.4662
REQUEST_TIME
1711703286
APP_NAME
"自学php"
APP_ENV
"production"
APP_KEY
"base64:Y229TlMDpHVpMgykom7SZrXLV/gtIH34Dtsy/nKxQMU="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://www.h5tpl.com"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"www_h5tpl_com"
DB_USERNAME
"www_h5tpl_com"
DB_PASSWORD
"bswZEDrTawFi7jA8"
DB_HOST_DATAVERSE
"47.103.47.61"
DB_DATABASE_DATAVERSE
"h5tpl"
DB_USERNAME_DATAVERSE
"root"
DB_PASSWORD_DATAVERSE
"@@Thcm123223!"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"@redis5123"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.qq.com"
MAIL_PORT
"465"
MAIL_USERNAME
"491798689@qq.com"
MAIL_PASSWORD
"gjxdiefjstvebjid"
MAIL_ENCRYPTION
"ssl"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
QINIU_AK
"Upq8Cr-OzhctI3w4fIX_52xt7VJt1EkDQ9Zp7yh4"
QINIU_SK
"ikWAz6uFeFj57dV_kl178T_8NmuIganVWM5lPPsI"
QINIU_BUCKET
"blog"
QINIU_DOMAINS_DEFAULT
"img.h5tpl.com"
QINIU_UEDITOR_BUCKET
"blog"
QINIU_UEDITOR_DOMAINS_DEFAULT
"http://img.h5tpl.com"
QINIU_QRCODE_BUCKET
"blog"
QINIU_QRCODE_DOMAINS_DEFAULT
"img.h5tpl.com"
SHORTURL_DEFAULT_GATEWAYS
"wechat"
WECHAT_APP_ID
"wx92d380067e681c96"
WECHAT_SECRET_KEY
"5c5906fa87f6247bd901c37a94c320f4"
WECHAT_MINI_APP_ID
""
WECHAT_MINI_SECRET_KEY
""
WECHAT_MINI_TOKEN
""
JPUSH_APP_KEY
""
JPUSH_MASTER_SECRET
""
L5_SWAGGER_GENERATE_ALWAYS
"true"
CHUANG_LAN_API_ACCOUNT
""
CHUANG_LAN_API_PASSWORD
""
XINLANG_SHORTURL_KEY
"202088835"
BAIDU_SHORTURL_KEY
"290a944b7b5031a4b7b6f65c4a94527e"
YUAN_DATA_ACCESS_ID
""
YUAN_DATA_ACCESS_KEY
""
DEFAULT_SMS_SUPPLIER
"tencent"
ALIDAYU_APP_KEY
"LTAIuSnW4id7ORiR"
ALIDAYU_APP_SECRET
"NlZ8CBkyruevrGASVwEN3bCNKXsBrP"
ALIDAYU_VERIFY_SIGN
"h5模板网"
ALIDAYU_VERIFY_TEMPLATEID
"SMS_171113303"
TENCENT_APP_KEY
"1400058853"
TENCENT_APP_SECRET
"5a4e4bf735d17d5c9ac412d8bdbde429"
TENCENT_VERIFY_SIGN
"h5模板"
TENCENT_VERIFY_TEMPLATEID
"72180"
Key Value
APP_NAME
"自学php"
APP_ENV
"production"
APP_KEY
"base64:Y229TlMDpHVpMgykom7SZrXLV/gtIH34Dtsy/nKxQMU="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://www.h5tpl.com"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"www_h5tpl_com"
DB_USERNAME
"www_h5tpl_com"
DB_PASSWORD
"bswZEDrTawFi7jA8"
DB_HOST_DATAVERSE
"47.103.47.61"
DB_DATABASE_DATAVERSE
"h5tpl"
DB_USERNAME_DATAVERSE
"root"
DB_PASSWORD_DATAVERSE
"@@Thcm123223!"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"@redis5123"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.qq.com"
MAIL_PORT
"465"
MAIL_USERNAME
"491798689@qq.com"
MAIL_PASSWORD
"gjxdiefjstvebjid"
MAIL_ENCRYPTION
"ssl"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
QINIU_AK
"Upq8Cr-OzhctI3w4fIX_52xt7VJt1EkDQ9Zp7yh4"
QINIU_SK
"ikWAz6uFeFj57dV_kl178T_8NmuIganVWM5lPPsI"
QINIU_BUCKET
"blog"
QINIU_DOMAINS_DEFAULT
"img.h5tpl.com"
QINIU_UEDITOR_BUCKET
"blog"
QINIU_UEDITOR_DOMAINS_DEFAULT
"http://img.h5tpl.com"
QINIU_QRCODE_BUCKET
"blog"
QINIU_QRCODE_DOMAINS_DEFAULT
"img.h5tpl.com"
SHORTURL_DEFAULT_GATEWAYS
"wechat"
WECHAT_APP_ID
"wx92d380067e681c96"
WECHAT_SECRET_KEY
"5c5906fa87f6247bd901c37a94c320f4"
WECHAT_MINI_APP_ID
""
WECHAT_MINI_SECRET_KEY
""
WECHAT_MINI_TOKEN
""
JPUSH_APP_KEY
""
JPUSH_MASTER_SECRET
""
L5_SWAGGER_GENERATE_ALWAYS
"true"
CHUANG_LAN_API_ACCOUNT
""
CHUANG_LAN_API_PASSWORD
""
XINLANG_SHORTURL_KEY
"202088835"
BAIDU_SHORTURL_KEY
"290a944b7b5031a4b7b6f65c4a94527e"
YUAN_DATA_ACCESS_ID
""
YUAN_DATA_ACCESS_KEY
""
DEFAULT_SMS_SUPPLIER
"tencent"
ALIDAYU_APP_KEY
"LTAIuSnW4id7ORiR"
ALIDAYU_APP_SECRET
"NlZ8CBkyruevrGASVwEN3bCNKXsBrP"
ALIDAYU_VERIFY_SIGN
"h5模板网"
ALIDAYU_VERIFY_TEMPLATEID
"SMS_171113303"
TENCENT_APP_KEY
"1400058853"
TENCENT_APP_SECRET
"5a4e4bf735d17d5c9ac412d8bdbde429"
TENCENT_VERIFY_SIGN
"h5模板"
TENCENT_VERIFY_TEMPLATEID
"72180"
0. Whoops\Handler\PrettyPageHandler