Beachcasts PHP Tech Videos!


Host, Adam Culp (@AdamCulp), shares PHP tech videos from South Florida. Created in my home-based office in Fort Lauderdale, usually these will be PHP related and include Expressive from the Laminas Project, or some other technology in the PHP web development space. So, most of the content will be about web development with a lean toward PHP web application development to help with your php projects.

Much of my spare time, when I'm not consulting or speaking at conferences, is spent hacking on code for continued learning. So, I decided, why not share the experience with others, through PHP tech videos, who might also find it helpful?

As a result of these PHP tech videos being created LIVE, they will not always be polished because I stream them as I'm learning something. But I'll try to make them useful.

My hope is to help others learn through my bumblings. I'm not the best programmer, but I enjoy sharing what I know.

Watch LIVE when I'm recording: https://www.twitch.tv/beachcasts

Watch past episodes on YouTube: https://www.youtube.com/c/Beachcasts

Follow us on Twitter: https://twitter.com/beachcasts

Like us on Facebook: https://facebook.com/beachcasts

Code with us on Github: https://github.com/beachcasts

Monthly Newsletter Signup!


Please sign up for the monthly newsletter to help you stay current on the previous months uploaded videos and other news. I promise your email is safe with me. No spam or list selling.

Beachcasts Newsletter Signup

* indicates required

My YouTube PHP Tech Videos!


Most Recent First

Behat for beginners functional REST API testing tutorial
Behat for beginners functional REST API testing tutorial
Behat for beginners functional REST API testing tutorial. Adam Culp of Beachcasts programming videos walks through a php tutorial on how to install Behat, a PHP framework for Behavior Driven Development. Then I create BDD tests to test a REST API using GuzzleHttp from within Behat. This allows easy api testing through test automation, and behaviour driven development for software testing.

Doctrine ORM one-to-many bi-directional association
Doctrine ORM one-to-many bi-directional association
Doctrine ORM one-to-many bi-directional association for data connections between entities. Adam Culp of Beachcasts php tutorial videos walks through how to create entity associations using php annotations with DoctrineORM for web development.
PHP Mess Detector static analysis to find PHP code smells
PHP Mess Detector static analysis to find PHP code smells
PHP tutorial to detect code smells in a PHP application using static analysis by using PHP Mess Detector (PHPMD) from the command line or using Docker. In this PHP video Adam Culp uses PHPmd, a command line application, to conduct static analysis and generate a useful report. Adam Culp of Beachcasts programming tutorials will show how to use phpmd from a Docker Container using a Docker Image on Docker Hub.
DoctrineORM one-to-many self-referencing association
DoctrineORM one-to-many self-referencing association
PHP Doctrine ORM entity one to many mapping, or self-referencing association for parent-child data connections between entities. Adam Culp of Beachcasts php videos walks through how to create entity associations using php annotations with DoctrineORM for web development.

10 reasons to become a consultant or have a consulting business
10 reasons to become a consultant or have a consulting business
10 good reasons to start a consulting business or become a consultant. Before you start looking into how to become a consultant, Adam Culp of Beachcasts PHP videos shares points from his experience to help you figure out if being a PHP consultant is the right job for you. As you look into how to become a consultant, and before you become a consultant, consider these things carefully.
Zend Framework becomes Laminas project at Linux Foundation
Zend Framework becomes Laminas project at Linux Foundation
I share the exciting news announced today, that Zend Framework will be rebranded as the Laminas project under the Linux Foundation. Adam Culp of Beachcasts php videos shares what he's learned about the transition of the php framework Zend Framework to the Laminas project, and to become part of the Linux Foundation.
10 bad things about consulting, and why it might not be for you
10 bad things about consulting, and why it might not be for you
In this video I share 10 bad things about being a consultant, and why a consulting job might not be a good fit for you. Adam Culp of Beachcasts shares points from his experience to help you figure out if being a PHP consultant is the right job for you.

