Mastering PHP 7 design, configure, build, and test professional web appilcations in PHP 7
Effective, readable, and robust codes in PHP About This Book Leverage the newest tools available in PHP 7 to build scalable applications Embrace serverless architecture and the reactive programming paradigm, which are the latest additions to the PHP ecosystem Explore dependency injection and impleme...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham, UK :
Packt Publishing
2017.
|
Edición: | 1st edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630143106719 |
Tabla de Contenidos:
- Cover
- Copyright
- Credits
- About the Author
- About the Reviewers
- www.PacktPub.com
- Customer Feedback
- Table of Contents
- Preface
- Chapter 1: 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
- Chapter 2: 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
- Chapter 3: 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
- Chapter 4: 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
- Chapter 5: 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
- Chapter 6: Prominent OOP Features
- Object inheritance
- Objects and references
- Object iteration
- Object comparison
- Traits
- Reflection
- Summary
- Chapter 7: Optimizing for High Performance
- Max execution time
- Memory management
- File uploads
- Session handling
- Output buffering
- Disabling debug messages
- Zend OPcache
- Concurrency
- Summary
- Chapter 8: Going Serverless
- Using the serverless framework
- Using Iron.io IronWorker
- Summary
- Chapter 9: 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
- Chapter 10: 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
- Chapter 11: 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
- Chapter 12: 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
- Chapter 13: Resolving Dependencies
- Mitigating the common problem
- Understanding dependency injection
- Understanding dependency injection container
- Summary
- Chapter 14: Working with Packages
- Understanding Composer
- Understanding Packagist
- Using third-party packages
- Creating your own package
- Distributing your package
- Summary
- Chapter 15: 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
- Chapter 16: Debugging, Tracing, and Profiling
- Xdebug
- Installation
- Debugging
- Tracing
- Profiling
- Zend Z-Ray
- Installing Zend Server
- Setting up the virtual host
- Using Z-Ray
- Summary
- Chapter 17: 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
- Index.