Assignment
extends AbstractBaseApi
in package
Canvas LMS Assignments API
Provides functionality to manage assignments in Canvas LMS. This class handles creating, reading, updating, and deleting assignments for a specific course.
Usage Examples:
// Set course context (required for all operations)
$course = Course::find(123);
Assignment::setCourse($course);
// Create a new assignment
$assignmentData = [
'name' => 'Homework Assignment 1',
'description' => 'Complete exercises 1-10',
'points_possible' => 100,
'due_at' => '2024-12-31T23:59:59Z'
];
$assignment = Assignment::create($assignmentData);
// Find an assignment by ID
$assignment = Assignment::find(456);
// Get first page of assignments (memory efficient)
$assignments = Assignment::get();
$assignments = Assignment::get(['order_by' => 'due_at']);
// Get ALL assignments from all pages (be mindful of memory)
$allAssignments = Assignment::all();
// Get paginated results with metadata (recommended)
$paginated = Assignment::paginate(['per_page' => 25]);
echo "Page {$paginated->getCurrentPage()} of {$paginated->getTotalPages()}";
// Update an assignment
$updatedAssignment = Assignment::update(456, ['points_possible' => 150]);
// Update using DTO
$updateDto = new UpdateAssignmentDTO(['name' => 'Updated Assignment Name']);
$updatedAssignment = Assignment::update(456, $updateDto);
// Update using instance method
$assignment = Assignment::find(456);
$assignment->setPointsPossible(125);
$success = $assignment->save();
// Delete an assignment
$assignment = Assignment::find(456);
$success = $assignment->delete();
// Duplicate an assignment
$duplicatedAssignment = Assignment::duplicate(456);
Table of Contents
Properties
- $abGuid : array<string|int, string>|null
- Academic benchmark GUIDs
- $allDates : array<string, mixed>|null
- All date variations for the assignment
- $allowedAttempts : int|null
- Maximum number of submission attempts allowed
- $allowedExtensions : array<string|int, string>|null
- Allowed file extensions for submissions
- $annotatableAttachmentId : int|null
- Annotatable attachment ID
- $anonymizeStudents : bool|null
- Whether student names are anonymized
- $anonymousGrading : bool|null
- Whether grading is anonymous
- $anonymousInstructorAnnotations : bool|null
- Whether instructor annotations are anonymous
- $anonymousPeerReviews : bool|null
- Whether peer reviews are anonymous
- $anonymousSubmissions : bool|null
- Whether anonymous submissions are allowed
- $assignmentGroupId : int|null
- Assignment group ID
- $assignmentVisibility : array<string|int, int>|null
- Array of student IDs who can see assignment
- $automaticPeerReviews : bool|null
- Whether automatic peer reviews are enabled
- $canDuplicate : bool|null
- Whether assignment can be duplicated
- $canSubmit : bool|null
- Whether user can submit
- $courseId : int|null
- Course ID this assignment belongs to
- $createdAt : string|null
- Assignment creation timestamp
- $description : string|null
- Assignment description (HTML)
- $discussionTopic : array<string, mixed>|null
- Associated discussion topic
- $dueAt : string|null
- Assignment due date
- $dueDateRequired : bool|null
- Boolean flag indicating whether assignment requires due date
- $externalToolTagAttributes : array<string, mixed>|null
- External tool tag attributes
- $finalGraderId : int|null
- Final grader user ID
- $freezeOnCopy : bool|null
- Whether assignment is frozen on copy
- $frozen : bool|null
- Whether assignment is frozen
- $frozenAttributes : array<string|int, string>|null
- Array of frozen attributes
- $gradedSubmissionsExist : bool|null
- Whether assignment has graded submissions
- $gradeGroupStudentsIndividually : bool|null
- Whether group students are graded individually
- $graderCommentsVisibleToGraders : bool|null
- Whether grader comments are visible to graders
- $graderCount : int|null
- Number of provisional graders
- $gradersAnonymousToGraders : bool|null
- Whether graders are anonymous to other graders
- $gradersNamesVisibleToFinalGrader : bool|null
- Whether grader names are visible to final grader
- $gradingStandardId : int|null
- Grading standard ID
- $gradingType : string|null
- Grading type (points, percent, pass_fail, etc.)
- $groupCategoryId : int|null
- Group category ID for group assignments
- $hasOverrides : bool|null
- Whether the assignment has date overrides
- $hasSubmittedSubmissions : bool|null
- Whether assignment has submitted submissions
- $hideInGradebook : bool|null
- Whether assignment is hidden in gradebook
- $htmlUrl : string|null
- HTML URL to the assignment
- $id : int|null
- Assignment unique identifier
- $importantDates : bool|null
- Whether assignment has important dates
- $inClosedGradingPeriod : bool|null
- Whether assignment is in closed grading period
- $integrationData : array<string, mixed>|null
- Third-party integration data
- $integrationId : string|null
- Third-party integration ID
- $intraGroupPeerReviews : bool|null
- Whether intra-group peer reviews are allowed
- $isQuizAssignment : bool|null
- Whether this is a quiz assignment
- $lockAt : string|null
- Date when assignment becomes locked
- $lockedForUser : bool|null
- Whether assignment is locked for the current user
- $lockExplanation : string|null
- Lock explanation text
- $lockInfo : array<string, mixed>|null
- Lock information object
- $maxNameLength : int|null
- Integer indicating maximum assignment name length
- $moderatedGrading : bool|null
- Whether moderated grading is enabled
- $muted : bool|null
- Whether notifications are muted (deprecated)
- $name : string|null
- Assignment name
- $needsGradingCount : int|null
- Number of submissions needing grading
- $needsGradingCountBySection : array<string|int, array<string, mixed>>|null
- Grading count by section
- $omitFromFinalGrade : bool|null
- Whether assignment is omitted from final grade
- $onlyVisibleToOverrides : bool|null
- Whether assignment is only visible to users with overrides
- $originalAssignmentId : int|null
- Original assignment ID if duplicated
- $originalAssignmentName : string|null
- Original assignment name if duplicated
- $originalCourseId : int|null
- Original course ID if duplicated
- $originalLtiResourceLinkId : int|null
- Original LTI resource link ID if duplicated
- $originalQuizId : int|null
- Original quiz ID if duplicated
- $overrides : array<string|int, array<string, mixed>>|null
- Array of assignment override objects
- $peerReviewCount : int|null
- Number of peer reviews per user
- $peerReviews : bool|null
- Whether peer reviews are enabled
- $peerReviewsAssignAt : string|null
- Date peer reviews are assigned
- $pointsPossible : float|null
- Maximum points possible for this assignment
- $position : int|null
- Assignment position in the group
- $postManually : bool|null
- Whether assignment posts grades manually
- $postToSis : bool|null
- Whether to post to SIS
- $published : bool|null
- Whether the assignment is published
- $quizId : int|null
- Associated quiz ID
- $requireLockdownBrowser : bool|null
- Whether LockDown Browser is required
- $rubric : array<string, mixed>|null
- Rubric criteria and ratings
- $rubricSettings : array<string, mixed>|null
- Rubric settings
- $scoreStatistics : array<string, mixed>|null
- Score statistics
- $submission : array<string, mixed>|null
- Current user's submission
- $submissionsDownloadUrl : string|null
- URL to download all submissions as a zip
- $submissionTypes : array<string|int, string>|null
- Allowed submission types
- $turnitinEnabled : bool|null
- Whether Turnitin is enabled for this assignment
- $turnitinSettings : array<string, mixed>|null
- Turnitin settings object
- $unlockAt : string|null
- Date when assignment becomes available
- $unpublishable : bool|null
- Whether assignment can be unpublished
- $updatedAt : string|null
- Assignment last update timestamp
- $useRubricForGrading : bool|null
- Whether rubric is used for grading
- $vericiteEnabled : bool|null
- Whether VeriCite is enabled for this assignment
- $workflowState : string|null
- Assignment workflow state (published, unpublished, etc.)
- $apiClient : HttpClientInterface
- $course : Course|null
- $methodAliases : array<string|int, mixed>
- Define method aliases
Methods
- __callStatic() : mixed
- Magic method to handle function aliases
- __construct() : mixed
- Create a new Assignment instance
- all() : array<string|int, static>
- Get all pages of results
- checkCourse() : bool
- Check if course context is set
- create() : self
- Create a new assignment
- delete() : self
- Delete the assignment
- duplicate() : self
- Duplicate an assignment
- find() : self
- Find a single assignment by ID
- get() : array<string|int, static>
- Get first page of results
- getAllDates() : array<string, mixed>|null
- Get all dates
- getAllowedAttempts() : int|null
- Get allowed attempts
- getAllowedExtensions() : array<string|int, string>|null
- Get allowed extensions
- getAnonymousGrading() : bool|null
- Get anonymous grading status
- getAssignmentGroupId() : int|null
- Get assignment group ID
- getCourseId() : int|null
- Get course ID
- getCreatedAt() : string|null
- Get created at timestamp
- getDescription() : string|null
- Get assignment description
- getDueAt() : string|null
- Get due date
- getGradingType() : string|null
- Get grading type
- getGroupCategoryId() : int|null
- Get group category ID
- getHasOverrides() : bool|null
- Get has overrides status
- getHtmlUrl() : string|null
- Get HTML URL
- getId() : int|null
- Get assignment ID
- getLockAt() : string|null
- Get lock date
- getLockedForUser() : bool|null
- Get locked for user status
- getModeratedGrading() : bool|null
- Get moderated grading status
- getName() : string|null
- Get assignment name
- getOnlyVisibleToOverrides() : bool|null
- Get only visible to overrides status
- getPeerReviews() : bool|null
- Get peer reviews status
- getPointsPossible() : float|null
- Get points possible
- getPosition() : int|null
- Get assignment position
- getPublished() : bool|null
- Get published status
- getSubmissionCount() : int
- Get count of submissions for this assignment
- getSubmissionTypes() : array<string|int, string>|null
- Get submission types
- getUnlockAt() : string|null
- Get unlock date
- getUpdatedAt() : string|null
- Get updated at timestamp
- getWorkflowState() : string|null
- Get workflow state
- overrides() : array<string|int, mixed>
- Get assignment overrides
- paginate() : PaginationResult
- Get paginated results with metadata
- rubric() : Rubric|null
- Get rubric associated with this assignment
- rubricAssociation() : RubricAssociation|null
- Get rubric association for this assignment
- save() : self
- Save the current assignment (create or update)
- setAllDates() : void
- Set all dates
- setAllowedAttempts() : void
- Set allowed attempts
- setAllowedExtensions() : void
- Set allowed extensions
- setAnonymousGrading() : void
- Set anonymous grading status
- setApiClient() : void
- Set the API client
- setAssignmentGroupId() : void
- Set assignment group ID
- setCourse() : void
- Set the course context for assignment operations
- setCourseId() : void
- Set course ID
- setCreatedAt() : void
- Set created at timestamp
- setDescription() : void
- Set assignment description
- setDueAt() : void
- Set due date
- setGradingType() : void
- Set grading type
- setGroupCategoryId() : void
- Set group category ID
- setHasOverrides() : void
- Set has overrides status
- setHtmlUrl() : void
- Set HTML URL
- setId() : void
- Set assignment ID
- setLockAt() : void
- Set lock date
- setLockedForUser() : void
- Set locked for user status
- setModeratedGrading() : void
- Set moderated grading status
- setName() : void
- Set assignment name
- setOnlyVisibleToOverrides() : void
- Set only visible to overrides status
- setPeerReviews() : void
- Set peer reviews status
- setPointsPossible() : void
- Set points possible
- setPosition() : void
- Set assignment position
- setPublished() : void
- Set published status
- setSubmissionTypes() : void
- Set submission types
- setUnlockAt() : void
- Set unlock date
- setUpdatedAt() : void
- Set updated at timestamp
- setWorkflowState() : void
- Set workflow state
- submissionForUser() : Submission|null
- Get submission for a specific user
- submissions() : array<string|int, Submission>
- Get submissions for this assignment
- toArray() : array<string, mixed>
- Convert assignment to array
- toDtoArray() : array<string, mixed>
- Convert assignment to DTO array format
- update() : self
- Update an assignment
- castValue() : DateTime|mixed
- Cast a value to the correct type
- checkApiClient() : void
- Check if the API client is set, if not, instantiate a new one
- convertPaginatedResponseToModels() : array<string|int, static>
- Helper method to convert paginated response data to model instances
- createConfiguredHttpClient() : HttpClient
- Create an HttpClient with configured middleware
- createPaginationResult() : PaginationResult
- Helper method to create PaginationResult from paginated response
- getEndpoint() : string
- Get the API endpoint for this resource
- getPaginatedResponse() : PaginatedResponse
- Helper method to get paginated response from API endpoint
- populate() : void
- Populate the object with new data
Properties
$abGuid
Academic benchmark GUIDs
public
array<string|int, string>|null
$abGuid
= null
$allDates
All date variations for the assignment
public
array<string, mixed>|null
$allDates
= null
$allowedAttempts
Maximum number of submission attempts allowed
public
int|null
$allowedAttempts
= null
$allowedExtensions
Allowed file extensions for submissions
public
array<string|int, string>|null
$allowedExtensions
= null
$annotatableAttachmentId
Annotatable attachment ID
public
int|null
$annotatableAttachmentId
= null
$anonymizeStudents
Whether student names are anonymized
public
bool|null
$anonymizeStudents
= null
$anonymousGrading
Whether grading is anonymous
public
bool|null
$anonymousGrading
= null
$anonymousInstructorAnnotations
Whether instructor annotations are anonymous
public
bool|null
$anonymousInstructorAnnotations
= null
$anonymousPeerReviews
Whether peer reviews are anonymous
public
bool|null
$anonymousPeerReviews
= null
$anonymousSubmissions
Whether anonymous submissions are allowed
public
bool|null
$anonymousSubmissions
= null
$assignmentGroupId
Assignment group ID
public
int|null
$assignmentGroupId
= null
$assignmentVisibility
Array of student IDs who can see assignment
public
array<string|int, int>|null
$assignmentVisibility
= null
$automaticPeerReviews
Whether automatic peer reviews are enabled
public
bool|null
$automaticPeerReviews
= null
$canDuplicate
Whether assignment can be duplicated
public
bool|null
$canDuplicate
= null
$canSubmit
Whether user can submit
public
bool|null
$canSubmit
= null
$courseId
Course ID this assignment belongs to
public
int|null
$courseId
= null
$createdAt
Assignment creation timestamp
public
string|null
$createdAt
= null
$description
Assignment description (HTML)
public
string|null
$description
= null
$discussionTopic
Associated discussion topic
public
array<string, mixed>|null
$discussionTopic
= null
$dueAt
Assignment due date
public
string|null
$dueAt
= null
$dueDateRequired
Boolean flag indicating whether assignment requires due date
public
bool|null
$dueDateRequired
= null
$externalToolTagAttributes
External tool tag attributes
public
array<string, mixed>|null
$externalToolTagAttributes
= null
$finalGraderId
Final grader user ID
public
int|null
$finalGraderId
= null
$freezeOnCopy
Whether assignment is frozen on copy
public
bool|null
$freezeOnCopy
= null
$frozen
Whether assignment is frozen
public
bool|null
$frozen
= null
$frozenAttributes
Array of frozen attributes
public
array<string|int, string>|null
$frozenAttributes
= null
$gradedSubmissionsExist
Whether assignment has graded submissions
public
bool|null
$gradedSubmissionsExist
= null
$gradeGroupStudentsIndividually
Whether group students are graded individually
public
bool|null
$gradeGroupStudentsIndividually
= null
$graderCommentsVisibleToGraders
Whether grader comments are visible to graders
public
bool|null
$graderCommentsVisibleToGraders
= null
$graderCount
Number of provisional graders
public
int|null
$graderCount
= null
$gradersAnonymousToGraders
Whether graders are anonymous to other graders
public
bool|null
$gradersAnonymousToGraders
= null
$gradersNamesVisibleToFinalGrader
Whether grader names are visible to final grader
public
bool|null
$gradersNamesVisibleToFinalGrader
= null
$gradingStandardId
Grading standard ID
public
int|null
$gradingStandardId
= null
$gradingType
Grading type (points, percent, pass_fail, etc.)
public
string|null
$gradingType
= null
$groupCategoryId
Group category ID for group assignments
public
int|null
$groupCategoryId
= null
$hasOverrides
Whether the assignment has date overrides
public
bool|null
$hasOverrides
= null
$hasSubmittedSubmissions
Whether assignment has submitted submissions
public
bool|null
$hasSubmittedSubmissions
= null
$hideInGradebook
Whether assignment is hidden in gradebook
public
bool|null
$hideInGradebook
= null
$htmlUrl
HTML URL to the assignment
public
string|null
$htmlUrl
= null
$id
Assignment unique identifier
public
int|null
$id
= null
$importantDates
Whether assignment has important dates
public
bool|null
$importantDates
= null
$inClosedGradingPeriod
Whether assignment is in closed grading period
public
bool|null
$inClosedGradingPeriod
= null
$integrationData
Third-party integration data
public
array<string, mixed>|null
$integrationData
= null
$integrationId
Third-party integration ID
public
string|null
$integrationId
= null
$intraGroupPeerReviews
Whether intra-group peer reviews are allowed
public
bool|null
$intraGroupPeerReviews
= null
$isQuizAssignment
Whether this is a quiz assignment
public
bool|null
$isQuizAssignment
= null
$lockAt
Date when assignment becomes locked
public
string|null
$lockAt
= null
$lockedForUser
Whether assignment is locked for the current user
public
bool|null
$lockedForUser
= null
$lockExplanation
Lock explanation text
public
string|null
$lockExplanation
= null
$lockInfo
Lock information object
public
array<string, mixed>|null
$lockInfo
= null
$maxNameLength
Integer indicating maximum assignment name length
public
int|null
$maxNameLength
= null
$moderatedGrading
Whether moderated grading is enabled
public
bool|null
$moderatedGrading
= null
$muted
Whether notifications are muted (deprecated)
public
bool|null
$muted
= null
$name
Assignment name
public
string|null
$name
= null
$needsGradingCount
Number of submissions needing grading
public
int|null
$needsGradingCount
= null
$needsGradingCountBySection
Grading count by section
public
array<string|int, array<string, mixed>>|null
$needsGradingCountBySection
= null
$omitFromFinalGrade
Whether assignment is omitted from final grade
public
bool|null
$omitFromFinalGrade
= null
$onlyVisibleToOverrides
Whether assignment is only visible to users with overrides
public
bool|null
$onlyVisibleToOverrides
= null
$originalAssignmentId
Original assignment ID if duplicated
public
int|null
$originalAssignmentId
= null
$originalAssignmentName
Original assignment name if duplicated
public
string|null
$originalAssignmentName
= null
$originalCourseId
Original course ID if duplicated
public
int|null
$originalCourseId
= null
$originalLtiResourceLinkId
Original LTI resource link ID if duplicated
public
int|null
$originalLtiResourceLinkId
= null
$originalQuizId
Original quiz ID if duplicated
public
int|null
$originalQuizId
= null
$overrides
Array of assignment override objects
public
array<string|int, array<string, mixed>>|null
$overrides
= null
$peerReviewCount
Number of peer reviews per user
public
int|null
$peerReviewCount
= null
$peerReviews
Whether peer reviews are enabled
public
bool|null
$peerReviews
= null
$peerReviewsAssignAt
Date peer reviews are assigned
public
string|null
$peerReviewsAssignAt
= null
$pointsPossible
Maximum points possible for this assignment
public
float|null
$pointsPossible
= null
$position
Assignment position in the group
public
int|null
$position
= null
$postManually
Whether assignment posts grades manually
public
bool|null
$postManually
= null
$postToSis
Whether to post to SIS
public
bool|null
$postToSis
= null
$published
Whether the assignment is published
public
bool|null
$published
= null
$quizId
Associated quiz ID
public
int|null
$quizId
= null
$requireLockdownBrowser
Whether LockDown Browser is required
public
bool|null
$requireLockdownBrowser
= null
$rubric
Rubric criteria and ratings
public
array<string, mixed>|null
$rubric
= null
$rubricSettings
Rubric settings
public
array<string, mixed>|null
$rubricSettings
= null
$scoreStatistics
Score statistics
public
array<string, mixed>|null
$scoreStatistics
= null
$submission
Current user's submission
public
array<string, mixed>|null
$submission
= null
$submissionsDownloadUrl
URL to download all submissions as a zip
public
string|null
$submissionsDownloadUrl
= null
$submissionTypes
Allowed submission types
public
array<string|int, string>|null
$submissionTypes
= null
$turnitinEnabled
Whether Turnitin is enabled for this assignment
public
bool|null
$turnitinEnabled
= null
$turnitinSettings
Turnitin settings object
public
array<string, mixed>|null
$turnitinSettings
= null
$unlockAt
Date when assignment becomes available
public
string|null
$unlockAt
= null
$unpublishable
Whether assignment can be unpublished
public
bool|null
$unpublishable
= null
$updatedAt
Assignment last update timestamp
public
string|null
$updatedAt
= null
$useRubricForGrading
Whether rubric is used for grading
public
bool|null
$useRubricForGrading
= null
$vericiteEnabled
Whether VeriCite is enabled for this assignment
public
bool|null
$vericiteEnabled
= null
$workflowState
Assignment workflow state (published, unpublished, etc.)
public
string|null
$workflowState
= null
$apiClient
protected
static HttpClientInterface
$apiClient
= null
$course
protected
static Course|null
$course
= null
$methodAliases
Define method aliases
protected
static array<string|int, mixed>
$methodAliases
= ['get' => ['fetch', 'list', 'fetchAll'], 'all' => ['fetchAllPages', 'getAll'], 'paginate' => ['getPaginated', 'withPagination', 'fetchPage'], 'find' => ['one', 'getOne']]
Methods
__callStatic()
Magic method to handle function aliases
public
static __callStatic(string $name, array<string|int, mixed> $arguments) : mixed
Parameters
- $name : string
- $arguments : array<string|int, mixed>
Tags
__construct()
Create a new Assignment instance
public
__construct([array<string, mixed> $data = [] ]) : mixed
Parameters
- $data : array<string, mixed> = []
-
Assignment data from Canvas API
all()
Get all pages of results
public
static all([array<string, mixed> $params = [] ]) : array<string|int, static>
Parameters
- $params : array<string, mixed> = []
-
Query parameters
Return values
array<string|int, static>checkCourse()
Check if course context is set
public
static checkCourse() : bool
Tags
Return values
boolcreate()
Create a new assignment
public
static create(array<string, mixed>|CreateAssignmentDTO $data) : self
Parameters
- $data : array<string, mixed>|CreateAssignmentDTO
-
Assignment data
Tags
Return values
self —Created Assignment object
delete()
Delete the assignment
public
delete() : self
Tags
Return values
selfduplicate()
Duplicate an assignment
public
static duplicate(int $id[, array<string, mixed> $options = [] ]) : self
Parameters
- $id : int
-
Assignment ID to duplicate
- $options : array<string, mixed> = []
-
Duplication options
Tags
Return values
self —Duplicated Assignment object
find()
Find a single assignment by ID
public
static find(int $id[, array<string|int, mixed> $params = [] ]) : self
Parameters
- $id : int
-
Assignment ID
- $params : array<string|int, mixed> = []
-
Optional query parameters
Tags
Return values
selfget()
Get first page of results
public
static get([array<string, mixed> $params = [] ]) : array<string|int, static>
Parameters
- $params : array<string, mixed> = []
-
Query parameters
Return values
array<string|int, static>getAllDates()
Get all dates
public
getAllDates() : array<string, mixed>|null
Return values
array<string, mixed>|nullgetAllowedAttempts()
Get allowed attempts
public
getAllowedAttempts() : int|null
Return values
int|nullgetAllowedExtensions()
Get allowed extensions
public
getAllowedExtensions() : array<string|int, string>|null
Return values
array<string|int, string>|nullgetAnonymousGrading()
Get anonymous grading status
public
getAnonymousGrading() : bool|null
Return values
bool|nullgetAssignmentGroupId()
Get assignment group ID
public
getAssignmentGroupId() : int|null
Return values
int|nullgetCourseId()
Get course ID
public
getCourseId() : int|null
Return values
int|nullgetCreatedAt()
Get created at timestamp
public
getCreatedAt() : string|null
Return values
string|nullgetDescription()
Get assignment description
public
getDescription() : string|null
Return values
string|nullgetDueAt()
Get due date
public
getDueAt() : string|null
Return values
string|nullgetGradingType()
Get grading type
public
getGradingType() : string|null
Return values
string|nullgetGroupCategoryId()
Get group category ID
public
getGroupCategoryId() : int|null
Return values
int|nullgetHasOverrides()
Get has overrides status
public
getHasOverrides() : bool|null
Return values
bool|nullgetHtmlUrl()
Get HTML URL
public
getHtmlUrl() : string|null
Return values
string|nullgetId()
Get assignment ID
public
getId() : int|null
Return values
int|nullgetLockAt()
Get lock date
public
getLockAt() : string|null
Return values
string|nullgetLockedForUser()
Get locked for user status
public
getLockedForUser() : bool|null
Return values
bool|nullgetModeratedGrading()
Get moderated grading status
public
getModeratedGrading() : bool|null
Return values
bool|nullgetName()
Get assignment name
public
getName() : string|null
Return values
string|nullgetOnlyVisibleToOverrides()
Get only visible to overrides status
public
getOnlyVisibleToOverrides() : bool|null
Return values
bool|nullgetPeerReviews()
Get peer reviews status
public
getPeerReviews() : bool|null
Return values
bool|nullgetPointsPossible()
Get points possible
public
getPointsPossible() : float|null
Return values
float|nullgetPosition()
Get assignment position
public
getPosition() : int|null
Return values
int|nullgetPublished()
Get published status
public
getPublished() : bool|null
Return values
bool|nullgetSubmissionCount()
Get count of submissions for this assignment
public
getSubmissionCount() : int
Tags
Return values
intgetSubmissionTypes()
Get submission types
public
getSubmissionTypes() : array<string|int, string>|null
Return values
array<string|int, string>|nullgetUnlockAt()
Get unlock date
public
getUnlockAt() : string|null
Return values
string|nullgetUpdatedAt()
Get updated at timestamp
public
getUpdatedAt() : string|null
Return values
string|nullgetWorkflowState()
Get workflow state
public
getWorkflowState() : string|null
Return values
string|nulloverrides()
Get assignment overrides
public
overrides() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>paginate()
Get paginated results with metadata
public
static paginate([array<string, mixed> $params = [] ]) : PaginationResult
Parameters
- $params : array<string, mixed> = []
-
Query parameters
Return values
PaginationResultrubric()
Get rubric associated with this assignment
public
rubric() : Rubric|null
Tags
Return values
Rubric|nullrubricAssociation()
Get rubric association for this assignment
public
rubricAssociation() : RubricAssociation|null
Tags
Return values
RubricAssociation|nullsave()
Save the current assignment (create or update)
public
save() : self
Tags
Return values
selfsetAllDates()
Set all dates
public
setAllDates(array<string, mixed>|null $allDates) : void
Parameters
- $allDates : array<string, mixed>|null
setAllowedAttempts()
Set allowed attempts
public
setAllowedAttempts(int|null $allowedAttempts) : void
Parameters
- $allowedAttempts : int|null
setAllowedExtensions()
Set allowed extensions
public
setAllowedExtensions(array<string|int, string>|null $allowedExtensions) : void
Parameters
- $allowedExtensions : array<string|int, string>|null
setAnonymousGrading()
Set anonymous grading status
public
setAnonymousGrading(bool|null $anonymousGrading) : void
Parameters
- $anonymousGrading : bool|null
setApiClient()
Set the API client
public
static setApiClient(HttpClientInterface $apiClient) : void
Parameters
- $apiClient : HttpClientInterface
setAssignmentGroupId()
Set assignment group ID
public
setAssignmentGroupId(int|null $assignmentGroupId) : void
Parameters
- $assignmentGroupId : int|null
setCourse()
Set the course context for assignment operations
public
static setCourse(Course $course) : void
Parameters
- $course : Course
-
The course to operate on
setCourseId()
Set course ID
public
setCourseId(int|null $courseId) : void
Parameters
- $courseId : int|null
setCreatedAt()
Set created at timestamp
public
setCreatedAt(string|null $createdAt) : void
Parameters
- $createdAt : string|null
setDescription()
Set assignment description
public
setDescription(string|null $description) : void
Parameters
- $description : string|null
setDueAt()
Set due date
public
setDueAt(string|null $dueAt) : void
Parameters
- $dueAt : string|null
setGradingType()
Set grading type
public
setGradingType(string|null $gradingType) : void
Parameters
- $gradingType : string|null
setGroupCategoryId()
Set group category ID
public
setGroupCategoryId(int|null $groupCategoryId) : void
Parameters
- $groupCategoryId : int|null
setHasOverrides()
Set has overrides status
public
setHasOverrides(bool|null $hasOverrides) : void
Parameters
- $hasOverrides : bool|null
setHtmlUrl()
Set HTML URL
public
setHtmlUrl(string|null $htmlUrl) : void
Parameters
- $htmlUrl : string|null
setId()
Set assignment ID
public
setId(int|null $id) : void
Parameters
- $id : int|null
setLockAt()
Set lock date
public
setLockAt(string|null $lockAt) : void
Parameters
- $lockAt : string|null
setLockedForUser()
Set locked for user status
public
setLockedForUser(bool|null $lockedForUser) : void
Parameters
- $lockedForUser : bool|null
setModeratedGrading()
Set moderated grading status
public
setModeratedGrading(bool|null $moderatedGrading) : void
Parameters
- $moderatedGrading : bool|null
setName()
Set assignment name
public
setName(string|null $name) : void
Parameters
- $name : string|null
setOnlyVisibleToOverrides()
Set only visible to overrides status
public
setOnlyVisibleToOverrides(bool|null $onlyVisibleToOverrides) : void
Parameters
- $onlyVisibleToOverrides : bool|null
setPeerReviews()
Set peer reviews status
public
setPeerReviews(bool|null $peerReviews) : void
Parameters
- $peerReviews : bool|null
setPointsPossible()
Set points possible
public
setPointsPossible(float|null $pointsPossible) : void
Parameters
- $pointsPossible : float|null
setPosition()
Set assignment position
public
setPosition(int|null $position) : void
Parameters
- $position : int|null
setPublished()
Set published status
public
setPublished(bool|null $published) : void
Parameters
- $published : bool|null
setSubmissionTypes()
Set submission types
public
setSubmissionTypes(array<string|int, string>|null $submissionTypes) : void
Parameters
- $submissionTypes : array<string|int, string>|null
setUnlockAt()
Set unlock date
public
setUnlockAt(string|null $unlockAt) : void
Parameters
- $unlockAt : string|null
setUpdatedAt()
Set updated at timestamp
public
setUpdatedAt(string|null $updatedAt) : void
Parameters
- $updatedAt : string|null
setWorkflowState()
Set workflow state
public
setWorkflowState(string|null $workflowState) : void
Parameters
- $workflowState : string|null
submissionForUser()
Get submission for a specific user
public
submissionForUser(int $userId) : Submission|null
Parameters
- $userId : int
-
User ID
Tags
Return values
Submission|nullsubmissions()
Get submissions for this assignment
public
submissions([array<string, mixed> $params = [] ]) : array<string|int, Submission>
Parameters
- $params : array<string, mixed> = []
-
Query parameters
Tags
Return values
array<string|int, Submission>toArray()
Convert assignment to array
public
toArray() : array<string, mixed>
Return values
array<string, mixed>toDtoArray()
Convert assignment to DTO array format
public
toDtoArray() : array<string, mixed>
Return values
array<string, mixed>update()
Update an assignment
public
static update(int $id, array<string, mixed>|UpdateAssignmentDTO $data) : self
Parameters
- $id : int
-
Assignment ID
- $data : array<string, mixed>|UpdateAssignmentDTO
-
Assignment data
Tags
Return values
self —Updated Assignment object
castValue()
Cast a value to the correct type
protected
castValue(string $key, mixed $value) : DateTime|mixed
Parameters
- $key : string
- $value : mixed
Tags
Return values
DateTime|mixedcheckApiClient()
Check if the API client is set, if not, instantiate a new one
protected
static checkApiClient() : void
convertPaginatedResponseToModels()
Helper method to convert paginated response data to model instances
protected
static convertPaginatedResponseToModels(PaginatedResponse $paginatedResponse) : array<string|int, static>
Parameters
- $paginatedResponse : PaginatedResponse
Return values
array<string|int, static>createConfiguredHttpClient()
Create an HttpClient with configured middleware
protected
static createConfiguredHttpClient() : HttpClient
Return values
HttpClientcreatePaginationResult()
Helper method to create PaginationResult from paginated response
protected
static createPaginationResult(PaginatedResponse $paginatedResponse) : PaginationResult
Parameters
- $paginatedResponse : PaginatedResponse
Return values
PaginationResultgetEndpoint()
Get the API endpoint for this resource
protected
static getEndpoint() : string
Tags
Return values
stringgetPaginatedResponse()
Helper method to get paginated response from API endpoint
protected
static getPaginatedResponse(string $endpoint[, array<string|int, mixed> $params = [] ]) : PaginatedResponse
Parameters
- $endpoint : string
-
The API endpoint path
- $params : array<string|int, mixed> = []
-
Query parameters for the request
Return values
PaginatedResponsepopulate()
Populate the object with new data
protected
populate(array<string|int, mixed> $data) : void
Parameters
- $data : array<string|int, mixed>