We make a Create record handler in a Zend Expressive application for a REST API PHP project. (see shortcuts below to key points) Adam Culp of Beachcasts php videos creates a new create handler to satisfy POST HTTP requests to a REST API written in PHP using a php framework.
Later we will be introducing Zend Framework (Laminas Project) components, as well as components from other projects.
Next video in the series: https://youtu.be/SYuLwMwSIpg
It is part of the playlist: https://www.youtube.com/playlist?list=PL6_nF0awZMoMol4RPLf99WIZuoJ3l87oG
For a nice list of equipment I use in my studio, and to support the channel if you make any purchases (doesn’t cost you a thing), visit my kit at kit.co: https://kit.co/beachcasts/beachcasts-studio
Please * LIKE, COMMENT, AND SUBSCRIBE * – and share with others!
Key Topics:
– Using the Expressive CLI toolkit component
– Create an Expressive Handler Factory and corresponding Handler
– REST API Create record
– Leverage Doctrine ORM Paginator for HAL creation
NOTE: This video does not include data verification or validation, which should be included in all applications. That will be added in future videos.
Errata:
Let me know if you notice anything that should be errata
Code used in this, and in future videos of this series is located at: https://github.com/Beachcasts/doctrine-expressive-example
Associated Links:
https://docs.zendframework.com/zend-expressive/ – Site for Zend Expressive
https://getexpressive.org/ – Expressive main site
Timeline:
00:00 Video Intro
01:43 Using a Scratch in PhpStorm
04:12 Using Expressive Tooling to create a new Handler via CLI
06:42 Add an object setter/hydrator for a method
05:55 Highlight config files created by Expressive Tooling
09:30 Update module ConfigProvider with the new Factory
11:25 Complete the Handler Factory
13:50 Add BodyParamsMiddleware to allow accessing a Request body
16:05 Add fields to a class, followed by creation of a constructor to populate them
18:30 Gaining POST data from the body of a request.
21:00 How to use Doctrine ORM to create DB records
23:19 Add automated HAL (Hypermedia) creation for the record creation
24:50 Fixed error created at 09:30 in the ConfigProvider
Other Beachcasts PHP tech videos you might find interesting:
Critical programming issues preventing a PHP 7 upgrade https://youtu.be/z13glyDnm6s
Behat for beginners functional REST API testing tutorial https://youtu.be/nFNGDhyFrm4
Doctrine ORM one-to-many bi-directional association https://youtu.be/4nEdBDxBc1w
PHP Mess Detector static analysis to find PHP code smells https://youtu.be/8fEfHESrK5E
Doctrine ORM one-to-many self-referencing association https://youtu.be/4dHZ6cZooOk
10 reasons to become a consultant in a consulting business https://youtu.be/J7gpMYAKmDM
Zend Framework becomes Laminas project at Linux Foundation https://youtu.be/CEIO90ocEDI
10 bad things about consulting https://youtu.be/ELE0G3e7h3c
How to get lines of code in PHP https://youtu.be/HpC-Cvxj6oY
Make a List handler middleware https://youtu.be/VLqavHCFv6g
Make a Delete handler middleware https://youtu.be/3nLbQfMk99k
Make an Update handler middleware https://youtu.be/3Zcq5Jjz1Po
Automate Hypermedia creation for PHP REST API https://youtu.be/dX6S-pJVUXI
Learn about Hypermedia and how to create it https://youtu.be/aV6ro_JXL_A
Doctrine ORM Paginator for PHP REST API https://youtu.be/UpqOew4sNT0
Doctrine ORM Entity how to https://youtu.be/NnK9Geg1h_E
Configure Doctrine ORM https://youtu.be/pFvh5ZNhdOQ
Create PHP middlware with Zend Expressive https://youtu.be/26440j7D0BE
Configure PhpStorm for PHP development with Docker https://youtu.be/FQWL-JTZvf4
Create PHP development environment with docker https://youtu.be/2ESAi2vq-80
Help through referrals:
Thinking of buying a Tesla electric vehicle? Use this referral link to also get six months of free Supercharging for both of us. Thank you. https://www.tesla.com/referral/tanya21367
I use TubeBuddy to help me manage my YouTube channel. If you’re interested, click the following link to check it out. https://www.tubebuddy.com/beachcasts
#DoctrineORM #ZendExpressive #Beachcasts
Comments