
Rediscover the roots of PHP with lean procedural coding, avoiding frameworks and heavy abstractions to write fast, maintainable, and easy to debug applications.
Target beginners and seasoned developers seeking rapid PHP development, especially solo developers; not ideal for larger teams, avoiding bulky frameworks and complex OOP, focusing on simple, lean, fast code.
Rapid fast PHP development guides you in building a simple warehouse app, covering environment setup, routing, templating, database operations, security logins, user management, sessions, APIs, and JavaScript enhancements.
Explore real-time debugging in a real-world PHP project, embracing mistakes as learning opportunities. Watch code be written live, encounter errors, and see step-by-step debugging solutions.
Sorry for the bad audio quality in this section. It will be fixed in the next section.
In the Attachment you find a description how to add a site to a XAMPP server.
Im Anhang findet ihr eine Anleitung wie man eine Site in XAMPP einrichtet.
Install and configure Visual Studio Code as your default PHP editor, install PHP IntelliSense, open your web root with Wamp, create index.php, and test by echoing hello world.
Learn how to install composer, the dependency manager for PHP, explore Packagist, search for Twig, and install by following platform-specific setup steps and updating your PHP path.
Explore essential MySQL administration tools such as MySQL Workbench, phpMyAdmin, DBeaver, and HeidiSQL; install the software and connect to a local MySQL server to create databases and tables.
Create a basic HTML template with a left menu and right content, use CSS to set a 150px fixed width, float left, display links as blocks with padding.
Enhance the design with table.io by installing and including its stylesheet and JavaScript, then implement a left sidebar layout and a responsive mobile view, using the provided code in resources.
Organize a PHP project with a public folder (index.php) and CSS, JS, and image directories, plus an app with controller and views, and a render folder for templates and routers.
Learn rapid PHP routing and templating by building a tiny router, mapping requests to a controller, rendering with a template engine, and setting up .htaccess rewrite.
Learn to set up and use the Twig template engine in PHP, including installing Twig, configuring the templates path, and rendering a home.twig with header and footer.
Split the template into header and footer files with twig, include them on every page, and pass variables via render as an array using curly and double braces for syntax.
Fix twig integration with syntax highlighting and a global template array, merging routes to expose app name in headers and menus, and restore the burger menu toggle.
Important if you are using wamp.net - instead of localhost use 127.0.0.1. Otherwise everythink takes very long to load.
Learn to build a PHP product management module by creating a products table with timestamps and routing list and save actions to a controller and Twig views.
We are talking about:
- Route names - how to use in PHP
- http methods
- dbo-update
- html bootstrap classes for forms & cards
- javascript eventhandlers, getElements & loops
Learn to make the add product button clickable, insert product data with PHP, and use sessions to pass success or error messages to a notify.js popup via router and header/footer.
Create an admin page to manage storage rooms using a PHP MVC setup; build a storage_rooms table with name, color, max_capacity, and show rooms as cards with edit links.
Create a page for editing or adding a room.
Using some new tabler/bootstrap elements like rangeslider and colorpicker.
Wire javascript to sync a range slider with a text display and enable back navigation. Save rooms in php using update or insert logic with a hidden id and redirects.
Sorry: there was sometimes a problem with the mic in this section so I had to dub some content.
Learn how to add a twig template to display inventory, pass storage rooms and products, render a max capacity progress bar, and implement a modal window to add inventory.
Learn to implement a Twig modal window for inventory management in PHP, handling insert or update logic, and validate and provide feedback for adding or removing stock.
Create user and user group tables, and a user list page, then implement password hashing and resets, PHP mailing with the net email plugin, and a data table-enhanced list.
Explains building a PHP add-user workflow with a form and routes, validates input, hashes passwords with a pepper and password_hash, and saves securely; outlines a login system next.
Create a login page, implement a router update that redirects not logged in users to the login page, and render the login template with header and menu adjustments.
Build a login system with session-based authentication, including routing for login and logout, password hashing and verification, database-backed user checks, and user feedback through messages.
Build a password reset workflow in php, including a reset page, token generation and storage, and sending the reset email with php mail or nette mail, then set a password.
Be aware that there is an mistake at the end of this code. It will be fixed and explained. But be sure not to skip that part at the very end.
Learn to implement user editing by linking the edit route to the edit form, load and prefill user data and groups, and manage update vs insert with password change handling.
Style Code for the password strengh meter:
<style>
.Password__strength-meter {
position: relative;
height: 3px;
background: #ddd;
margin: 10px auto 20px;
border-radius: 3px;
}
.Password__strength-meter--fill {
background: red;
height: inherit;
position: absolute;
width: 0%;
border-radius: inherit;
transition: width .5s ease-in-out, background .25s;
}
.Password__strength-meter:before {
left: 25%;
}
.Password__strength-meter:after {
right: 25%;
}
.Password__strength-meter:after, .Password__strength-meter:before {
content: "";
height: inherit;
background: transparent;
display: block;
border-color: #fff;
border-style: solid;
border-width: 0 5px;
position: absolute;
width: 25%;
z-index: 10;
}
</style>
prevent inserting users with the same email by checking the database for existing emails before saving in php, handling redirects, and exiting to avoid duplicate submissions.
What is CSRF?
How to protect against CSRF!
CSRF Check via AltoRouter
What is CSP?
How to setup a CSP.
Demonstrate SQL injections and XSS risks from user input, and defend with prepared statements and server-side validation. Explore input validation techniques, including filter_var with email and serious validation library.
Compare autoincrement IDs with uuids and tokens, noting readability and security tradeoffs; adopt a hybrid approach using nano IDs for API tables to balance readability and distributed-system needs.
Hide production errors and secure sensitive data by using a dot env local file loaded into config, moving db credentials and app settings off code.
In rapid fast php development, build a logging system with a log_logs table, a write_log function, and events for login, logout, and user deletion.
Learn to implement the HSTS header to enforce HTTPS, and configure PHP session cookies with httpOnly, secure, and SameSite attributes, including a one-hour lifetime and proper path and domain.
Develop secure PHP file uploads by adding a product image input, validating size and mime type, moving files to public or private storage, and updating the product image path.
Build and secure a PHP REST API to view products, place orders, check status, and delete orders, using token-based authentication, endpoint testing, and OpenAPI and Swagger documentation.
Secure api access with two methods: basic authentication via HTTP header using username and password or API key and secret string, and JWT tokens issued after validation for subsequent requests.
Learn to test a server-side API using the Thunder Client VS Code extension with Wamp.net, configure Apache vhosts for SSL and non-SSL, and apply basic authentication settings.
Define API routes and implement basic authentication to validate credentials and log events. Create and encode a JWT with issuer, issued at, expiration, and user id using Firebase JWT.
Learn how to secure a php api with jwt authentication, fetch products via /api/products, verify bearer token, decode jwt, and return detailed product data including stock and image paths.
Finish the API by adding create, view, and delete order routes, define the orders table with hash, user id, details, status, and timestamps, plus token-authenticated PHP CRUD.
Welcome to the updated and upgraded version of my popular "Oldschool PHP Development" course – now better, faster, and packed with even more practical knowledge!
Do you miss the days of simple, effective PHP development without getting bogged down in overly complex frameworks and bloated OOP principles? Then this course is for you! We’re all about delivering real results with good old-fashioned procedural PHP – no heavy frameworks, just smart coding with the latest tools and PHP packages.
Whether you’re a complete beginner or an experienced developer wanting to revisit the fundamentals, this course will guide you step-by-step, from setting up your development environment all the way to deploying your own PHP applications.
What You'll Learn:
Setting Up Your Environment: Learn how to install and configure PHP on your local machine, ensuring you’re ready to dive in quickly.
Routing: Master the essentials of handling URL routes without relying on heavy frameworks.
Templating: Build your own flexible and fast templating systems without unnecessary layers.
Database Operations: Perform efficient CRUD operations and integrate your PHP code with databases like a pro.
Security: Implement critical security measures to keep your application safe from common vulnerabilities.
Logins & User Management: Handle user authentication, session management, and create secure login systems.
Sessions & APIs: Work with sessions effectively and connect your PHP applications to external services using APIs.
And much more – all without getting lost in the jargon or over-complicating the process.
Why Choose This Course?
Practical, Rapid-Fast Development: Skip the fluff and jump straight into coding with techniques that focus on getting things done fast and right.
Procedural PHP at Its Best: No need to get overwhelmed by abstract classes, interfaces, or other complex OOP concepts. We stick to what works.
Hands-On Learning: Build and deploy real-world projects from scratch, using tools that enhance your productivity while keeping things simple.
If you’re ready to cut through the noise, simplify your development workflow, and bring back the joy of fast, effective PHP coding, then join us on this exciting journey!
Let’s get started – enroll now and start building your PHP applications today!