1. 16 Oct, 2012 1 commit
    • Blaine Schmeisser's avatar
      Pass the response by reference so it can be overwritten in filters · 81a2f5b9
      Blaine Schmeisser authored
      You can edit the response but you can't overwrite it:
      ~~~ php
      <?php
      // https://gist.github.com/3896743
      $response = new stdClass();
      
      echo '1): ' . spl_object_hash($response) . PHP_EOL; // 0000000021e89fcd00000000e93b17ba
      
      call_user_func_array(function($response) {
      	$response = new stdClass();
      	echo '2): ' . spl_object_hash($response) . PHP_EOL; // 0000000021e89fcf00000000e93b17ba
      }, array($response));
      
      echo '3): ' . spl_object_hash($response) . PHP_EOL; // 0000000021e89fcd00000000e93b17ba
      
      call_user_func_array(function($response) {
      	$response = new stdClass();
      	echo '4): ' . spl_object_hash($response) . PHP_EOL; // 0000000021e89fcf00000000e93b17ba // hash descoped and reused
      }, array(&$response));
      
      echo '5): ' . spl_object_hash($response) . PHP_EOL; // 0000000021e89fcf00000000e93b17ba
      ~~~
      
      Otherwise you'd make the new response object and overwrite the values one at a time:
      ~~~ php
      <?php
      // https://gist.github.com/3897032
      Route::filter('after', function($response)
      {
      	$params = \Laravel\Request::$route->parameters;
      	// The 'type' is the last param
      	// example: /product/(:num).(:any)
      	$type = array_pop($params);
      	if($type == 'json') {
      		$res = Response::json($response->content->data);
      		foreach($response as $key => &$value) {
      			$response->$key = $res->$key;
      		}
      	}
      });
      ~~~
      Signed-off-by: 's avatarBlaine Schmeisser <blaine.schmeisser@vitals.com>
      81a2f5b9
  2. 11 Oct, 2012 1 commit
  3. 07 Oct, 2012 5 commits
  4. 06 Oct, 2012 3 commits
  5. 05 Oct, 2012 1 commit
  6. 03 Oct, 2012 2 commits
  7. 02 Oct, 2012 1 commit
  8. 28 Sep, 2012 1 commit
  9. 27 Sep, 2012 5 commits
  10. 26 Sep, 2012 15 commits
  11. 25 Sep, 2012 5 commits