PHP appears across multiple years of a typical computer science programme with genuinely different expectations at each stage. A Year 1 PHP submission is not graded on SOLID principles. A final year PHP submission absolutely is. We produce work calibrated to what your year of study actually requires not the same generic implementation labelled with different headings.
Year 1 Procedural PHP and Form Handling
Introductory PHP modules cover the language basics: variables, loops, arrays, functions, string manipulation, and form processing using $_GET and $_POST superglobals. File handling with fopen, fread, fwrite, and fclose appears in some modules. Error handling uses try catch blocks for exception management, and markers will note whether undefined variable notices are suppressed or avoided. Even at Year 1, SQL interaction should use PDO with prepared statements the habit of parameterised queries is one we establish from the start regardless of year. We also include appropriate input sanitisation from the earliest assignments, because some markers at introductory level already penalise raw output of user supplied data.
Year 2 OOP, MVC, and MySQL CRUD
Year 2 PHP assignments typically introduce object oriented programming and often a basic MVC architecture without a framework. This means creating classes with meaningful separation of concerns, using PDO across a data access layer that's distinct from the business logic layer, and building HTML templates that receive data rather than generating it. CRUD operations Create, Read, Update, Delete against a normalised MySQL schema are the standard assessment task at this level. Session based authentication is common: creating a login system that stores a user ID in $_SESSION, validates sessions on protected pages, and destroys sessions on logout. Basic security implementation prepared statements, password hashing, session regeneration is typically part of the marking criteria from Year 2 onwards. Our Year 2 deliverables follow PSR 12 coding standards throughout, use Composer for dependency management where relevant, and apply the OOP principles the module is assessing.
Year 3 / Final Year Frameworks, REST APIs, and Security
Final year PHP assignments are where the full technical stack converges. Laravel or Symfony framework assignments require correct use of routing, middleware, ORM relationships, templating, Artisan commands, migrations, and either session-based or token-based authentication depending on whether the brief is for a web application or a REST API. PHP REST API assignments require correct HTTP method semantics (GET for retrieval, POST for creation, PUT for full replacement, PATCH for partial update, DELETE for removal), appropriate JSON response structure with correct HTTP status codes (200, 201, 400, 401, 403, 404, 422, 500), and authentication via Laravel Sanctum or JWT. Security at this level extends to the OWASP Top 10 SQL injection, XSS, CSRF, insecure direct object references, broken authentication, security misconfiguration, and XML external entities where relevant. PHPUnit test suites with meaningful coverage (happy path, validation failure, authentication boundary) are increasingly required as part of final year and dissertation PHP projects.
Dissertation and Final Year Projects
PHP dissertations require everything above plus supporting documentation: an Entity Relationship Diagram for the database, UML class or sequence diagrams showing system architecture, a technical requirements analysis, and a written report documenting design decisions, implementation approach, testing methodology, and evaluation. We produce all of these alongside the working application not as an optional add on. ERD and UML diagrams are produced in the notation your department specifies and reflect the actual implementation rather than a theoretical design that diverged from what was built.