PHP Development Bootcamp: Zero to Mastery
23h 47m 23s
English
Paid
Course description
Learn modern PHP and become a better developer. This is the only PHP course you need to go from complete beginner to coding your own PHP applications and working with existing PHP applications.
Read more about the course
Learn modern PHP. We guarantee you that this is the most comprehensive and up-to-date PHP Bootcamp course to go from absolute beginner to mastering PHP web development, getting hired, and advancing your career.
Watch Online
0:00
/ #1: Learn PHP with Luis Ramirez
All Course Lessons (308)
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Learn PHP with Luis Ramirez Demo | 00:55 | |
| 2 | What is PHP? | 03:16 | |
| 3 | PHP Environment | 06:43 | |
| 4 | The PHP Interpreter | 05:45 | |
| 5 | Running a PHP Script | 06:45 | |
| 6 | PHP Tags | 03:45 | |
| 7 | The echo Keyword | 05:58 | |
| 8 | Comments | 02:08 | |
| 9 | Variables | 05:21 | |
| 10 | Assignment Operator | 04:12 | |
| 11 | Data Types | 04:36 | |
| 12 | The var_dump Function | 03:11 | |
| 13 | Null Data Type | 03:23 | |
| 14 | Boolean Data Type | 02:29 | |
| 15 | Integers and Floats | 03:44 | |
| 16 | String Data Type | 06:42 | |
| 17 | Arrays | 04:45 | |
| 18 | Associative Arrays | 03:32 | |
| 19 | Multidimensional Arrays | 03:39 | |
| 20 | Type Casting | 07:52 | |
| 21 | Type Juggling | 02:25 | |
| 22 | Arithmetic Operators | 06:23 | |
| 23 | Assignment Operators | 02:27 | |
| 24 | Comparison Operators | 05:42 | |
| 25 | Error Control Operator | 01:34 | |
| 26 | Incrementing and Decrementing Numbers | 02:54 | |
| 27 | Logical Operators | 04:28 | |
| 28 | Operator Precedence | 05:40 | |
| 29 | Constants | 04:58 | |
| 30 | String Concatenation | 03:28 | |
| 31 | Terminology: Expressions | 02:55 | |
| 32 | Control Structures | 08:38 | |
| 33 | Switch Statements | 06:07 | |
| 34 | Match Expressions | 04:31 | |
| 35 | Functions | 04:56 | |
| 36 | Function Parameters | 04:10 | |
| 37 | Function Return Values | 02:25 | |
| 38 | Type Hinting & Union Types | 04:19 | |
| 39 | Strict Types | 02:41 | |
| 40 | Short-Circuiting | 02:53 | |
| 41 | While Loop | 04:58 | |
| 42 | For Loop | 04:41 | |
| 43 | Foreach Loop | 02:59 | |
| 44 | Getting Started with Challenges | 04:24 | |
| 45 | Coding Solution: Resistor Colors | 03:28 | |
| 46 | Coding Solution: Two Fer | 02:41 | |
| 47 | Coding Solution: Leap Year | 05:15 | |
| 48 | Predefined Constants | 05:31 | |
| 49 | Alternative Syntax for Constants | 04:45 | |
| 50 | Unsetting Variables | 04:36 | |
| 51 | Reading the PHP Documentation | 06:29 | |
| 52 | Rounding Numbers | 07:35 | |
| 53 | Alternative if statement syntax | 05:11 | |
| 54 | Avoiding Functions in Conditions | 06:36 | |
| 55 | Including PHP Files | 10:06 | |
| 56 | Variadic Functions | 04:29 | |
| 57 | Named Arguments | 03:01 | |
| 58 | Global Variables | 04:41 | |
| 59 | Static Variables | 02:18 | |
| 60 | Anonymous and Arrow Functions | 08:59 | |
| 61 | Callable Type | 02:18 | |
| 62 | Passing by Reference | 04:42 | |
| 63 | Array Functions | 13:16 | |
| 64 | Destructuring Arrays | 02:22 | |
| 65 | Working with Files | 08:03 | |
| 66 | Exploring the Challenges | 03:08 | |
| 67 | Coding Solution: Robot Name | 05:01 | |
| 68 | Coding Solution: Armstrong Numbers | 05:49 | |
| 69 | Coding Solution: Series | 07:45 | |
| 70 | What is OOP (Object-Oriented Programming)? | 04:52 | |
| 71 | Classes | 05:54 | |
| 72 | Properties | 05:48 | |
| 73 | Magic Methods | 05:28 | |
| 74 | Constructor Property Promotion | 01:59 | |
| 75 | Custom Methods | 03:57 | |
| 76 | Null-safe Operator | 02:24 | |
| 77 | Understanding Namespaces | 02:51 | |
| 78 | Creating a Namespace | 03:48 | |
| 79 | Working with Namespaces | 09:51 | |
| 80 | Autoloading Classes | 06:07 | |
| 81 | Using Constants in Classes | 02:16 | |
| 82 | Static Properties and Methods | 05:45 | |
| 83 | OOP Principle: Encapsulation | 07:47 | |
| 84 | OOP Principle: Abstraction | 02:36 | |
| 85 | OOP Principle: Inheritance | 05:47 | |
| 86 | Protected Modifier | 02:01 | |
| 87 | Overriding Methods | 09:14 | |
| 88 | Abstract Classes and Methods | 09:39 | |
| 89 | Interfaces | 05:08 | |
| 90 | OOP Principle: Polymorphism | 07:24 | |
| 91 | Anonymous Classes | 03:55 | |
| 92 | Docblocks | 05:54 | |
| 93 | Throwing Exceptions | 06:57 | |
| 94 | Custom Exceptions | 03:56 | |
| 95 | Catching Exceptions | 05:35 | |
| 96 | The DateTime Class | 11:35 | |
| 97 | Iterator and Iterable Type | 12:21 | |
| 98 | OOP Challenges Overview | 01:41 | |
| 99 | Coding Solution: Nucleotide Count | 02:33 | |
| 100 | Coding Solution: Grade School | 05:59 | |
| 101 | Project Overview | 04:53 | |
| 102 | Text Editors | 03:57 | |
| 103 | Understanding the LAMP stack | 05:41 | |
| 104 | Exploring XAMPP | 02:43 | |
| 105 | The htdocs Folder | 05:28 | |
| 106 | Configuring Virtual Hosts in Apache | 11:20 | |
| 107 | Configuring PHP | 04:38 | |
| 108 | Creating an Application Class | 04:19 | |
| 109 | Bootstrapping an Application | 04:26 | |
| 110 | The Command Line | 06:57 | |
| 111 | Understanding PSR | 03:10 | |
| 112 | Installing Composer | 07:09 | |
| 113 | JSON Crash Course | 05:06 | |
| 114 | Initializing Composer | 07:14 | |
| 115 | Generating Autoload Files | 03:16 | |
| 116 | Including Autoload Files | 02:26 | |
| 117 | What is Git? | 02:40 | |
| 118 | Using GitHub | 06:18 | |
| 119 | Exploring Git Files | 05:55 | |
| 120 | Exercise: Imposter Syndrome | 02:57 | |
| 121 | Understanding Routing | 03:58 | |
| 122 | Apache Mod Rewrite | 07:28 | |
| 123 | The htaccess File | 06:16 | |
| 124 | Sugar Functions | 02:57 | |
| 125 | Creating a Router Class | 02:33 | |
| 126 | Adding Routes | 04:57 | |
| 127 | Understanding HTTP Methods | 05:02 | |
| 128 | Supporting HTTP Methods in Routes | 02:30 | |
| 129 | Normalizing Paths | 03:36 | |
| 130 | Exploring Regular Expressions | 07:10 | |
| 131 | Regular Expressions in PHP | 03:07 | |
| 132 | MVC Design Pattern | 06:26 | |
| 133 | Creating a Controller | 01:57 | |
| 134 | Registering Controllers | 02:53 | |
| 135 | Class Magic Constant | 02:46 | |
| 136 | Dispatching a Route | 04:40 | |
| 137 | Finding Matches with Regular Expressions | 04:29 | |
| 138 | Instantiating Classes with Strings | 02:59 | |
| 139 | PSR-12 Auto Formatting | 05:16 | |
| 140 | Understanding Template Engines | 02:41 | |
| 141 | Creating a Template Engine Class | 02:09 | |
| 142 | Setting a Base Path | 04:30 | |
| 143 | Rendering a Template | 03:01 | |
| 144 | Extracting Arrays | 03:57 | |
| 145 | Understanding Output Buffering | 04:35 | |
| 146 | Creating an Output Buffer | 02:51 | |
| 147 | Loading Assets | 03:26 | |
| 148 | Adding Partials | 04:15 | |
| 149 | Exercise: Creating an About Page | 04:48 | |
| 150 | Escaping Data | 07:31 | |
| 151 | Autoloading Functions | 04:58 | |
| 152 | Understanding Dependency Injection | 03:32 | |
| 153 | Creating a Container | 02:35 | |
| 154 | External Definitions File | 04:41 | |
| 155 | Factory Design Pattern | 04:10 | |
| 156 | Merging Arrays | 02:21 | |
| 157 | Reflective Programming | 06:57 | |
| 158 | Validating Classes | 03:34 | |
| 159 | Validating the Constructor Method | 02:29 | |
| 160 | Retrieving the Constructor Parameters | 02:25 | |
| 161 | Validating Parameters | 06:39 | |
| 162 | Invoking Factory Functions | 04:43 | |
| 163 | Instantiating a Class with Dependencies | 03:37 | |
| 164 | Understanding Middleware | 03:12 | |
| 165 | Supporting Router Middleware | 02:38 | |
| 166 | Adding Middleware | 02:28 | |
| 167 | Creating Middleware | 01:53 | |
| 168 | Interface Contracts | 04:03 | |
| 169 | Chaining Callback Functions | 04:07 | |
| 170 | Looping through Middleware | 03:10 | |
| 171 | Supporting Dependency Injection in Middleware | 02:15 | |
| 172 | Global Template Variables | 03:07 | |
| 173 | Singleton Pattern | 07:34 | |
| 174 | Preparing the Registration Form | 04:56 | |
| 175 | Configuring the Form | 06:52 | |
| 176 | Handling POST Data | 03:03 | |
| 177 | Understanding Services | 04:17 | |
| 178 | Creating a Validator Class | 05:39 | |
| 179 | Validation Rule Contract | 05:43 | |
| 180 | Registering a Rule | 04:26 | |
| 181 | Applying Rules to Fields | 07:58 | |
| 182 | Storing Validation Errors | 03:06 | |
| 183 | Custom Validation Exception | 05:58 | |
| 184 | HTTP Status Codes | 05:00 | |
| 185 | Custom Middleware | 03:49 | |
| 186 | Redirection with Headers | 06:26 | |
| 187 | Passing on the Errors | 03:19 | |
| 188 | HTTP Referrer | 02:49 | |
| 189 | Understanding Sessions | 02:24 | |
| 190 | Enabling Sessions | 04:21 | |
| 191 | Handling Session Exceptions | 04:04 | |
| 192 | Common Session Error | 06:17 | |
| 193 | Closing the Session Early | 01:06 | |
| 194 | Injecting Errors into a Template | 05:13 | |
| 195 | Flashing Errors | 01:58 | |
| 196 | Displaying Errors | 03:01 | |
| 197 | Validating Emails | 04:39 | |
| 198 | Supporting Rule Parameters | 05:39 | |
| 199 | Minimum Validation Rule | 03:52 | |
| 200 | In Validation Rule | 03:31 | |
| 201 | Exercise: URL Validation Rule | 02:58 | |
| 202 | Password Matching Rule | 03:46 | |
| 203 | Prefilling a Form | 06:02 | |
| 204 | Filtering Sensitive Data | 03:50 | |
| 205 | Introduction to SQL | 05:30 | |
| 206 | Creating a Database | 02:32 | |
| 207 | Creating Tables | 09:13 | |
| 208 | Inserting Data | 04:06 | |
| 209 | Reading Data | 03:42 | |
| 210 | Updating Data | 01:57 | |
| 211 | Deleting Data | 02:19 | |
| 212 | Using PHPMyAdmin | 07:45 | |
| 213 | Enabling PDO Extension | 04:28 | |
| 214 | Custom Composer Scripts | 03:47 | |
| 215 | Understanding DSN | 01:45 | |
| 216 | Creating a DSN String | 06:05 | |
| 217 | Connecting to a Database | 03:01 | |
| 218 | The PDOException Class | 03:43 | |
| 219 | Refactoring the Database Connection | 05:14 | |
| 220 | Querying the Database | 04:31 | |
| 221 | Fetch Modes | 04:10 | |
| 222 | SQL Injections | 05:28 | |
| 223 | Prepared Statements | 05:47 | |
| 224 | Understanding Transactions | 03:09 | |
| 225 | Creating Transactions with PDO | 04:19 | |
| 226 | Understanding Data Modeling | 03:58 | |
| 227 | Designing a User Table | 10:11 | |
| 228 | Creating a Table in an SQL File | 06:08 | |
| 229 | Loading Files | 02:25 | |
| 230 | Conditionally Creating Tables | 02:09 | |
| 231 | Refactoring the Query | 02:25 | |
| 232 | Database Container Definition | 01:33 | |
| 233 | Understanding Environment Variables | 05:38 | |
| 234 | Creating Environment Variables | 05:22 | |
| 235 | Ignoring Environment Files | 01:59 | |
| 236 | Passing on the Container to Definitions | 04:31 | |
| 237 | Counting Records with SQL | 02:54 | |
| 238 | Supporting Prepared Statements | 02:07 | |
| 239 | Validating Duplicate Emails | 04:45 | |
| 240 | Exercise: Inserting a User | 04:20 | |
| 241 | Understanding Hashing | 05:33 | |
| 242 | Hashing a Password | 05:30 | |
| 243 | Preparing the Login Page | 02:52 | |
| 244 | Exercise: Validating the Login Form | 07:01 | |
| 245 | Validating the User’s Credentials | 09:46 | |
| 246 | Understanding Session Hijacking | 03:19 | |
| 247 | Configuring Session Cookies | 06:26 | |
| 248 | Regenerating a Session ID | 01:52 | |
| 249 | Protecting Routes | 03:48 | |
| 250 | Applying Route Middleware | 07:01 | |
| 251 | Logging out of the Application | 02:56 | |
| 252 | Authenticating Registered Users | 02:44 | |
| 253 | Understanding CSRF | 02:08 | |
| 254 | Generating a CSRF Token | 04:30 | |
| 255 | Rendering Tokens | 03:11 | |
| 256 | Validating CSRF Tokens | 07:12 | |
| 257 | Conditionally Rendering Sections | 01:55 | |
| 258 | Designing the Transactions Table | 03:43 | |
| 259 | Understanding Database Relationships | 05:48 | |
| 260 | Adding Foreign Keys | 06:34 | |
| 261 | Preparing the Create Transaction Page | 04:11 | |
| 262 | Validating Transactions | 03:54 | |
| 263 | Validating Maximum Character Length | 04:29 | |
| 264 | Validating Numbers | 02:42 | |
| 265 | Validating Dates | 04:52 | |
| 266 | Creating a Transaction | 07:05 | |
| 267 | Retrieving Transactions | 06:09 | |
| 268 | Formatting Dates with SQL | 03:31 | |
| 269 | Query Parameters | 05:49 | |
| 270 | SQL LIKE Clause | 03:11 | |
| 271 | Filtering Transactions | 01:36 | |
| 272 | Escaping the Search Term | 01:59 | |
| 273 | SQL Limit Clause | 02:31 | |
| 274 | Limiting Results | 05:09 | |
| 275 | Previous Page Link | 04:21 | |
| 276 | Next Page Link | 05:57 | |
| 277 | Page Number Links | 07:09 | |
| 278 | Preparing the Edit Route | 06:03 | |
| 279 | Replacing Strings with Regular Expressions | 06:18 | |
| 280 | Extracting Route Parameter Values | 06:51 | |
| 281 | Edit Transaction Template | 07:16 | |
| 282 | Updating a Transaction | 06:52 | |
| 283 | Overriding HTTP Methods | 05:56 | |
| 284 | Deleting a Transaction | 03:21 | |
| 285 | Preparing the Receipt Controller | 03:58 | |
| 286 | Encoding File Data | 02:40 | |
| 287 | Exercise: Creating a Receipt Service | 06:26 | |
| 288 | Validating a File Upload | 03:37 | |
| 289 | Validating File Sizes | 02:52 | |
| 290 | Validating Filenames | 03:44 | |
| 291 | Validating File Mime Types | 03:51 | |
| 292 | Generating a Random Filename | 03:37 | |
| 293 | Moving Uploaded Files | 04:54 | |
| 294 | Designing the Receipts Table | 04:57 | |
| 295 | Storing the Receipt | 03:01 | |
| 296 | Displaying Receipts | 07:45 | |
| 297 | Validating the Download Request | 04:14 | |
| 298 | Downloading Files | 06:32 | |
| 299 | Deleting a Receipt | 04:35 | |
| 300 | Magic Numbers | 05:55 | |
| 301 | Destroying Session Cookies | 05:51 | |
| 302 | Rendering a 404 Page | 07:11 | |
| 303 | Configuring a Server | 08:46 | |
| 304 | Understanding Deployment | 03:37 | |
| 305 | Configuring an Application | 02:25 | |
| 306 | Setting up our Project | 13:24 | |
| 307 | Conclusion | 01:25 | |
| 308 | Thank You! | 01:18 |
Unlock unlimited learning
Get instant access to all 307 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionBooks
Read Book PHP Development Bootcamp: Zero to Mastery
| # | Title |
|---|---|
| 1 | Complete PHP Developer Bootcamp - Zero To Mastery - Course Handbook |
Comments
0 commentsWant to join the conversation?
Sign in to commentSimilar courses
Make a Google search engine clone: JavaScript PHP and MySQL
Sources: udemy
Do you want to become an expert in JavaScript, PHP and MySQL? Do you want to build a real search engine just like Google? If so, you’re in the right place! This
5 hours 47 minutes 11 seconds
Make a Spotify Clone from Scratch: JavaScript PHP and MySQL
Sources: udemy
Do you want to become an expert in JavaScript, PHP and MySQL? Do you want to build a real music streaming site just like Spotify? If so, you’re in the right place! This course w...
14 hours 59 minutes 31 seconds
Mastering Laravel 10 Query Builder, Eloquent & Relationships
Sources: udemy
Are you struggling with Laravel databases and Eloquent? Do you want to learn how to easily manage your database with migrations and seeders? Look no further than Code With Dary'...
7 hours 27 minutes 32 seconds
phpspec: Testing... *Designing* with a Bite
Sources: symfonycasts
phpspec: a tool for unit testing? Sure... but, oof, it's so much cooler than that! Yes, just like with our phpunit tutorial, when we finally launch our dinosau
2 hours 54 minutes 25 seconds
Writing Readable PHP
Sources: spatie.be
Learn how to write code that’s a joy to read for you, your co-workers, and future self. View high-quality videos on both clean coding and static analysis.
2 hours 40 minutes 32 seconds