From e69b45663f06e84b3257fcd56616e299708599d1 Mon Sep 17 00:00:00 2001 From: Derek Jones Date: Wed, 5 Oct 2011 17:30:50 -0500 Subject: fixed code spacing in Controllers general docs --- user_guide_src/source/general/controllers.rst | 141 ++++++++++++++++++++------ 1 file changed, 109 insertions(+), 32 deletions(-) (limited to 'user_guide_src') diff --git a/user_guide_src/source/general/controllers.rst b/user_guide_src/source/general/controllers.rst index 8f02df21f..4d6e8366c 100644 --- a/user_guide_src/source/general/controllers.rst +++ b/user_guide_src/source/general/controllers.rst @@ -38,10 +38,18 @@ Let's try it: Hello World! Let's create a simple controller so you can see it in action. Using your text editor, create a file called blog.php, and put the following code -in it: +in it:: + + - Then save the file to your application/controllers/ folder. Now visit the your site using a URL similar to this:: @@ -53,11 +61,20 @@ If you did it right, you should see Hello World!. Note: Class names must start with an uppercase letter. In other words, this is valid:: - + + This is **not** valid:: - + Also, always make sure your controller extends the parent controller class so that it can inherit all its functions. @@ -74,11 +91,23 @@ empty. Another way to show your "Hello World" message would be this:: **The second segment of the URI determines which function in the controller gets called.** -Let's try it. Add a new function to your controller: +Let's try it. Add a new function to your controller:: + + - Now load the following URL to see the comment function:: example.com/index.php/blog/comments/ @@ -97,7 +126,16 @@ For example, lets say you have a URI like this:: Your function will be passed URI segments 3 and 4 ("sandals" and "123"):: - + .. important:: If you are using the :doc:`URI Routing ` feature, the segments passed to your function will be the re-routed @@ -124,7 +162,10 @@ As noted above, the second segment of the URI typically determines which function in the controller gets called. CodeIgniter permits you to override this behavior through the use of the _remap() function:: - public function _remap() {     // Some code here... } + public function _remap() + { + // Some code here... + } .. important:: If your controller contains a function named _remap(), it will **always** get called regardless of what your URI contains. It @@ -134,7 +175,17 @@ override this behavior through the use of the _remap() function:: The overridden function call (typically the second segment of the URI) will be passed as a parameter to the _remap() function:: - public function _remap($method) {     if ($method == 'some_method')     {         $this->$method();     }     else     {         $this->default_method();     } } + public function _remap($method) + { + if ($method == 'some_method') + { + $this->$method(); + } + else + { + $this->default_method(); + } + } Any extra segments after the method name are passed into _remap() as an optional second parameter. This array can be used in combination with @@ -143,7 +194,15 @@ to emulate CodeIgniter's default behavior. :: - public function _remap($method, $params = array()) {     $method = 'process_'.$method;     if (method_exists($this, $method))     {         return call_user_func_array(array($this, $method), $params);     }     show_404(); } + public function _remap($method, $params = array()) + { + $method = 'process_'.$method; + if (method_exists($this, $method)) + { + return call_user_func_array(array($this, $method), $params); + } + show_404(); + } Processing Output ================= @@ -164,23 +223,29 @@ data. Here is an example:: - public function _output($output) {     echo $output; } - -Please note that your _output() function will receive the data in its -finalized state. Benchmark and memory usage data will be rendered, cache -files written (if you have caching enabled), and headers will be sent -(if you use that :doc:`feature <../libraries/output>`) before it is -handed off to the _output() function. -To have your controller's output cached properly, its _output() method -can use:: - - if ($this->output->cache_expiration > 0) {     $this->output->_write_cache($output); } - -If you are using this feature the page execution timer and memory usage -stats might not be perfectly accurate since they will not take into -acccount any further processing you do. For an alternate way to control -output *before* any of the final processing is done, please see the -available methods in the :doc:`Output Class <../libraries/output>`. + public function _output($output) + { + echo $output; + } + +.. note:: Please note that your _output() function will receive the data in its + finalized state. Benchmark and memory usage data will be rendered, cache + files written (if you have caching enabled), and headers will be sent + (if you use that :doc:`feature <../libraries/output>`) before it is + handed off to the _output() function. + To have your controller's output cached properly, its _output() method + can use:: + + if ($this->output->cache_expiration > 0) + { + $this->output->_write_cache($output); + } + + If you are using this feature the page execution timer and memory usage + stats might not be perfectly accurate since they will not take into + acccount any further processing you do. For an alternate way to control + output *before* any of the final processing is done, please see the + available methods in the :doc:`Output Class <../libraries/output>`. Private Functions ================= @@ -190,7 +255,10 @@ To make a function private, simply add an underscore as the name prefix and it will not be served via a URL request. For example, if you were to have a function like this:: - private function _utility() {   // some code } + private function _utility() + { + // some code + } Trying to access it via the URL, like this, will not work:: @@ -237,7 +305,16 @@ manually call it. :: - + Constructors are useful if you need to set some default values, or run a default process when your class is instantiated. Constructors can't -- cgit v1.2.3-24-g4f1b