Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Copyright
Mastering PHP 7
Credits
About the Author
About the Reviewers
www.PacktPub.com
Why subscribe?
Customer Feedback
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
The All New PHP
Scalar type hints
Return type hints
Anonymous classes
Generator delegation
Generator return expressions
The null coalesce operator
The spaceship operator
Constant arrays
Uniform variable syntax
Throwables
Group use declarations
Catching multiple exceptions types
Class constant visibility modifiers
Iterable pseudo-type
Nullable types
Void return types
Summary
Embracing Standards
PSR-1 - basic coding standard
PSR-2 - coding style guide
PSR-3 - logger interface
PSR-4 - autoloading standard
PSR-6 - caching interface
PSR-7 - HTTP message interface
PSR-13 - hypermedia links
Summary
Error Handling and Logging
Error handling
Error
ArithmeticError
DivisionByZeroError
AssertionError
ParseError
TypeError
Uncaught error handler
Triggering errors
Exception
Creating a custom exception handler
Rethrowing exceptions
Uncaught Exception handler
Logging
Native logging
Logging with Monolog
Summary
Magic Behind Magic Methods
Using __construct()
Using __destruct()
Using __call()
Using __callStatic()
Using __set()
Using __get()
Using __isset()
Using __unset()
Using __sleep()
Using __wakeup()
Using __toString()
Using __invoke()
Using __set_state()
Using __clone()
Using __debugInfo()
Usage statistics across popular platforms
Summary
The Realm of CLI
Understanding PHP CLI
The Console component
Setting up the Console component
Creating a console command
Dealing with inputs
Using Console component helpers
Input/output streams
Process control
Ticks
Signals
Alarms
Multiprocessing
Summary
Prominent OOP Features
Object inheritance
Objects and references
Object iteration
Object comparison
Traits
Reflection
Summary
Optimizing for High Performance
Max execution time
Memory management
File uploads
Session handling
Output buffering
Disabling debug messages
Zend OPcache
Concurrency
Summary
Going Serverless
Using the serverless framework
Using Iron.io IronWorker
Summary
Reactive Programming
Similarities with event-driven programming
Using RxPHP
Installing RxPHP
Observable and observer
Subject
Operator
Writing custom operators
Non-blocking IO
Using React
Installing React
React event loop
Observables and event loop
Summary
Common Design Patterns
Base patterns
The registry pattern
Creational patterns
The singleton pattern
The prototype pattern
The abstract factory pattern
The builder pattern
The object pool pattern
Behavioral patterns
The strategy pattern
The observer pattern
The lazy initialization pattern
The chain of responsibility pattern
Structural patterns
The decorator pattern
Summary
Building Services
Understanding the client-server relationship
Working with SOAP
XML extensions
Creating server
Creating WSDL file
Creating client
Working with REST
JSON extensions
Creating server
Creating client
Working with Apache Thrift (RPC)
Installing Apache Thrift
Defining service
Creating server
Creating client
Understanding microservices
Summary
Working with Databases
Working with MySQL
Installing MySQL
Setting up sample data
Querying via the MySQLi driver extension
Connecting
Error handling
Selecting
Binding parameters
Inserting
Updating
Deleting
Transactions
Querying via the PHP Data Objects driver extension
Connecting
Error handling
Selecting
Inserting
Updating
Deleting
Transactions
Working with MongoDB
Installing MongoDB
Setting up sample data
Querying via the MongoDB driver extension
Connecting
Error handling
Selecting
Inserting
Updating
Deleting
Transactions
Working with Redis
Installing Redis
Setting up sample data
Querying via the phpredis driver extension
Connecting
Error handling
Selecting
Inserting
Updating
Deleting
Transactions
Summary
Resolving Dependencies
Mitigating the common problem
Understanding dependency injection
Understanding dependency injection container
Summary
Working with Packages
Understanding Composer
Understanding Packagist
Using third-party packages
Creating your own package
Distributing your package
Summary
Testing the Important Bits
PHPUnit
Setting up the PHPUnit
Setting up a sample application
Writing test
Executing tests
Code coverage
Behat
Setting up Behat
Setting up a sample application
Writing test
Executing tests
phpspec
Setting up phpspec
Writing test
Executing tests
jMeter
Writing test
Executing tests
Summary
Debugging, Tracing, and Profiling
Xdebug
Installation
Debugging
Tracing
Profiling
Zend Z-Ray
Installing Zend Server
Setting up the virtual host
Using Z-Ray
Summary
Hosting, Provisioning, and Deployment
Choosing the right hosting plan
Shared server
Virtual private server
Dedicated server
PaaS
Automating provisioning
Setting up the workstation machine
Setting up the server machine
Configuring Ansible
Provisioning a web server
Automating the deployment
Installing Deployer
Using Deployer
Continuous integration
Jenkins
Summary
← Prev
Back
Next →
← Prev
Back
Next →