Advanced Guide to PHP on IBM i

Advanced Guide to PHP on IBM i

by Kevin Schroeder
ISBN-10:
158347384X
ISBN-13:
9781583473849
Pub. Date:
04/01/2014
Publisher:
MC Press, LLC
ISBN-10:
158347384X
ISBN-13:
9781583473849
Pub. Date:
04/01/2014
Publisher:
MC Press, LLC
Advanced Guide to PHP on IBM i

Advanced Guide to PHP on IBM i

by Kevin Schroeder

Paperback

$79.95
Current price is , Original price is $79.95. You
$79.95 
  • SHIP THIS ITEM
    In stock. Ships in 6-10 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.


Overview

Working through many of the concepts and skills needed by intermediate and advanced PHP developers, this book is specifically designed to help good PHP developers become indispensable ones. Topics include debugging, test-driven development, web-based development, advanced object-oriented programming, and web security, and the book also takes an in-depth look at the new PHP Toolkit for IBM i provided by Zend Technologies. Upon completion of this book, readers will be able to use its principles as a basis for architecting complex applications, building web services according to the best standards currently available, significantly reducing the time spent discovering and fixing errors in code, designing architectures that are testable and predictable, building secure applications by protecting against most known attacks, and avoiding and preparing for common performance issues.

Product Details

ISBN-13: 9781583473849
Publisher: MC Press, LLC
Publication date: 04/01/2014
Pages: 336
Product dimensions: 7.00(w) x 8.90(h) x 0.90(d)

About the Author

Kevin Schroeder is the technical manager for education and consulting for MagentoU and a former technical consultant for Zend Technologies. He is the author of You Want to Do What with PHP? and the coauthor of The IBM i Programmer’s Guide to PHP. He lives in Frisco, Texas.

Table of Contents

Chapter 1 A Re-Introduction to Basic Concepts 1

Classes and Objects 1

Properties 3

Methods 3

Constants 4

Context 4

Visibility 5

Abstract Classes 6

Interface Definition 6

Polymorphism 9

Type Hinting 10

Namespaces 11

Traits 17

Closures 23

Chapter 2 Design Patterns 29

Singleton 30

Factory 33

Adapter 34

Strategy 36

Lazy Initialization and Lazy Loading 37

Observer/Visitor/Publish-Subscribe 40

Front Controller 45

Model/View/Controller 53

SOLID 58

Single Responsibility 59

Open-Closed 63

Liskov Substitution 64

Interface Segregation 65

Dependency Inversion 68

Introduction to Dependency Injection 73

Chapter 3 Standard PHP Library 83

spl_autoload_register() 84

Countable 86

ArrayAccess 89

Iterator 94

ArrayObject 98

Advanced Usage 100

Intercepting Inserts 100

Typing Array Values 101

Lazy Loading 102

Conclusion 104

Chapter 4 Debugging Basics 105

Tunneling 107

Initiating a Debug Session 111

Flow Control 113

Variables 116

Expressions 120

Breakpoints 121

Toolbars 124

Manual Control 126

Conclusion 128

Chapter 5 Security 129

SQL Injection 131

Cross-Site Scripting 138

Cross-Site Request Forgery 142

Session Fixation 145

Session Hijacking 146

Validating Input 147

Predictable Locations and Dangerous Files 151

Using Encryption 152

Hashing 152

Symmetric Key Encryption 158

Chapter 6 Working with the Browser 165

HTML 166

CSS 174

CSS Layouts 181

Display 181

Float 182

Position 183

JavaScript 187

JavaScript Libraries (Using jQuery) 192

Ajax 197

Conclusion 204

Chapter 7 Test-Driven Development 205

PHPUnit 206

Test Suites 219

Injecting Dependencies 220

Working with Data Sources 222

Conclusion 230

Chapter 8 Web Service Basics 231

REST 232

Basics 232

Resource Definitions 233

Usage of HTTP Verbs 234

Authentication 236

SOAP 236

WSDL-Based Operations 240

JSON 248

Version Negotiation 259

Authentication 265

Session-Based Authentication 266

Nonsess ion-Based Authentication 268

Chapter 9 Using the Toolkit 273

The Basics 274

Taking It to the Next Level 278

Using Dependency Injection with the Toolkit 281

Unit Testing with the Toolkit 285

Conclusion 292

Chapter 10 Performance Considerations 293

Cache Stuff 296

Preprocessing 298

In Normal Calculations 298

In Caching 302

Asynchronous Processing 308

From the B&N Reads Blog

Customer Reviews