Some models, in particular Discussion and CommentPost, are intended to support a "private" mode, wherein they aren't visible unless some criteria is met. This can be used to implement anything from private discussions to post approvals.

Model visibility scoping allows us to scope queries based on the current user.

Views are PHP files that use the Laravel Blade syntax for creation of server-side generated HTML.