How to get lines of code in PHP with PHPLoc via CLI or using Docker
How to get lines of code in PHP with PHPLoc via CLI or using Docker
In this video I show how to get the lines of code in a PHP application by using PHPLoc from the command line or using Docker. This tool is a command line application to generate a small but useful report. I will show how to use it from a Docker Container using a Docker Image I created. PHPLoc demonstrated on the Concrete5 CMS codebase.
  1. Why find the lines of code?
  2. PHPLoc is an application to find the lines of code in PHP
  3. Different methods to use PHPLoc
  4. How to use a Docker image to run PHPLoc
Make a List handler middleware in a Zend Expressive PHP REST API
Make a List handler middleware in a Zend Expressive PHP REST API
We make a List handler middleware in a Zend Expressive, Laminas Project, application for a PHP REST API project using Doctrine ORM in PhpStorm.
  1. Refactor Expressive module to rename a handler
  2. Using the Expressive CLI toolkit component
  3. Automate Hypermedia creation
  4. Leverage Doctrine ORM Paginator for HAL creation
Make Delete handler middleware in an Zend Expressive PHP REST API
Make Delete handler middleware in an Zend Expressive PHP REST API
We make a Delete handler middleware in a Zend Expressive, Laminas Project, application for a PHP REST API project using Doctrine ORM in PhpStorm.
  1. Using the Expressive CLI toolkit component
  2. Automate Hypermedia creation
  3. Leverage Doctrine ORM Paginator for HAL creation

Make an Update handler middleware in an Expressive PHP REST API
Make an Update handler middleware in an Expressive PHP REST API
We make an Update handler in a Zend Expressive, Laminas Project, application for a PHP REST API project using Doctrine ORM in PhpStorm.
  1. Using the Expressive CLI toolkit component
  2. Automate Hypermedia creation
  3. Leverage Doctrine ORM Paginator for HAL creation
Add UUID to Doctrine ORM in a Zend Expressive application for a REST API PHP Project
Add UUID to Doctrine ORM in a Zend Expressive application for a REST API PHP Project
We add UUID to a Zend Expressive, Laminas Project, application for a REST API PHP project, so that the ID for each record in the database carries a universally unique identifier rather than an auto increment integer.

Key Topics:
  • Using Ramsey Uuid library
  • Incorporate Uuid into Doctrine ORM entities
  • Use PhpStorm database panel to alter the database
Make a Create handler in an Expressive REST API PHP Project
Make a Create handler in an Expressive REST API PHP Project
We make a Create handler in a Zend Expressive, Laminas Project, application for a REST API PHP project.

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

Automate Hypermedia REST API creation in a PHP Project
Automate Hypermedia REST API creation in a PHP Project
Automate Hypermedia REST API creation in a PHP Project

Key Topics:
  • Using Expressive HAL component
  • Automate Hypermedia creation
  • Leverage Doctrine ORM Paginator for HAL creation
Creating Hypermedia (HAL) for a REST API in your PHP project
Creating Hypermedia (HAL) for a REST API in your PHP project
Creating Hypermedia (HAL) for a REST API in your PHP project.

Key Topics:
  • Adding CRUD routes to FastRoute
  • Using the Expressive UrlHelper
  • Creating Hypermedia (HAL) links
  • Adding Hypermedia links to an entire dataset
Using Doctrine ORM Paginator in your PHP project for pagination in a REST API
Using Doctrine ORM Paginator in your PHP project for pagination in a REST API
Using Doctrine ORM Paginator in your PHP project for pagination in a REST API.

Key Topics:
  • Adding Doctrine Paginator to a PHP Project for pagination
  • Create page size in the configuration
  • Using dependency injection to pass the page size to the Handler
  • Create temporary variables to help manage meta data used by pagination
  • Create dynamic route to handle pagination through the request URL

Create a Doctrine ORM Entity with PHP and query data with pagination
Create a Doctrine ORM Entity with PHP and query data with pagination
Create a PHP Entity and use it in Doctrine ORM to query data with Zend Expressive, Laminas Project, middleware handler using Paginator, to return as JSON.

