blob: e4e30032a9200b35284917f9ddd12efd7a458e29 [file] [log] [blame]
adminb0dd10f2006-08-25 17:25:49 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html>
3<head>
4
Derek Allardd2df9bc2007-04-15 17:41:17 +00005<title>CodeIgniter User Guide</title>
adminb0dd10f2006-08-25 17:25:49 +00006
7<style type='text/css' media='all'>@import url('../userguide.css');</style>
8<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
9
admin17a890d2006-09-27 20:42:42 +000010<script type="text/javascript" src="../nav/nav.js"></script>
admin2296fc32006-09-27 21:07:02 +000011<script type="text/javascript" src="../nav/prototype.lite.js"></script>
admin17a890d2006-09-27 20:42:42 +000012<script type="text/javascript" src="../nav/moo.fx.js"></script>
adminb0dd10f2006-08-25 17:25:49 +000013<script type="text/javascript">
14window.onload = function() {
admine334c472006-10-21 19:44:22 +000015 myHeight = new fx.Height('nav', {duration: 400});
adminb0dd10f2006-08-25 17:25:49 +000016 myHeight.hide();
17}
18</script>
19
20<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
21<meta http-equiv='expires' content='-1' />
22<meta http-equiv= 'pragma' content='no-cache' />
23<meta name='robots' content='all' />
24<meta name='author' content='Rick Ellis' />
Derek Allardd2df9bc2007-04-15 17:41:17 +000025<meta name='description' content='CodeIgniter User Guide' />
adminb0dd10f2006-08-25 17:25:49 +000026
27</head>
28<body>
29
30<!-- START NAVIGATION -->
31<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
32<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
33<div id="masthead">
34<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
35<tr>
Derek Allardd2df9bc2007-04-15 17:41:17 +000036<td><h1>CodeIgniter User Guide Version 1.5.3</h1></td>
adminc0d5d522006-10-30 19:40:35 +000037<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
adminb0dd10f2006-08-25 17:25:49 +000038</tr>
39</table>
40</div>
41<!-- END NAVIGATION -->
42
43
44<!-- START BREADCRUMB -->
45<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
46<tr>
47<td id="breadcrumb">
Derek Allardd2df9bc2007-04-15 17:41:17 +000048<a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
adminb0dd10f2006-08-25 17:25:49 +000049<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
50Output Class
51</td>
52<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
53</tr>
54</table>
55<!-- END BREADCRUMB -->
56
57<br clear="all" />
58
59
60<!-- START CONTENT -->
61<div id="content">
62
63
64<h1>Output Class</h1>
65
66<p>The Output class is a small class with one main function: To send the finalized web page to the requesting browser. It is
67also responsible for <a href="../general/caching.html">caching</a> your web pages, if you use that feature.</p>
68
69<p class="important"><strong>Note:</strong> This class is initialized automatically by the system so there is no need to do it manually.</p>
70
admine334c472006-10-21 19:44:22 +000071<p>Under normal circumstances you won't even notice the Output class since it works transparently without your intervention.
adminb0dd10f2006-08-25 17:25:49 +000072For example, when you use the <a href="../libraries/loader.html">Loader</a> class to load a view file, it's automatically
Derek Allardd2df9bc2007-04-15 17:41:17 +000073passed to the Output class, which will be called automatically by CodeIgniter at the end of system execution.
adminb0dd10f2006-08-25 17:25:49 +000074It is possible, however, for you to manually intervene with the output if you need to, using either of the two following functions:</p>
75
76<h2>$this->output->set_output();</h2>
77
78<p>Permits you to manually set the final output string. Usage example:<p>
79
80<code>$this->output->set_output($data);</code>
81
82<p><strong>Important:</strong> If you do set your output manually, it must be the last thing done in the function you call it from.
83For example, if you build a page in one of your controller functions, don't set the output until the end.</p>
84
85
86<h2>$this->output->get_output();</h2>
87
88<p>Permits you to manually retrieve any output that has been sent for storage in the output class. Usage example:<p>
89<code>$string = $this->output->get_output();</code>
90
91<p>Note that data will only be retrievable from this function if it has been previously sent to the output class by one of the
Derek Allardd2df9bc2007-04-15 17:41:17 +000092CodeIgniter functions like <var>$this->load->view()</var>.</p>
adminb0dd10f2006-08-25 17:25:49 +000093
94
adminf5136322006-09-21 02:44:57 +000095<h2>$this->output->set_header();</h2>
96
97<p>Permits you to manually set server headers, which the output class will send for you when outputting the final rendered display. Example:<p>
98
99<code>
100$this->output->set_header("HTTP/1.0 200 OK");<br />
101$this->output->set_header("HTTP/1.1 200 OK");<br />
102$this->output->set_header('Last-Modified: '.gmdate('D, d M Y H:i:s', $last_update).' GMT');<br />
103$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate");<br />
104$this->output->set_header("Cache-Control: post-check=0, pre-check=0", false);<br />
105$this->output->set_header("Pragma: no-cache"); </code>
106
adminb0dd10f2006-08-25 17:25:49 +0000107
admin08f60202006-10-03 05:28:00 +0000108<h2>$this->output->enable_profiler();</h2>
109
110<p>Permits you to enable/disable the <a href="../general/profiling.html">Profiler</a>, which will display benchmark and other data
111at the bottom of your pages for debugging and optimization purposes.</p>
112
admine7e1dcd2006-10-21 18:04:01 +0000113<p>To enable the profiler place the following function anywhere within your <a href="controllers.html">Controller</a> functions:</p>
admin08f60202006-10-03 05:28:00 +0000114<code>$this->output->enable_profiler(TRUE);</code>
115
116<p>When enabled a report will be generated and inserted at the bottom of your pages.</p>
117
118<p>To disable the profiler you will use:</p>
119<code>$this->output->enable_profiler(FALSE);</code>
120
121
122
adminb0dd10f2006-08-25 17:25:49 +0000123</div>
124<!-- END CONTENT -->
125
126
127<div id="footer">
128<p>
129Previous Topic:&nbsp;&nbsp;<a href="language.html">Language Class</a>
130&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
131<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
132<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
133Next Topic:&nbsp;&nbsp;<a href="pagination.html">Pagination Class</a>
134<p>
Derek Allardd2df9bc2007-04-15 17:41:17 +0000135<p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
adminb0dd10f2006-08-25 17:25:49 +0000136</div>
137
138</body>
139</html>