Overview
TheSubjectController manages academic subjects including creation, listing, and deletion. All operations are restricted to administrators.
File Location: app/controllers/SubjectController.php
Dependencies:
SubjectmodelAuthhelper
Methods
index()
Lists all subjects in the system. Authorization: Admin only Behavior:- Retrieves all subject records
- Renders subject listing view
app/views/subjects/index.php
create()
Displays subject creation form and handles subject creation. Authorization: Admin onlySubject name (POST request)
- GET request: Displays creation form
- POST request: Creates new subject and redirects
- GET: Renders creation form
- POST: Redirects to
/subjects
delete()
Deletes a subject record. Authorization: Admin onlySubject ID to delete (from GET query parameter)
- Validates admin authorization
- Deletes subject from database
- Redirects to subject listing
/subjects
Usage Examples
Creating a Subject
Deleting a Subject
Notes
- Subjects are referenced by courses and other entities
- Deleting a subject may affect related courses (check model implementation)
- All operations require admin authentication