blob: fa57dfb250fe668bacc1b1651cdedce688f44347 [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>
Derek Jones8917af72010-03-05 12:41:45 -060031<td><h1>CodeIgniter User Guide Version 2.0.0</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 Jones8917af72010-03-05 12:41:45 -060072<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
Derek Jones788b00f2009-11-27 18:00:20 +000073 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>
74 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
82<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
97 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
98 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
103</p>
104
Greg Aker64b44a22010-11-09 14:15:33 -0600105<h2>Step 5: Update Class extension</h2>
106<p>All core classes are now prefixed with <kbd>CI_</kbd>. Update Models and Controllers to extend CI_Model and CI_Controller, respectively.</p>
107
108
109<h2>Step 6: Update your user guide</h2>
Derek Jones788b00f2009-11-27 18:00:20 +0000110<p>Please replace your local copy of the user guide with the new version, including the image files.</p>
111
112</div>
113<!-- END CONTENT -->
114
115
116<div id="footer">
117<p>
118Previous Topic:&nbsp;&nbsp;<a href="index.html">Installation Instructions</a>
119&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
120<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
121<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
122Next Topic:&nbsp;&nbsp;<a href="troubleshooting.html">Troubleshooting</a>
123</p>
Derek Jonesd6d70e32010-03-29 10:10:27 -0500124<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006-2010 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
Derek Jones788b00f2009-11-27 18:00:20 +0000125</div>
126
127</body>
128</html>