Key Topics:
  • Install dasprid/container-interop-doctrine
  • Create a Doctrine ORM Entity
  • Add Entities to Announcements/ConfigProvider
  • Test Entities with Doctrine ORM CLI
  • Add EntityManager to Factory
  • Add __contruct() to Handler
  • Add fields to Handler
  • Get Repository in handle()
  • Add createQueryBuilder
  • getQuery
  • Pass Query to Paginator
  • Get records through Paginator
  • Hydrate an array from Paginator to pass to JsonResponse
Install and configure Doctrine ORM and Doctrine Dbal using Composer, then configure the CLI tools
Install and configure Doctrine ORM and Doctrine Dbal using Composer, then configure the CLI tools
Install Doctrine ORM and Doctrine Dbal using Composer, and usage of dasprid/container-interop-doctrine. Plus how to create configuration files for Doctrine ORM allowing the CLI tools to function.

Key Topics:
  • Install dasprid/container-interop-doctrine
  • Install Doctrine ORM
  • Install Doctrine Dbal
  • Use the Doctrine ORM CLI
  • Use the Doctrine Dbal CLI
  • Create cli-config.php for Doctrine CLI
  • Create Doctrine configuration
Creating PHP middleware with Zend Expressive modules, and using routing with FastRoute
Creating PHP middleware with Zend Expressive modules, and using routing with FastRoute
In this stream Adam Culp (@AdamCulp) shows how to create Zend Expressive, Laminas Project, modules using command line tooling. And create a middleware Handler and the routing needed for it to resolve using FastRoute. To finish up he creates a RoutesDelegator to handle module specific routes within the module rather than housing routes for the entire application together.

Key Topics:
  • Use the Zend Expressive command line (CLI) tooling
  • Create a Zend Expressive module
  • Create a Zend Expressive middleware handler
  • Create HTTP routes for FastRoute
  • Create a Zend Expressive RoutesDelegator to handle routes per module

Setting up PhpStorm for PHP development with Docker Containers
Setting up PhpStorm for PHP development with Docker Containers
In this stream Adam Culp (@AdamCulp) sets up PhpStorm to be ready for local PHP development using Docker containers with PHP/Apache, and MySQL.

I show how to set up PhpStorm to manage Docker images and containers, run PHPUnit tests, use the internal Terminal, and also manage a MySQL database. All these are running inside multiple Docker containers.

Key Topics:
  • How to set up the PhpStorm IDE for development using Docker containers
  • Manage Docker from within PhpStorm
  • Configure PhpStorm to run PHPUnit tests
  • Configure PhpStorm to manage MySQL database
  • Configure PhpStorm for remote debugging in Docker Container
  • How to use the Terminal in PhpStorm
Setting up PhpStorm for PHP development with Docker Containers
Setting up PhpStorm for PHP development with Docker Containers
In this episode, Adam Culp (@AdamCulp) walks through how he typically creates a PHP development environment using PHP version 7.2, Composer, Docker (docker-compose), Apache, MySQL, and Zend Expressive by Laminas Project. Key Topics:
  • How to use Composer
  • How to install Zend Expressive Skeleton Application
  • How to use Docker-Compose to create a Docker container
  • How to create a Dockerfile
  • How to create a docker-compose.yml file
Introduction to Beachcasts - Tech Videos from the beach in South Florida
Introduction to Beachcasts - Tech Videos from the beach in South Florida
Our host, Adam Culp (@AdamCulp), introduces his idea behind Beachcasts (@Beachcasts) and what he hopes to accomplish with it. Since he enjoys hacking to learn new technologies and skills, why not share it with others through video.

Win a SunshinePHP Yellow ElePHPant


April SunshinePHP ElePHPant Raffle (2019)

Good Luck!

Supporting Beachcasts!


Enjoying Beachcasts tech videos and want to help Adam create more content, and help more people? Here are some options. Thank you very much for your support.

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. Tesla Referral Link

I use TubeBuddy to help me optimize my content on YouTube. I've found the software useful, and you might also. Click the following link and download a copy for yourself. TubeBuddy

©Beachcasts 2019