@@ -89,7 +89,7 @@ discard block |
||
| 89 | 89 | AbstractViewComponent $parent = null, |
| 90 | 90 | ExecHelper $execHelper = null, |
| 91 | 91 | LoggerInterface $logger = null |
| 92 | - ){ |
|
| 92 | + ) { |
|
| 93 | 93 | // Null means we are root |
| 94 | 94 | $this->parent = $parent; |
| 95 | 95 | |
@@ -99,11 +99,11 @@ discard block |
||
| 99 | 99 | if (null === $execHelper) { |
| 100 | 100 | $execHelper = new ExecHelper(); |
| 101 | 101 | } |
| 102 | - $this->setExec( $execHelper ); |
|
| 102 | + $this->setExec($execHelper); |
|
| 103 | 103 | |
| 104 | 104 | $this->handleDependencyInjection(); |
| 105 | 105 | |
| 106 | - $this->setLogger( $logger ); |
|
| 106 | + $this->setLogger($logger); |
|
| 107 | 107 | |
| 108 | 108 | // Set up the state container |
| 109 | 109 | $this->initState(); |
@@ -113,11 +113,11 @@ discard block |
||
| 113 | 113 | * @param string $message |
| 114 | 114 | * @param string $level A constant from LogLevel |
| 115 | 115 | */ |
| 116 | - protected function log( $message, $level ){ |
|
| 117 | - if( isset( $this->logger ) ){ |
|
| 118 | - $class = get_class( $this ); |
|
| 116 | + protected function log($message, $level) { |
|
| 117 | + if (isset($this->logger)) { |
|
| 118 | + $class = get_class($this); |
|
| 119 | 119 | $message = "[{$class}] {$message}"; |
| 120 | - $this->logger->log( $level, $message ); |
|
| 120 | + $this->logger->log($level, $message); |
|
| 121 | 121 | } |
| 122 | 122 | } |
| 123 | 123 | |
@@ -125,9 +125,9 @@ discard block |
||
| 125 | 125 | * User this to serialise ViewComponents as extra steps may be added later. |
| 126 | 126 | * @return string |
| 127 | 127 | */ |
| 128 | - public function dehydrate(){ |
|
| 129 | - $this->log( "Dehydrating", LogLevel::DEBUG ); |
|
| 130 | - return serialize( $this ); |
|
| 128 | + public function dehydrate() { |
|
| 129 | + $this->log("Dehydrating", LogLevel::DEBUG); |
|
| 130 | + return serialize($this); |
|
| 131 | 131 | } |
| 132 | 132 | |
| 133 | 133 | /** |
@@ -138,13 +138,13 @@ discard block |
||
| 138 | 138 | * @return AbstractViewComponent |
| 139 | 139 | */ |
| 140 | 140 | |
| 141 | - public static function rehydrate( $serialised, ExecHelper $execHelper, LoggerInterface $logger = null ){ |
|
| 141 | + public static function rehydrate($serialised, ExecHelper $execHelper, LoggerInterface $logger = null) { |
|
| 142 | 142 | /** @var AbstractViewComponent $view */ |
| 143 | - $view = unserialize( $serialised ); |
|
| 144 | - $view->setExec( $execHelper ); |
|
| 143 | + $view = unserialize($serialised); |
|
| 144 | + $view->setExec($execHelper); |
|
| 145 | 145 | $view->handleDependencyInjection(); |
| 146 | - $view->setLogger( $logger ); |
|
| 147 | - $view->log( "Rehydrated", LogLevel::DEBUG ); |
|
| 146 | + $view->setLogger($logger); |
|
| 147 | + $view->log("Rehydrated", LogLevel::DEBUG); |
|
| 148 | 148 | return $view; |
| 149 | 149 | } |
| 150 | 150 | |
@@ -168,7 +168,7 @@ discard block |
||
| 168 | 168 | * @throws \Exception |
| 169 | 169 | * @return Response |
| 170 | 170 | */ |
| 171 | - public function render( $execMethodName = null, array $execArgs = null ) |
|
| 171 | + public function render($execMethodName = null, array $execArgs = null) |
|
| 172 | 172 | { |
| 173 | 173 | $this->state->validate(); |
| 174 | 174 | |
@@ -183,13 +183,13 @@ discard block |
||
| 183 | 183 | // If we're called with an 'exec' then run it instead of rendering the whole tree. |
| 184 | 184 | // It may still render the whole tree or it may just render a portion or just return JSON |
| 185 | 185 | if ($execMethodName) { // Used to test for null but it could easily be an empty string |
| 186 | - $this->log( "Rendering with exec: {$execMethodName}, args:".var_export($execArgs, true ), LogLevel::DEBUG ); |
|
| 187 | - $out = $this->execMethod( $execMethodName, $execArgs ); |
|
| 186 | + $this->log("Rendering with exec: {$execMethodName}, args:" . var_export($execArgs, true), LogLevel::DEBUG); |
|
| 187 | + $out = $this->execMethod($execMethodName, $execArgs); |
|
| 188 | 188 | }else { |
| 189 | - $this->log( "Rendering without exec", LogLevel::DEBUG ); |
|
| 190 | - $out = $this->template->render( $this->state, $this->props ); |
|
| 191 | - if (!( $out instanceof Response )) { |
|
| 192 | - throw new \Exception( get_class( $this->template ) . " returned invalid response. Should have been an instance of ViewComponentResponse" ); |
|
| 189 | + $this->log("Rendering without exec", LogLevel::DEBUG); |
|
| 190 | + $out = $this->template->render($this->state, $this->props); |
|
| 191 | + if (!($out instanceof Response)) { |
|
| 192 | + throw new \Exception(get_class($this->template) . " returned invalid response. Should have been an instance of ViewComponentResponse"); |
|
| 193 | 193 | } |
| 194 | 194 | } |
| 195 | 195 | return $out; |
@@ -203,26 +203,26 @@ discard block |
||
| 203 | 203 | * @throws \Exception |
| 204 | 204 | * @return Response |
| 205 | 205 | */ |
| 206 | - protected function execMethod( $methodName, array $args = null ) |
|
| 206 | + protected function execMethod($methodName, array $args = null) |
|
| 207 | 207 | { |
| 208 | - if (!is_array( $methodName )) { |
|
| 209 | - $methodName = explode( '.', $methodName ); |
|
| 208 | + if (!is_array($methodName)) { |
|
| 209 | + $methodName = explode('.', $methodName); |
|
| 210 | 210 | } |
| 211 | - if (count( $methodName ) == 1) { |
|
| 211 | + if (count($methodName) == 1) { |
|
| 212 | 212 | $methodName = $methodName[ 0 ] . 'Handler'; |
| 213 | - $out = $this->$methodName( $args ); |
|
| 213 | + $out = $this->$methodName($args); |
|
| 214 | 214 | }else { |
| 215 | - $childName = array_shift( $methodName ); |
|
| 215 | + $childName = array_shift($methodName); |
|
| 216 | 216 | $child = $this->childComponents[ $childName ]; |
| 217 | 217 | if ($child instanceof AbstractViewComponent) { |
| 218 | - $out = $child->execMethod( $methodName, $args ); |
|
| 218 | + $out = $child->execMethod($methodName, $args); |
|
| 219 | 219 | }else { |
| 220 | - throw new \Exception( implode( ".", $methodName ) . " is not a valid method." ); |
|
| 220 | + throw new \Exception(implode(".", $methodName) . " is not a valid method."); |
|
| 221 | 221 | } |
| 222 | 222 | } |
| 223 | - if (!( $out instanceof Response )) { |
|
| 224 | - $nameStr = is_array( $methodName )?implode( ".", $methodName ):$methodName; |
|
| 225 | - throw new \Exception( $nameStr . " returned invalid response. Should have been an instance of ViewComponentResponse" ); |
|
| 223 | + if (!($out instanceof Response)) { |
|
| 224 | + $nameStr = is_array($methodName) ? implode(".", $methodName) : $methodName; |
|
| 225 | + throw new \Exception($nameStr . " returned invalid response. Should have been an instance of ViewComponentResponse"); |
|
| 226 | 226 | } |
| 227 | 227 | return $out; |
| 228 | 228 | } |
@@ -231,10 +231,10 @@ discard block |
||
| 231 | 231 | * @param $execMethod |
| 232 | 232 | * @return string |
| 233 | 233 | */ |
| 234 | - public function getExecPath( $execMethod ) |
|
| 234 | + public function getExecPath($execMethod) |
|
| 235 | 235 | { |
| 236 | 236 | $path = $this->getPath(); |
| 237 | - return ( $path === null?$execMethod:$path . '.' . $execMethod ); |
|
| 237 | + return ($path === null ? $execMethod : $path . '.' . $execMethod); |
|
| 238 | 238 | } |
| 239 | 239 | |
| 240 | 240 | /** |
@@ -249,7 +249,7 @@ discard block |
||
| 249 | 249 | /** |
| 250 | 250 | * @param $string |
| 251 | 251 | */ |
| 252 | - protected function setFlashMessage( $string ) |
|
| 252 | + protected function setFlashMessage($string) |
|
| 253 | 253 | { |
| 254 | 254 | $this->flashMessage = $string; |
| 255 | 255 | } |
@@ -257,7 +257,7 @@ discard block |
||
| 257 | 257 | /** |
| 258 | 258 | * @param $string |
| 259 | 259 | */ |
| 260 | - protected function setFlashError( $string ) |
|
| 260 | + protected function setFlashError($string) |
|
| 261 | 261 | { |
| 262 | 262 | $this->flashError = $string; |
| 263 | 263 | } |
@@ -299,7 +299,7 @@ discard block |
||
| 299 | 299 | if (null === $this->parent) { |
| 300 | 300 | return null; |
| 301 | 301 | } |
| 302 | - if (null !== ( $pPath = $this->parent->getPath() )) { |
|
| 302 | + if (null !== ($pPath = $this->parent->getPath())) { |
|
| 303 | 303 | return $pPath . '.' . $this->handle; |
| 304 | 304 | }else { |
| 305 | 305 | return $this->handle; |
@@ -315,20 +315,20 @@ discard block |
||
| 315 | 315 | * @return AbstractViewComponent |
| 316 | 316 | * @throws \Exception |
| 317 | 317 | */ |
| 318 | - protected function addOrUpdateChild( $handle, $type, array $props = [ ] ) |
|
| 318 | + protected function addOrUpdateChild($handle, $type, array $props = [ ]) |
|
| 319 | 319 | { |
| 320 | - $this->log( "Adding/updating child '{$handle}' of type {$type}", LogLevel::DEBUG ); |
|
| 321 | - if (!isset( $this->childComponents[ $handle ] )) { |
|
| 322 | - if( ! class_exists( $type ) ){ |
|
| 323 | - throw new \Exception( "Class '{$type}' for sub-component does not exist." ); |
|
| 320 | + $this->log("Adding/updating child '{$handle}' of type {$type}", LogLevel::DEBUG); |
|
| 321 | + if (!isset($this->childComponents[ $handle ])) { |
|
| 322 | + if (!class_exists($type)) { |
|
| 323 | + throw new \Exception("Class '{$type}' for sub-component does not exist."); |
|
| 324 | 324 | } |
| 325 | - $child = new $type( $handle, $this, $this->exec, $this->logger ); |
|
| 325 | + $child = new $type($handle, $this, $this->exec, $this->logger); |
|
| 326 | 326 | $this->childComponents[ $handle ] = $child; |
| 327 | 327 | }else { |
| 328 | 328 | // exec, di and logger are set recursively in rehydrate() |
| 329 | 329 | $child = $this->childComponents[ $handle ]; |
| 330 | 330 | } |
| 331 | - $child->updateProps( $props ); |
|
| 331 | + $child->updateProps($props); |
|
| 332 | 332 | $child->updateState(); |
| 333 | 333 | } |
| 334 | 334 | |
@@ -339,12 +339,12 @@ discard block |
||
| 339 | 339 | * @return Response |
| 340 | 340 | * @throws \Exception |
| 341 | 341 | */ |
| 342 | - public function renderChild( $handle ) |
|
| 342 | + public function renderChild($handle) |
|
| 343 | 343 | { |
| 344 | 344 | if (!$this->childComponents[ $handle ]) { |
| 345 | 345 | $message = "Attempted to render nonexistent child component with handle '{$handle}'"; |
| 346 | - $this->log( $message, LogLevel::CRITICAL ); |
|
| 347 | - throw new \Exception( $message ); |
|
| 346 | + $this->log($message, LogLevel::CRITICAL); |
|
| 347 | + throw new \Exception($message); |
|
| 348 | 348 | } |
| 349 | 349 | return $this->childComponents[ $handle ]->render()->content; |
| 350 | 350 | } |
@@ -392,79 +392,79 @@ discard block |
||
| 392 | 392 | * @param array $inputs |
| 393 | 393 | * @throws \Exception |
| 394 | 394 | */ |
| 395 | - protected function testInputs( array $inputSpec, array &$inputs ) |
|
| 395 | + protected function testInputs(array $inputSpec, array &$inputs) |
|
| 396 | 396 | { |
| 397 | 397 | |
| 398 | 398 | foreach ($inputSpec as $fieldName => $fieldSpec) { |
| 399 | 399 | // Required field |
| 400 | - if (( count( $fieldSpec ) < 2 )) { |
|
| 401 | - if (!isset( $inputs[ $fieldName ] )) { |
|
| 402 | - $calledFunc = debug_backtrace()[1]['function']; |
|
| 403 | - $callerFunc = debug_backtrace()[2]['function']; |
|
| 404 | - $callerClass = debug_backtrace()[2]['class']; |
|
| 400 | + if ((count($fieldSpec) < 2)) { |
|
| 401 | + if (!isset($inputs[ $fieldName ])) { |
|
| 402 | + $calledFunc = debug_backtrace()[ 1 ][ 'function' ]; |
|
| 403 | + $callerFunc = debug_backtrace()[ 2 ][ 'function' ]; |
|
| 404 | + $callerClass = debug_backtrace()[ 2 ][ 'class' ]; |
|
| 405 | 405 | $parentText = ''; |
| 406 | - if( $this->parent !== null ){ |
|
| 407 | - $parentText = " (parent component is ".get_class($this->parent).")"; |
|
| 406 | + if ($this->parent !== null) { |
|
| 407 | + $parentText = " (parent component is " . get_class($this->parent) . ")"; |
|
| 408 | 408 | } |
| 409 | - throw new \Exception( $fieldName . " is a required field for " . get_class( $this )."::{$calledFunc}() called from {$callerClass}::{$callerFunc}(){$parentText}" ); |
|
| 409 | + throw new \Exception($fieldName . " is a required field for " . get_class($this) . "::{$calledFunc}() called from {$callerClass}::{$callerFunc}(){$parentText}"); |
|
| 410 | 410 | } |
| 411 | 411 | } |
| 412 | 412 | // Set default is unset |
| 413 | - if (!isset( $inputs[ $fieldName ] )) { |
|
| 413 | + if (!isset($inputs[ $fieldName ])) { |
|
| 414 | 414 | $inputs[ $fieldName ] = $fieldSpec[ 1 ]; |
| 415 | 415 | } |
| 416 | 416 | // Check type |
| 417 | 417 | // Any type allowed, continue |
| 418 | - if (!isset( $fieldSpec[ 0 ] ) || $fieldSpec[ 0 ] === null) { |
|
| 418 | + if (!isset($fieldSpec[ 0 ]) || $fieldSpec[ 0 ] === null) { |
|
| 419 | 419 | continue; |
| 420 | 420 | } |
| 421 | 421 | $requiredType = $fieldSpec[ 0 ]; |
| 422 | 422 | $input = $inputs[ $fieldName ]; |
| 423 | 423 | // Specific type required |
| 424 | 424 | // Null is allowed |
| 425 | - if (!is_null( $input )) { |
|
| 425 | + if (!is_null($input)) { |
|
| 426 | 426 | switch ($requiredType) { |
| 427 | 427 | case "boolean": |
| 428 | 428 | case "bool": |
| 429 | - $failed = !is_bool( $input ); |
|
| 429 | + $failed = !is_bool($input); |
|
| 430 | 430 | break; |
| 431 | 431 | case "integer": |
| 432 | 432 | case "int": |
| 433 | - $failed = !is_int( $input+0 ); |
|
| 433 | + $failed = !is_int($input + 0); |
|
| 434 | 434 | break; |
| 435 | 435 | case "double": |
| 436 | - $failed = !is_double( $input+0 ); |
|
| 436 | + $failed = !is_double($input + 0); |
|
| 437 | 437 | break; |
| 438 | 438 | case "float": |
| 439 | - $failed = !is_float( $input+0 ); |
|
| 439 | + $failed = !is_float($input + 0); |
|
| 440 | 440 | break; |
| 441 | 441 | case "string": |
| 442 | - $failed = !is_string( $input ); |
|
| 442 | + $failed = !is_string($input); |
|
| 443 | 443 | break; |
| 444 | 444 | case "array": |
| 445 | - $failed = !is_array( $input ); |
|
| 445 | + $failed = !is_array($input); |
|
| 446 | 446 | break; |
| 447 | 447 | case "object": |
| 448 | - $failed = !is_object( $input ); |
|
| 448 | + $failed = !is_object($input); |
|
| 449 | 449 | break; |
| 450 | 450 | case "resource": |
| 451 | - $failed = !is_resource( $input ); |
|
| 451 | + $failed = !is_resource($input); |
|
| 452 | 452 | break; |
| 453 | 453 | case "callable": |
| 454 | - $failed = !is_callable( $input ); |
|
| 454 | + $failed = !is_callable($input); |
|
| 455 | 455 | break; |
| 456 | 456 | default: |
| 457 | - $failed = !( $input instanceof $requiredType ); |
|
| 457 | + $failed = !($input instanceof $requiredType); |
|
| 458 | 458 | } |
| 459 | 459 | if ($failed) { |
| 460 | - $calledFunc = debug_backtrace()[1]['function']; |
|
| 461 | - $callerFunc = debug_backtrace()[2]['function']; |
|
| 462 | - $callerClass = debug_backtrace()[2]['class']; |
|
| 460 | + $calledFunc = debug_backtrace()[ 1 ][ 'function' ]; |
|
| 461 | + $callerFunc = debug_backtrace()[ 2 ][ 'function' ]; |
|
| 462 | + $callerClass = debug_backtrace()[ 2 ][ 'class' ]; |
|
| 463 | 463 | $parentText = ''; |
| 464 | - if( $this->parent !== null ){ |
|
| 465 | - $parentText = " (parent component is ".get_class($this->parent).")"; |
|
| 464 | + if ($this->parent !== null) { |
|
| 465 | + $parentText = " (parent component is " . get_class($this->parent) . ")"; |
|
| 466 | 466 | } |
| 467 | - throw new \Exception( $fieldName . " should be of type " . $requiredType . "in " . get_class( $this )."::{$calledFunc}() called from {$callerClass}::{$callerFunc}(){$parentText}" ); |
|
| 467 | + throw new \Exception($fieldName . " should be of type " . $requiredType . "in " . get_class($this) . "::{$calledFunc}() called from {$callerClass}::{$callerFunc}(){$parentText}"); |
|
| 468 | 468 | } |
| 469 | 469 | } |
| 470 | 470 | } |
@@ -475,9 +475,9 @@ discard block |
||
| 475 | 475 | * |
| 476 | 476 | * @var array $props |
| 477 | 477 | */ |
| 478 | - public function updateView( $props ) |
|
| 478 | + public function updateView($props) |
|
| 479 | 479 | { |
| 480 | - $this->updateProps( $props ); |
|
| 480 | + $this->updateProps($props); |
|
| 481 | 481 | $this->updateState(); |
| 482 | 482 | } |
| 483 | 483 | |
@@ -486,13 +486,13 @@ discard block |
||
| 486 | 486 | * |
| 487 | 487 | * @var array $props |
| 488 | 488 | */ |
| 489 | - protected function updateProps( $props ) |
|
| 489 | + protected function updateProps($props) |
|
| 490 | 490 | { |
| 491 | - $this->log( "Storing new props: " . var_export( $props, true ), LogLevel::DEBUG ); |
|
| 491 | + $this->log("Storing new props: " . var_export($props, true), LogLevel::DEBUG); |
|
| 492 | 492 | $this->props = $props; |
| 493 | 493 | } |
| 494 | 494 | |
| 495 | - protected function forceResponse( Response $response ) |
|
| 495 | + protected function forceResponse(Response $response) |
|
| 496 | 496 | { |
| 497 | 497 | $this->forceResponse = $response; |
| 498 | 498 | } |
@@ -500,12 +500,12 @@ discard block |
||
| 500 | 500 | /** |
| 501 | 501 | * @param ExecHelper $execHelper |
| 502 | 502 | */ |
| 503 | - private function setExec( ExecHelper $execHelper ) |
|
| 503 | + private function setExec(ExecHelper $execHelper) |
|
| 504 | 504 | { |
| 505 | 505 | $this->exec = clone $execHelper; |
| 506 | - $this->exec->setComponent( $this ); |
|
| 507 | - foreach( $this->childComponents as $child ){ |
|
| 508 | - $child->setExec( $execHelper ); |
|
| 506 | + $this->exec->setComponent($this); |
|
| 507 | + foreach ($this->childComponents as $child) { |
|
| 508 | + $child->setExec($execHelper); |
|
| 509 | 509 | } |
| 510 | 510 | } |
| 511 | 511 | |
@@ -519,9 +519,9 @@ discard block |
||
| 519 | 519 | // it manually and you still get the advantage that the deps |
| 520 | 520 | // are specified in the optional injectDependencies() method's |
| 521 | 521 | // signature |
| 522 | - $this->log( "Dependency injection...", LogLevel::DEBUG ); |
|
| 523 | - DependencyInjector::instance()->injectIntoMethod( $this ); |
|
| 524 | - foreach( $this->childComponents as $child ){ |
|
| 522 | + $this->log("Dependency injection...", LogLevel::DEBUG); |
|
| 523 | + DependencyInjector::instance()->injectIntoMethod($this); |
|
| 524 | + foreach ($this->childComponents as $child) { |
|
| 525 | 525 | $child->handleDependencyInjection(); |
| 526 | 526 | } |
| 527 | 527 | } |
@@ -529,13 +529,13 @@ discard block |
||
| 529 | 529 | /** |
| 530 | 530 | * @param LoggerInterface $logger |
| 531 | 531 | */ |
| 532 | - private function setLogger( LoggerInterface $logger = null ) |
|
| 532 | + private function setLogger(LoggerInterface $logger = null) |
|
| 533 | 533 | { |
| 534 | - if( null !== $logger ){ |
|
| 534 | + if (null !== $logger) { |
|
| 535 | 535 | $this->logger = $logger; |
| 536 | 536 | /** @var AbstractViewComponent $child */ |
| 537 | - foreach( $this->childComponents as $child ){ |
|
| 538 | - $child->setLogger( $logger ); |
|
| 537 | + foreach ($this->childComponents as $child) { |
|
| 538 | + $child->setLogger($logger); |
|
| 539 | 539 | } |
| 540 | 540 | } |
| 541 | 541 | } |