Sharp Context
Sharp provide a way to grab some request context values in the application code.
Ask for context
The class handling the context is Code16\Sharp\Http\Context\CurrentSharpRequest
, which is a singleton. So at any point in the request, you can get it via:
app(Code16\Sharp\Http\Context\CurrentSharpRequest::class);
app(Code16\Sharp\Http\Context\CurrentSharpRequest::class);
or with the global helper:
currentSharpRequest();
currentSharpRequest();
Here's a quick example:
class MyForm extends SharpForm
{
// [...]
function buildFormFields()
{
$this->addField(
SharpFormTextField::make("name")
->setReadOnly(currentSharpRequest()->isUpdate())
);
}
}
class MyForm extends SharpForm
{
// [...]
function buildFormFields()
{
$this->addField(
SharpFormTextField::make("name")
->setReadOnly(currentSharpRequest()->isUpdate())
);
}
}
The context is often useful in a Form situation to display or hide fields depending on the instance status (creation, update), or in a Validator to add an ID exception in a "unique" rule.
Methods
entityKey
Grab the current entity key.
isEntityList
isShow
isForm
Find out the current page type.
isUpdate
isCreation
In Form case, check the current status.
instanceId
In Form and Show Page cases, grab the instance id.
breadcrumb
Returns a Collection of Code16\Sharp\Http\Context\Util\BreadcrumbItem
s
getCurrentBreadcrumbItem
Get the current breadcrumb item.
getPreviousShowFromBreadcrumbItems
Get (if existing) the closest Show in the breadcrumb.
globalFilterFor
Get the value of a Global Filter: see the Global Filter documentation to know more about this feature.