Class SharedShoppingCartController
This class contains some helper methods for handling view requests. Be careful always when outputting raw user data to HTML or when handling POST requests because insufficient protection will lead to XSS and CSRF vulnerabilities.
category |
System |
---|---|
package |
HttpViewControllers |
__construct(\HttpContextReaderInterface $httpContextReader, \HttpResponseProcessorInterface $httpResponseProcessor, \ContentViewInterface $defaultContentView)
\HttpContextReaderInterface
\HttpResponseProcessorInterface
\ContentViewInterface
_addProductToCart(\PropertiesControl $propertiesControl, \stdClass $product)
\PropertiesControl
An instance of the PropertiesControl
\stdClass
Cart product information
_callActionMethod(string $actionName) : \HttpControllerResponseInterface
Throws |
|
---|
string
Name of action method to call, without 'action'-Suffix.
\HttpControllerResponseInterface
Response message.
_getCart() : array
The returned array is structured as follows:
array(
productId =>
array
Am array of product information
_getPostData(string $keyName) : string|null
This method is the object oriented layer for $_POST[$keyName].
string
Expected key of post parameter.
string|null
Either the expected value or null, of not found.
_getPostDataCollection() : \KeyValueCollection
_getQueryParameter(string $keyName) : mixed|null
This method is the object oriented layer for $_GET[$keyName].
string
Expected key of query parameter.
mixed|null
Either the expected value or null, of not found.
_getQueryParametersCollection() : \KeyValueCollection
_getServerData(string $keyName) : string|null
This method is the object oriented layer for $_SERVER[$keyName].
string
Expected key of server parameter.
string|null
Either the expected value or null, of not found.
_getSharedCart() : array|mixed
array|mixed
The fetched cart information
_render(string $templateFile, array $contentArray) : string
string
Template file to render.
array
Content array which represent the variables of the template.
string
Rendered template.
_storeShoppingCart(array $products) : string
The expected array parameter has to be structured as follows:
array(
productId =>
array
The product information to store
string
The hash of the stored shopping cart
_validatePageToken(string $customExceptionMessage = null)
Example: public function proceed(HttpContextInterface $httpContext) { parent::proceed($httpContext); // proceed http context from parent class if($_SERVER['REQUEST_METHOD'] === 'POST') { $this->_validatePageToken(); // CSRF Protection } }
Throws |
|
---|
string
(optional) You can specify a custom exception message.
actionDefault() : \HttpControllerResponseInterface
Every controller child class requires at least the default action method, which is invoked when the ::_getQueryParameterData('do') value is not separated by a trailing slash.
Every action method have to return an instance which implements the http controller response interface.
\HttpControllerResponseInterface
actionStoreShoppingCart() : \JsonHttpControllerResponse
getTemplateFile(string $templateFile) : \ExistingFile
Throws |
|
---|
string
The relative path and filename to search for
\ExistingFile
containing absolute file path to the given template file
proceed(\HttpContextInterface $httpContext)
The action method is determined by the http context reader instance and the current request context. Re-implement this method in child classes to enable XSS and CSRF protection on demand.
see | \HttpContextReaderInterface::getActionName \HttpResponseProcessorInterface::proceed |
---|---|
Throws |
|
httpContextReader : \HttpContextReaderInterface
httpResponseProcessor : \HttpResponseProcessorInterface
queryParametersArray : array
var |
---|
array
postDataArray : array
var |
---|
array
assets : \AssetCollectionInterface
serverDataArray : array
var |
Server data. |
---|
array