Automated merge with http://hg.ellislab.com/CodeIgniterNoPhp4/
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 4b6078a..181fbe4 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -64,7 +64,7 @@
<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 56a1145..1d9cd03 100644
--- a/user_guide/general/controllers.html
+++ b/user_guide/general/controllers.html
@@ -330,33 +330,18 @@
<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>
-<?php<br />
-class <kbd>Blog</kbd> extends CI_Controller {<br />
-<br />
- function <kbd>Blog()</kbd><br />
- {<br />
- <var>parent::CI_Controller();</var><br />
- }<br />
-}<br />
-?></code>
-
-<p>In PHP 5, constructors use the following syntax:</p>
-
<code>
<?php<br />
class <kbd>Blog</kbd> extends CI_Controller {<br />
<br />
function <kbd>__construct()</kbd><br />
{<br />
- <var>parent::CI_Controller();</var><br />
+ <var>parent::__construct();</var><br />
+ // Your own constructor code<br />
}<br />
}<br />
?></code>
diff --git a/user_guide/general/core_classes.html b/user_guide/general/core_classes.html
index ac965ae..35043d9 100644
--- a/user_guide/general/core_classes.html
+++ b/user_guide/general/core_classes.html
@@ -131,9 +131,9 @@
<code>
class MY_Input extends CI_Input {<br />
<br />
- function MY_Input()<br />
+ function __construct()<br />
{<br />
- parent::CI_Input();<br />
+ parent::__construct();<br />
}<br />
}</code>
@@ -145,9 +145,9 @@
<code>class Welcome extends MY_Controller {<br />
<br />
- function Welcome()<br />
+ function __construct()<br />
{<br />
- parent::MY_Controller();<br />
+ parent::__construct();<br />
}<br />
<br />
function index()<br />
diff --git a/user_guide/general/creating_libraries.html b/user_guide/general/creating_libraries.html
index 3f0e32c..00d0f4a 100644
--- a/user_guide/general/creating_libraries.html
+++ b/user_guide/general/creating_libraries.html
@@ -141,7 +141,7 @@
<br />
class Someclass {<br />
<br />
- function Someclass($params)<br />
+ function __construct($params)<br />
{<br />
// Do something with $params<br />
}<br />
@@ -248,9 +248,9 @@
<code>
class MY_Email extends CI_Email {<br />
<br />
- function My_Email()<br />
+ function __construct()<br />
{<br />
- parent::CI_Email();<br />
+ parent::__construct();<br />
}<br />
}</code>
diff --git a/user_guide/general/models.html b/user_guide/general/models.html
index 35ab08d..4669966 100644
--- a/user_guide/general/models.html
+++ b/user_guide/general/models.html
@@ -83,10 +83,10 @@
var $content = '';<br />
var $date = '';<br />
<br />
- function Blogmodel()<br />
+ function __construct()<br />
{<br />
// Call the Model constructor<br />
- parent::CI_Model();<br />
+ parent::__construct();<br />
}<br />
<br />
function get_last_ten_entries()<br />
@@ -128,9 +128,9 @@
<code>
class <var>Model_name</var> extends CI_Model {<br />
<br />
- function <var>Model_name</var>()<br />
+ function <var>__construct</var>()<br />
{<br />
- parent::CI_Model();<br />
+ parent::__construct();<br />
}<br />
}</code>
@@ -142,9 +142,9 @@
<code>
class <var>User_model</var> extends CI_Model {<br />
<br />
- function <var>User_model</var>()<br />
+ function <var>__construct</var>()<br />
{<br />
- parent::CI_Model();<br />
+ parent::__construct();<br />
}<br />
}</code>
diff --git a/user_guide/general/styleguide.html b/user_guide/general/styleguide.html
index 7b7d837..f30f455 100644
--- a/user_guide/general/styleguide.html
+++ b/user_guide/general/styleguide.html
@@ -161,7 +161,7 @@
<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 @@
<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 d7c2d16..6846b78 100644
--- a/user_guide/helpers/smiley_helper.html
+++ b/user_guide/helpers/smiley_helper.html
@@ -101,9 +101,9 @@
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 fa57dfb..16c7d8d 100644
--- a/user_guide/installation/upgrade_200.html
+++ b/user_guide/installation/upgrade_200.html
@@ -100,13 +100,16 @@
<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 ea0e2a2..00bc0c0 100644
--- a/user_guide/libraries/file_uploading.html
+++ b/user_guide/libraries/file_uploading.html
@@ -146,9 +146,9 @@
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 bad23d2..4ac1099 100644
--- a/user_guide/nav/nav.js
+++ b/user_guide/nav/nav.js
@@ -104,7 +104,6 @@
'<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>' +