blob: 0b24079ef3cfb5abac42b75af6d30c5482b40302 [file] [log] [blame]
Derek Jones788b00f2009-11-27 18:00:20 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3<head>
4
5<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Derek Jones8917af72010-03-05 12:41:45 -06006<title>Upgrading from 1.7.2 to 2.0.0 : CodeIgniter User Guide</title>
Derek Jones788b00f2009-11-27 18:00:20 +00007
8<style type='text/css' media='all'>@import url('../userguide.css');</style>
9<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
10
11<script type="text/javascript" src="../nav/nav.js"></script>
12<script type="text/javascript" src="../nav/prototype.lite.js"></script>
13<script type="text/javascript" src="../nav/moo.fx.js"></script>
14<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
15
16<meta http-equiv='expires' content='-1' />
17<meta http-equiv= 'pragma' content='no-cache' />
18<meta name='robots' content='all' />
19<meta name='author' content='ExpressionEngine Dev Team' />
20<meta name='description' content='CodeIgniter User Guide' />
21
22</head>
23<body>
24
25<!-- START NAVIGATION -->
26<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
27<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
28<div id="masthead">
29<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
30<tr>
Pascal Kriete1f622292011-04-07 12:06:51 -040031<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
Derek Jones788b00f2009-11-27 18:00:20 +000032<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
33</tr>
34</table>
35</div>
36<!-- END NAVIGATION -->
37
38
39<!-- START BREADCRUMB -->
40<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
41<tr>
42<td id="breadcrumb">
43<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
44<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
Derek Jones8917af72010-03-05 12:41:45 -060045Upgrading from 1.7.2 to 2.0.0
Derek Jones788b00f2009-11-27 18:00:20 +000046</td>
47<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="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>
48</tr>
49</table>
50<!-- END BREADCRUMB -->
51
52<br clear="all" />
53
54
55<!-- START CONTENT -->
56<div id="content">
57
Derek Jones8917af72010-03-05 12:41:45 -060058<h1>Upgrading from 1.7.2 to 2.0.0</h1>
Derek Jones788b00f2009-11-27 18:00:20 +000059
60<p>Before performing an update you should take your site offline by replacing the index.php file with a static one.</p>
61
62
63
64<h2>Step 1: Update your CodeIgniter files</h2>
65
Derek Jonesc6da5032010-03-09 20:44:27 -060066<p>Replace all files and directories in your "system" folder <strong>except</strong> your <kbd>application</kbd> folder.</p>
Derek Jones788b00f2009-11-27 18:00:20 +000067
68<p class="important"><strong>Note:</strong> If you have any custom developed files in these folders please make copies of them first.</p>
69
70<h2>Step 2: Adjust get_dir_file_info() where necessary</h2>
71
Derek Jones4b9c6292011-07-01 17:40:48 -050072<p>Version 2.0.0 brings a non-backwards compatible change to <kbd>get_dir_file_info()</kbd> in the <a href="../helpers/file_helper.html">File Helper</a>. Non-backwards compatible changes are extremely rare
73 in CodeIgniter, but this one we feel was warranted due to how easy it was to create serious server performance issues. If you <em>need</em>
Derek Jones788b00f2009-11-27 18:00:20 +000074 recursiveness where you are using this helper function, change such instances, setting the second parameter, <kbd>$top_level_only</kbd> to FALSE:</p>
75
76<code>get_dir_file_info('/path/to/directory', <kbd>FALSE</kbd>);</code>
77
Derek Jonesc6da5032010-03-09 20:44:27 -060078</p>
79
80<h2>Step 3: Convert your Plugins to Helpers</h2>
81
Derek Jones4b9c6292011-07-01 17:40:48 -050082<p>2.0.0 gets rid of the "Plugin" system as their functionality was identical to Helpers, but non-extensible. You will need to rename your plugin files from <var>filename_pi.php</var> to <var>filename_helper.php</var>, move them to your <kbd>helpers</kbd> folder, and change all instances of:
Barry Mienydd671972010-10-04 16:33:58 +020083
Derek Jonesc6da5032010-03-09 20:44:27 -060084 <code>$this->load->plugin('foo');</code>
Barry Mienydd671972010-10-04 16:33:58 +020085
Derek Jonesc6da5032010-03-09 20:44:27 -060086to
87
88 <code>$this->load->helper('foo');</code>
89
90</p>
91
Derek Jones09c77932010-08-31 13:17:10 -050092<h2>Step 4: Update stored encrypted data</h2>
93
94<p class="important"><strong>Note:</strong> If your application does not use the Encryption library, does not store Encrypted data permanently, or is on an environment that does not support Mcrypt, you may skip this step.</p>
95
96<p>The Encryption library has had a number of improvements, some for encryption strength and some for performance, that has an unavoidable consequence of
Derek Jones4b9c6292011-07-01 17:40:48 -050097 making it no longer possible to decode encrypted data produced by the original version of this library. To help with the transition, a new method has
Derek Jones09c77932010-08-31 13:17:10 -050098 been added, <kbd>encode_from_legacy()</kbd> that will decode the data with the original algorithm and return a re-encoded string using the improved methods.
99 This will enable you to easily replace stale encrypted data with fresh in your applications, either on the fly or en masse.</p>
Barry Mienydd671972010-10-04 16:33:58 +0200100
Derek Jones09c77932010-08-31 13:17:10 -0500101<p>Please read <a href="../libraries/encryption.html#legacy">how to use this method</a> in the Encryption library documentation.</p>
102
Pascal Krietee79d41a2010-11-10 16:41:23 -0500103<h2>Step 5: Remove loading calls for the compatibility helper.</h2>
104<p>The compatibility helper has been removed from the CodeIgniter core. All methods in it should be natively available in supported PHP versions.</p>
Derek Jones09c77932010-08-31 13:17:10 -0500105
Pascal Krietee79d41a2010-11-10 16:41:23 -0500106<h2>Step 6: Update Class extension</h2>
Derek Jones4b9c6292011-07-01 17:40:48 -0500107<p>All core classes are now prefixed with <kbd>CI_</kbd>. Update Models and Controllers to extend CI_Model and CI_Controller, respectively.</p>
Greg Aker64b44a22010-11-09 14:15:33 -0600108
Pascal Krietee79d41a2010-11-10 16:41:23 -0500109<h2>Step 7: Update Parent Constructor calls</h2>
110<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>
Greg Aker64b44a22010-11-09 14:15:33 -0600111
Pascal Krietee79d41a2010-11-10 16:41:23 -0500112<h2>Step 8: Update your user guide</h2>
Derek Jones788b00f2009-11-27 18:00:20 +0000113<p>Please replace your local copy of the user guide with the new version, including the image files.</p>
114
115</div>
116<!-- END CONTENT -->
117
118
119<div id="footer">
120<p>
121Previous Topic:&nbsp;&nbsp;<a href="index.html">Installation Instructions</a>
122&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
123<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
124<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
125Next Topic:&nbsp;&nbsp;<a href="troubleshooting.html">Troubleshooting</a>
126</p>
Derek Jones898949f2011-01-28 07:42:16 -0600127<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
Derek Jones788b00f2009-11-27 18:00:20 +0000128</div>
129
130</body>
131</html>