首頁(yè) > 計(jì)算機(jī)網(wǎng)絡(luò) >
編程語(yǔ)言與程序設(shè)計(jì)
> Building RESTful Web Services with PHP 7最新章節(jié)目錄
舉報(bào)

會(huì)員
Building RESTful Web Services with PHP 7
最新章節(jié):
What's next
ThisbookisforPHPdeveloperswhowishtolearnabouttheRESTarchitecturetobeabletobuildandconsumeRESTAPIsintheirapplications.
目錄(275章)
倒序
- cover
- Title Page
- Copyright
- Building RESTful Web Services with PHP 7
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Why subscribe?
- Customer Feedback
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Reader feedback
- Downloading the example code
- Errata
- Piracy
- Questions
- RESTful Web Services Introduction and Motivation
- Web services
- Why a web service?
- REST architecture
- Client server
- Stateless
- Cache-able
- Uniform interface
- Resource identification
- Manipulation of resources through representations
- Self-descriptive messages
- Hypermedia as the engine of application state (HATEOAS)
- Code on demand (optional)
- Layered system
- RESTful web services
- Conventions of RESTful web services
- HTTP verbs and URL structure
- List operation
- Create operation
- READ operation
- Update operation
- Delete operation
- Why RESTful web services?
- REST versus SOAP
- Nature of HTTP methods
- Safe/unsafe HTTP methods
- Idempotent and non-idempotent methods
- HTTP response
- Response type
- Response codes
- Case study - RESTful web service endpoints for a blog
- Blog post
- Requirements
- Endpoints
- Creating blog post
- Reading blog post
- Updating blog post
- Delete blog post
- Listing all blog posts
- Blog post comments
- Requirements
- Endpoints
- Creating the post's comment
- Reading a comment
- Updating a comment
- Deleting a post comment
- Listing all comments for a particular post
- More resources
- Summary
- PHP7 To Code It Better
- Scalar type declaration
- Return type declaration
- Null coalescing operator
- Spaceship operator
- Group use declarations
- Generator-related features
- What are generators?
- Generator return expression
- Generator delegation
- Anonymous classes
- Closure::call()
- Errors and exceptions
- PHP7.1
- Nullable types
- Symmetric array destructuring
- Support for keys in list()
- Multi-catch exception handling
- More resources
- Summary
- Creating RESTful Endpoints
- Creating a REST API for a blog in PHP
- Creating a database schema
- Blog user/author table schema
- SQL for users table
- Blog post table schema
- Blog post comments schema
- Creating a RESTful API's endpoint
- Code structure
- Common components
- DB class
- Router class
- Code sync
- Creating blog post endpoints
- REST client
- To do
- Visible flaws
- Validation
- Solution
- Authentication
- Solution
- Proper 404 pages
- Summary
- Reviewing Design Flaws and Security Threats
- Finding problems in the current code
- Structural and design flaws
- Missing query builder layer
- Incomplete router
- Usage of OOP
- Separate Configurations from Implementation
- Should write tests
- Input validation
- Handling 404 and other errors
- Meta information missing
- DB fields abstraction
- Security
- Securing API endpoints
- What is Auth middleware?
- Common security threats in RESTful web services
- Use of HTTPS
- Securing an API key/token
- Not passing an access token in the URL
- Access token expiration
- Limited scope access token
- Public and private endpoints
- Public API endpoints
- Insecure direct object reference
- Restricting allowable verbs
- Input validation
- Available reusable code
- Summary
- Load and Resolve with Composer an Evolutionary
- Introduction to Composer
- Installation
- Installation on Windows
- Installation on Linux/Unix/OS X
- Global Installation
- Usage of Composer
- Composer as a dependency manager
- Installing packages
- Installing using composer.json
- The composer.json in detail
- The require object
- The require-dev object
- The autoload and autoload-dev
- The scripts
- The composer.lock
- Composer as an auto-loader
- Example
- Composer for creating a project
- Example
- Summary
- Illuminating RESTful Web Services with Lumen
- Introducing Lumen
- Why micro-framework?
- Why Lumen?
- What Lumen provides
- What Lumen has in common with Laravel
- How Lumen is different from Laravel
- What exactly Lumen provides
- A Good Structure
- Separate configurations
- Router
- Middle-wares
- Service Container and Dependency Injection
- HTTP responses
- Validation
- Eloquent ORM
- Database migration and seeding
- Unit testing
- Installing Lumen
- Configuration
- Setting up the database
- Writing migrations
- Writing RESTful web service endpoints
- Writing the first controller
- Lumen routes
- REST resource
- Eloquent ORM (model layer)
- Creating models
- Eloquent relationships
- Controller Implementation
- What we are missing?
- Validation and negative cases?
- /api/posts with GET method
- /api/posts with the POST method
- /api/posts/1 with the GET method
- /api/posts/1 with the PATCH/PUT method
- /api/posts/1 with the DELETE method
- User authentication
- Other missing elements
- Comment Resource Implementation
- Summary
- Improving RESTful Web Services
- Dingo simplifying RESTful API development
- Installation and configuration
- Simplifying routes
- API versioning
- Rate limiting
- Internal requests
- Responses
- Authentication and middleware
- JWT Auth setup
- The Manual way
- Simpler way through Lumen JWT authentication integration package
- Authentication
- Log in
- Invalidate token
- Refresh token
- Transformers
- Understanding and setting transformers
- Using transformers
- Encryption
- SSL certificate different options
- Summary
- API Testing – Guards on the Gates
- The need for automated tests
- Types of testing
- Unit testing
- Acceptance testing
- Functional testing
- Integration testing
- What type of testing will we do?
- Testing frameworks
- CodeCeption introduction
- Setup and understanding the structure
- tests/{suite-name}/
- tests/{suite-name}.suite.yml
- tests/_support/_generated/{suite-name}TesterActions.php
- tests/_support/{suite-name}Tester.php
- tests/_support/Helper/{suite-name}.php
- Creating the API suite
- Configuring the API suite
- Writing test cases
- API tests for post resource
- Other test cases
- Summary
- More resources
- Microservices
- Introducing Microservices
- How to divide an application into microservices?
- Motivation towards microservices
- Maintenance and debugging
- Scalability
- Technology diversity
- Resilience
- Replaceability
- Parallelization
- How it is different from SOA
- Team structure
- Challenges of micro-services
- Infrastructure maintenance
- Performance
- Debugging and fault-finding
- Logs should be centralized
- Logs should be searchable
- Track chain of requests
- Dynamic log levels
- Implementation
- Deployments
- Inter-services communication
- Asynchronous communication
- Shared library or common code
- Summary
- What's next 更新時(shí)間:2021-07-03 00:02:54
推薦閱讀
- DevOps for Networking
- Python從小白到大牛
- Leap Motion Development Essentials
- Vue.js快速入門(mén)與深入實(shí)戰(zhàn)
- 算法基礎(chǔ):打開(kāi)程序設(shè)計(jì)之門(mén)
- Web Development with Django Cookbook
- 碼上行動(dòng):零基礎(chǔ)學(xué)會(huì)Python編程(ChatGPT版)
- NativeScript for Angular Mobile Development
- Scientific Computing with Scala
- Java Web應(yīng)用開(kāi)發(fā)項(xiàng)目教程
- Java Web應(yīng)用開(kāi)發(fā)給力起飛
- Backbone.js Testing
- PostgreSQL Developer's Guide
- Implementing Splunk(Second Edition)
- Building Scalable Apps with Redis and Node.js
- Node.js進(jìn)階之路
- Learning ClojureScript
- 機(jī)器學(xué)習(xí)開(kāi)發(fā)者指南
- 程序員面試筆試寶典
- Linux C編程從入門(mén)到精通(“十二五”國(guó)家重點(diǎn)圖書(shū)出版規(guī)劃項(xiàng)目)
- PSYCHTOOLBOX工具箱及MATLAB編程實(shí)例
- 構(gòu)建高質(zhì)量軟件:持續(xù)集成與持續(xù)交付系統(tǒng)實(shí)踐
- Cocos2d—X 案例開(kāi)發(fā)大全
- Python基礎(chǔ)實(shí)例教程(微課版)
- Building Interactive Queries with LINQPad
- Hands-On Deep Learning with TensorFlow
- Raspberry Pi Android Projects
- HBase入門(mén)與實(shí)踐(第2版)
- Preparing for the Certified OpenStack Administrator Exam
- Android開(kāi)發(fā)藝術(shù)探索