Write PHP Like a Pro: Build a PHP MVC Framework From Scratch
- 3 hours on-demand video
- 7 articles
- 40 downloadable resources
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to Udemy's top 3,000+ courses anytime, anywhere.Try Udemy for Business
- Separate application code from presentation code
Organise your PHP code into models, views and controllers in an MVC framework
Use namespaces and an autoloader to load PHP classes automatically
- Use the Composer tool to manage third-party package dependencies and autoloading
- Handle errors and exceptions in PHP and display more or less error detail based on the environment
- Understand how MVC frameworks work, making it easier to learn an existing framework like Laravel or CodeIgniter
An introduction to the course, including:
- A summary of what you're going to learn
- How to get the most out of the course
- How to download the code and other resources with each video
- How to contact me for help with anything at all
Understand why mixing application code and presentation code in the same PHP script is a bad idea, the problems it causes, and their solution.
Learn what the Model-View-Controller (MVC) pattern is, what each part does, and the advantages of using it.
Install and configure everything you need on your computer so you can follow along with the course: a web server that supports PHP and a database server like MySQL.
If you do have any problems at this stage, please don't hesitate to ask for help. For example, having Skype installed or a recent install of WIndows 10 could require a slight change to the configuration to get it working as shown in the video.
Begin creating the framework by creating the folders necessary on the web server, and configuring it so the code will be more secure.
Understand what a front controller is: how every request goes though the same script file, and how we get the request URL from the query string.
If you're using the Apache web server (the one that comes with AMPPS andfor example), and you're having problems getting the pretty URLs working, then it's possible that you need an additional line of code in your .htaccess file. This lecture details the small change that you need to make to your code.
Learn how we're going to make routes more flexible and powerful by adding patterns.
Learn how to go from simple to complex string comparisons using regular expressions, specifically simple character matching and metacharacters.
Learn what controllers and actions are and how they fit into the framework.
Adding the action filters to the framework has introduced a potential security hole with the router that could allow users to run action methods when they shouldn't be able to.
In this lecture I explain in detail what the problem is, and how to fix it.
Updated code with the fix applied is attached to this lecture as a resource.
Twig 2.0 is now available. If you install or upgrade to that version, you need to remove the following line from the front controller, public/index.php:
This step is no longer necessary in Twig 2.0, and will cause an exception if you leave it in.
A recent update to the Twig template library might cause an error when rendering a template.
You might see an error like this:
Uncaught exception: 'ErrorException'
Message: 'file_get_contents(App/Views/Home/index.html): failed to open stream: No such file or directory'
The problem occurs when creating the Twig environment and passing in the directory where the Twig templates are located.
This article tells you how to fix it.
An introduction to Composer: a tool to install and manage third-party code packages.
- You should already be familiar with PHP and HTML.
- You should be comfortable installing software on your computer - in the first section we'll be installing a web server.
Learn the basic concepts of using a model-view-controller framework that will make your PHP projects faster, easier to write and maintain, and more secure.
Structure your PHP Code Like a Professional by Building a PHP MVC
Framework from Scratch.
- Model-view-controller (MVC) pattern concepts
- Build an MVC framework in PHP from scratch
- Separate application code from presentation code
- Use namespaces and an autoloader to load classes automatically
Take your PHP Projects to the Next Level
Learning how to use
an MVC framework puts a very powerful tool at your fingertips. Most
commercial websites and web applications written in PHP use some sort
of framework, and the MVC pattern is the most popular type of
framework in use.
The gap between
knowing PHP and using a framework can be huge. This course bridges
that gap. By writing your own framework from scratch, you'll gain an
understanding of just how each component works. Frameworks like
Laravel, Symfony and CodeIgniter all use the MVC pattern, so
understanding how an MVC framework is put together will give you a
strong background to more easily learn frameworks such as these.
I designed this
course to be easily understood by programmers who know PHP but don't
know how to use a framework. Are you putting database code and HTML
in the same PHP script? Want to know why this is a bad idea? Want to
know how to do it better?
Starting with the
basic concepts of MVC frameworks, this course will take you through
all the steps needed to build a complete MVC framework, a piece at a
Beginning with a
single PHP script, each lecture explains what you're going to add to
the code and why, building up the framework step by step. At the end
of this course, you'll have built a complete MVC framework in PHP,
ready to use in your own projects.
working source code at every stage, you'll be able to work alongside the instructor
and will receive a verifiable certificate of completion upon
finishing the course.
- This PHP MVC course is meant for those who already know PHP but want to know how they can improve their code by using a framework. This course is not for you if you don't already know PHP.
- The gap between learning PHP and using a framework can be large - if you've just learnt PHP and you're wondering what the next step might be, this course is for you.