M.Zharkikh's personal site logo
Mail to site
Print version
News (RSS)
Smereka / For programmers / SmerecashPage object


For programmers

SmerecashPage object

The SmerecashPage object is designed to search previously generated (smerecashed) HTML code of Web pages and send data to the client. From this class is inherited Page class.


protected $PageSmerecasheable value of logical type, which allows or denies smerecashing for this page. If smerecashing allowed, then Smereka tries to find pre-generated code in smerecash during processing the request, and write code of the page to smerecash after code generation. If smerecashing prohibited, Smereka always performs full cycle of HTML code of web pages generation.

protected function CanSmerecashe()

The method returns a Boolean value, which allows or denies smerecashing for this page. Typically smerecashing allowed if it allows by global variable $GLOBALS['UseSmerecashe'] and value of the PageSmerecasheable field. If object User is created in the PHP session (default), then additionally called its method AllowSmerecash().

Thus, smerecash management can be done at the global level, user-level and node class level. You need to override this method to provide specific mode of pages smerecashing.

protected function Compress(&$Data)

The method receives the HTML code of web page and compresses it with gzip algorithm to send the user a smaller amount of data. This compression is performed after postprocessing, each time page is sending to user (regardless was page smerecashed or not). Compression is performed by the simultaneous implementation of all the following conditions:

  • it is allowed by global variable CompressOutput;
  • client is ready to accept gzip-data;
  • MIME Type of page HTML;
  • length of the incoming data exceeds 20 kb (one can save something on its compression).

The function returns a Boolean value was compression applied or not.

public function Display($Id = NULL)

The main method of class. In this class, it does work with smerecash. If the optional parameter $Id specified, the function searches smerecashed page with the given node id and the current language version. If this parameter is omitted, the method PageURLInfo is called and smerecash is searched for address string, generated by this method.

If the smerecashed page found, it sent to the client by SendPage method and Smereka finished processing of request. If smerecashed page not found, the method returns False and the normal cycle of page generation continues.

protected function MIMEType()

The method returns a MIME Type for this page. By default, the method selects a value from a table smerecash. Descendants class can override this behavior.

public static function PageURLInfo()

The method analyzes the parameters of page request and generates the address string of those elements that define the page content.

protected function SendHeader($Size, $CanCache, $LastUpd)

Sends to the client HTTP-headers in accordance with the parameters $Size (data size), $CanCache (is HTTP-caching allowed), $LastUpd (date of last data modification).

protected function SendPage($R, $D)

The method receives data to be sent to the user ($R) and date of last modification ($D). If necessary, function performs postprocessing of the data obtained (typical task performed by postprocessing insert the number of downloads of the page, which is performed by sending data to each client). After that attempt to compress data by Compress. If compression successful, the appropriate HTTP-headers sent to client. Then the data stream sent to client.

Previous section | Table of content | Next section

Please this page? Help us to develop this site!

1978 2018 N.I.Zharkikh

Reprinting of articles from site are encouraged while
reference (hyperlink) to my site is provided

Site powered by

Load count : 1401

Modified : 8.08.2017

If you look up the type error
on this page, please select it
by mouse and press Ctrl+Enter.