summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--user_guide/changelog.html2
-rw-r--r--user_guide/general/controllers.html21
-rw-r--r--user_guide/general/core_classes.html8
-rw-r--r--user_guide/general/creating_libraries.html6
-rw-r--r--user_guide/general/models.html12
-rw-r--r--user_guide/general/styleguide.html5
-rw-r--r--user_guide/helpers/smiley_helper.html4
-rw-r--r--user_guide/installation/upgrade_200.html9
-rw-r--r--user_guide/libraries/file_uploading.html4
-rw-r--r--user_guide/nav/nav.js1
10 files changed, 29 insertions, 43 deletions
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 4b6078a5a..181fbe4db 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -64,7 +64,7 @@ Hg Tag: </p>
<ul>
<li>General changes
<ul>
- <li>PHP 4 support is deprecated. Features new to 2.0.0 may not support PHP 4, and all legacy features will no longer support PHP 4 as of 2.1.0.</li>
+ <li>PHP 4 support is removed. CodeIgniter now requires PHP 5.1.6.</li>
<li>Scaffolding, having been deprecated for a number of versions, has been removed.</li>
<li>Plugins have been removed, in favor of Helpers. The CAPTCHA plugin has been converted to a Helper and <a href="./helpers/captcha_helper.html">documented</a>. The JavaScript calendar plugin was removed due to the ready availability of great JavaScript calendars, particularly with jQuery.</li>
<li>Added new special Library type: <a href="./general/drivers.html">Drivers</a>.</li>
diff --git a/user_guide/general/controllers.html b/user_guide/general/controllers.html
index 56a1145ad..1d9cd0328 100644
--- a/user_guide/general/controllers.html
+++ b/user_guide/general/controllers.html
@@ -330,33 +330,18 @@ called if the URL contains only the sub-folder. Simply name your default contro
<p>If you intend to use a constructor in any of your Controllers, you <strong>MUST</strong> place the following line of code in it:</p>
-<code>parent::CI_Controller();</code>
+<code>parent::__construct();</code>
<p>The reason this line is necessary is because your local constructor will be overriding the one in the parent controller class so we need to manually call it.</p>
-
-<p>If you are not familiar with constructors, in PHP 4, a <em>constructor</em> is simply a function that has the exact same name as the class:</p>
-
-<code>
-&lt;?php<br />
-class <kbd>Blog</kbd> extends CI_Controller {<br />
-<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function <kbd>Blog()</kbd><br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<var>parent::CI_Controller();</var><br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
-}<br />
-?&gt;</code>
-
-<p>In PHP 5, constructors use the following syntax:</p>
-
<code>
&lt;?php<br />
class <kbd>Blog</kbd> extends CI_Controller {<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function <kbd>__construct()</kbd><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<var>parent::CI_Controller();</var><br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<var>parent::__construct();</var><br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Your own constructor code<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
?&gt;</code>
diff --git a/user_guide/general/core_classes.html b/user_guide/general/core_classes.html
index ac965aee3..35043d9ca 100644
--- a/user_guide/general/core_classes.html
+++ b/user_guide/general/core_classes.html
@@ -131,9 +131,9 @@ class MY_Input extends CI_Input {<br /><br />
<code>
class MY_Input extends CI_Input {<br />
<br />
-&nbsp;&nbsp;&nbsp;&nbsp;function MY_Input()<br />
+&nbsp;&nbsp;&nbsp;&nbsp;function __construct()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::CI_Input();<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::__construct();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</code>
@@ -145,9 +145,9 @@ This allows you to substantially alter the CodeIgniter core.</p>
<code>class Welcome extends MY_Controller {<br />
<br />
-&nbsp;&nbsp;&nbsp;&nbsp;function Welcome()<br />
+&nbsp;&nbsp;&nbsp;&nbsp;function __construct()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::MY_Controller();<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::__construct();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;function index()<br />
diff --git a/user_guide/general/creating_libraries.html b/user_guide/general/creating_libraries.html
index 3f0e32cb0..00d0f4aa4 100644
--- a/user_guide/general/creating_libraries.html
+++ b/user_guide/general/creating_libraries.html
@@ -141,7 +141,7 @@ $this->load->library('Someclass', <kbd>$params</kbd>);</code>
<br />
class Someclass {<br />
<br />
-&nbsp;&nbsp;&nbsp;&nbsp;function Someclass($params)<br />
+&nbsp;&nbsp;&nbsp;&nbsp;function __construct($params)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Do something with $params<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
@@ -248,9 +248,9 @@ class MY_Email extends CI_Email {<br /><br />
<code>
class MY_Email extends CI_Email {<br />
<br />
-&nbsp;&nbsp;&nbsp;&nbsp;function My_Email()<br />
+&nbsp;&nbsp;&nbsp;&nbsp;function __construct()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::CI_Email();<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::__construct();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</code>
diff --git a/user_guide/general/models.html b/user_guide/general/models.html
index 35ab08d20..466996648 100644
--- a/user_guide/general/models.html
+++ b/user_guide/general/models.html
@@ -83,10 +83,10 @@ class&nbsp;Blogmodel&nbsp;extends&nbsp;CI_Model&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;var $content = '';<br />
&nbsp;&nbsp;&nbsp;&nbsp;var $date&nbsp;&nbsp;&nbsp; = '';<br />
<br />
-&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;Blogmodel()<br />
+&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;__construct()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Call the Model constructor<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::CI_Model();<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::__construct();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;get_last_ten_entries()<br />
@@ -128,9 +128,9 @@ want this type of organization.</p>
<code>
class&nbsp;<var>Model_name</var>&nbsp;extends&nbsp;CI_Model&nbsp;{<br />
<br />
-&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;<var>Model_name</var>()<br />
+&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;<var>__construct</var>()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::CI_Model();<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::__construct();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</code>
@@ -142,9 +142,9 @@ Make sure your class extends the base Model class.</p>
<code>
class&nbsp;<var>User_model</var>&nbsp;extends&nbsp;CI_Model&nbsp;{<br />
<br />
-&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;<var>User_model</var>()<br />
+&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;<var>__construct</var>()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::CI_Model();<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::__construct();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</code>
diff --git a/user_guide/general/styleguide.html b/user_guide/general/styleguide.html
index 7b7d837d9..f30f45529 100644
--- a/user_guide/general/styleguide.html
+++ b/user_guide/general/styleguide.html
@@ -161,7 +161,7 @@ echo "Here's my code!";
<h2><a name="class_and_method_naming"></a>Class and Method Naming</h2>
<div class="guidelineDetails">
- <p>Class names should always have their first letter uppercase, and the constructor method should match identically. Multiple words should be separated with an underscore, and not CamelCased. All other class methods should be entirely lowercased and named to clearly indicate their function, preferably including a verb. Try to avoid overly long and verbose names.</p>
+ <p>Class names should always start with an uppercase letter. Multiple words should be separated with an underscore, and not CamelCased. All other class methods should be entirely lowercased and named to clearly indicate their function, preferably including a verb. Try to avoid overly long and verbose names.</p>
<code><strong>INCORRECT</strong>:
class superclass
@@ -170,11 +170,10 @@ class SuperClass
<strong>CORRECT</strong>:
class Super_class</code>
- <p>Notice that the Class and constructor methods are identically named and cased:</p>
<code>class Super_class {
- function Super_class()
+ function __construct()
{
}
diff --git a/user_guide/helpers/smiley_helper.html b/user_guide/helpers/smiley_helper.html
index d7c2d16e7..6846b78e7 100644
--- a/user_guide/helpers/smiley_helper.html
+++ b/user_guide/helpers/smiley_helper.html
@@ -101,9 +101,9 @@ your <dfn>smiley</dfn> folder.</p>
class Smileys extends CI_Controller {
- function Smileys()
+ function __construct()
{
- parent::CI_Controller();
+ parent::__construct();
}
function index()
diff --git a/user_guide/installation/upgrade_200.html b/user_guide/installation/upgrade_200.html
index fa57dfb25..16c7d8d3b 100644
--- a/user_guide/installation/upgrade_200.html
+++ b/user_guide/installation/upgrade_200.html
@@ -100,13 +100,16 @@ to
<p>Please read <a href="../libraries/encryption.html#legacy">how to use this method</a> in the Encryption library documentation.</p>
-</p>
+<h2>Step 5: Remove loading calls for the compatibility helper.</h2>
+<p>The compatibility helper has been removed from the CodeIgniter core. All methods in it should be natively available in supported PHP versions.</p>
-<h2>Step 5: Update Class extension</h2>
+<h2>Step 6: Update Class extension</h2>
<p>All core classes are now prefixed with <kbd>CI_</kbd>. Update Models and Controllers to extend CI_Model and CI_Controller, respectively.</p>
+<h2>Step 7: Update Parent Constructor calls</h2>
+<p>All native CodeIgniter classes now use the PHP 5 <kbd>__construct()</kbd> convention. Please update extended libraries to call <kbd>parent::__construct()</kbd>.</p>
-<h2>Step 6: Update your user guide</h2>
+<h2>Step 8: Update your user guide</h2>
<p>Please replace your local copy of the user guide with the new version, including the image files.</p>
</div>
diff --git a/user_guide/libraries/file_uploading.html b/user_guide/libraries/file_uploading.html
index ea0e2a283..00bc0c076 100644
--- a/user_guide/libraries/file_uploading.html
+++ b/user_guide/libraries/file_uploading.html
@@ -146,9 +146,9 @@ folder:</p>
class Upload extends CI_Controller {
- function Upload()
+ function __construct()
{
- parent::CI_Controller();
+ parent::__construct();
$this->load->helper(array('form', 'url'));
}
diff --git a/user_guide/nav/nav.js b/user_guide/nav/nav.js
index bad23d20a..4ac109914 100644
--- a/user_guide/nav/nav.js
+++ b/user_guide/nav/nav.js
@@ -104,7 +104,6 @@ function create_menu(basepath)
'<ul>' +
'<li><a href="'+base+'helpers/array_helper.html">Array Helper</a></li>' +
'<li><a href="'+base+'helpers/captcha_helper.html">CAPTCHA Helper</a></li>' +
- '<li><a href="'+base+'helpers/compatibility_helper.html">Compatibility Helper</a></li>' +
'<li><a href="'+base+'helpers/cookie_helper.html">Cookie Helper</a></li>' +
'<li><a href="'+base+'helpers/date_helper.html">Date Helper</a></li>' +
'<li><a href="'+base+'helpers/directory_helper.html">Directory Helper</a></li>' +