Search code examples
phpecholine-breaksslim

Why I'm not able to print the whole output to the screen in PHP?


I'm using Slim framework for my project. I've copied the Slim folder to my project directory.

No following is the code I'm having issue with :

PHP Code(requestdemo.php):

    <?php

    require 'Slim/Slim.php';

    /* Invoke the static "registerAutoloader()" function defined within Slim class. 
     * Register the autoloader is very important. 
     * Without doing it nothing will work.
    */ 
    \Slim\Slim::registerAutoloader();

    //Instantiate Slim class in order to get a reference for the object.
    $application = new \Slim\Slim();

    $application->get(
        '/request',
        function() 
        {
          GlOBAL $application;
          echo "&nbsp;<br/><b>request methods</b>";
          echo "<br/>application->request->getMethod()=".$application->request->getMethod();
          echo "<br/>application->request->isGet()=".$application->request->isGet();
          echo "<br/>application->request->isPost()=".$application->request->isPost();
          echo "<br/>application->request->isPut()=".$application->request->isPut();
          echo "<br/>application->request->isDelete()=".$application->request->isDelete();
          echo "<br/>application->request->isHead()=".$application->request->isHead();
          echo "<br/>application->request->isOptions()=".$application->request->isOptions();
          echo "<br/>application->request->isPatch()=".$application->request->isPatch();
          echo "<br/>application->request->isAjax()=".$application->request->isAjax();
          echo "<br/>&nbsp;<br/><b>request headers</b>";
          $headers = $application->request->headers;
          foreach($headers as $k=>$v)
          {
            echo "<br/>$k => $v";
          }
          echo "<br/>&nbsp;<br/><b>request body</b>";
          echo "<br/>body=".$application->request->getBody();
          echo "<br/>&nbsp;<br/><b>request variables</b>";
          echo "<br/>width=".$application->request->params('width');
          echo "<br/>height=".$application->request->params('height');
          echo "<br/>&nbsp;<br/><b>request get variables</b>";
          echo "<br/>width=".$application->request->get('width');
          echo "<br/>height=".$application->request->get('height');
          echo "<br/>&nbsp;<br/><b>request post variables</b>";
          echo "<br/>width=".$application->request->post('width');
          echo "<br/>height=".$application->request->post('height');
          echo "<br/>&nbsp;<br/><b>resource uri</b>";
/*From the below line I'm not able to see the output in a browser.*/
          echo "<br/>rootUri=".$application->request->getUri();
          echo "<br/>resourceUri=".$application->request->getResourceUri();
          echo "<br/>&nbsp;<br/><b>request ajax check</b>";
          echo "<br/>rootUri=".$application->request->isAjax();
          echo "<br/>resourceUri=".$application->request->getResourceUri();
          echo "<br/>&nbsp;<br/><b>request helpers</b>";
          echo "<br/>content type=".$application->request->getContentType();
          echo "<br/>media type=".$application->request->getMediaType();
          echo "<br/>host=".$application->request->getHost();
          echo "<br/>scheme=".$application->request->getScheme();
          echo "<br/>path=".$application->request->getPath();
          echo "<br/>url=".$application->request->getUrl();
          echo "<br/>user agent=".$application->request->getUserAgent();
        });
    $application->run();
?>

The file 'requestdemo.php' is present in the directory titled "slimsamples" at location /var/www/slimsamples

As I hit the URL 'http://localhost/slimsamples/requestdemo.php/request' I'm able to see only the part of output in a browser window. From where I'm not able to see the output I've commented in my code. I'm not able to see the output after line resource uri. See the screenshot for further understanding. Incomplete output. Not able to see text after the heading resource uri

Also there is no syntactical error in it then why it's happening I'm not understanding.

Can someone please find out the mistake I'm making here?

Thanks in advance.


Solution

  • Use: request->getUrl()

    (You used request->getUri())

    See http://dev.slimframework.com/phpdocs/classes/Slim.Http.Request.html#getUrl