CSCI E-15 Web Server Frameworks with Laravel/PHP
The needs of modern web applications vary greatly depending on the business/product the application is serving, but certain functionality is common to most applications. Such functionality includes registration/authentication, form processing and validation, routing, caching, database interfacing, and more. While this functionality can be built from scratch with any server-capable language (PHP, Python, Java), it is much more efficient to use a framework that provides this common functionality out of the box, allowing developers to focus on the specific business needs of their application. In this course, students learn about web application development using frameworks via the lens of the PHP-based framework Laravel. Along the way, we explore paradigms common to many web frameworks such as routing, controllers, models, views, and object-relational mapping. Over the course of the semester, we build stand-alone web applications and also look at how to build web services that can act as the backend to single-page applications built using tools such as Angular, React, Ember, or Vue.js.