summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/installation/upgrade_300.rst
diff options
context:
space:
mode:
Diffstat (limited to 'user_guide_src/source/installation/upgrade_300.rst')
-rw-r--r--user_guide_src/source/installation/upgrade_300.rst138
1 files changed, 120 insertions, 18 deletions
diff --git a/user_guide_src/source/installation/upgrade_300.rst b/user_guide_src/source/installation/upgrade_300.rst
index 6d99f4655..0af21b11e 100644
--- a/user_guide_src/source/installation/upgrade_300.rst
+++ b/user_guide_src/source/installation/upgrade_300.rst
@@ -31,8 +31,19 @@ Step 3: Remove $autoload['core'] from your config/autoload.php
Use of the ``$autoload['core']`` config array has been deprecated as of CodeIgniter 1.4.1 and is now removed.
Move any entries that you might have listed there to ``$autoload['libraries']`` instead.
+***************************************************
+Step 4: Move your Log class overrides or extensions
+***************************************************
+
+The Log Class is considered as a "core" class and is now located in the
+**system/core/** directory. Therefore, in order for your Log class overrides
+or extensions to work, you need to move them to **application/core/**::
+
+ application/libraries/Log.php -> application/core/Log.php
+ application/libraries/MY_Log.php -> application/core/MY_log.php
+
**************************************************************
-Step 4: Add new session driver items to your config/config.php
+Step 5: Add new session driver items to your config/config.php
**************************************************************
With the change from a single Session Library to the new Session Driver, two new config items have been added:
@@ -48,7 +59,7 @@ available as valid drivers, neither of these configuration items are required. H
add them for clarity and ease of configuration in the future.
***************************************
-Step 5: Update your config/database.php
+Step 6: Update your config/database.php
***************************************
Due to 3.0.0's renaming of Active Record to Query Builder, inside your `config/database.php`, you will
@@ -60,13 +71,13 @@ need to rename the `$active_record` variable to `$query_builder`
$query_builder = TRUE;
*******************************
-Step 6: Move your errors folder
+Step 7: Move your errors folder
*******************************
In version 3.0.0, the errors folder has been moved from _application/errors* to _application/views/errors*.
*******************************************************
-Step 7: Update your config/routes.php containing (:any)
+Step 8: Update your config/routes.php containing (:any)
*******************************************************
Historically, CodeIgniter has always provided the **:any** wildcard in routing,
@@ -87,15 +98,37 @@ regular expression::
****************************************************************************
-Step 8: Check the calls to Array Helper's element() and elements() functions
+Step 9: Check the calls to Array Helper's element() and elements() functions
****************************************************************************
The default return value of these functions, when the required elements
don't exist, has been changed from FALSE to NULL.
-**********************************************************
-Step 9: Change usage of Email library with multiple emails
-**********************************************************
+*************************************************************
+Step 10: Update usage of Database Forge's drop_table() method
+*************************************************************
+
+Up until now, ``drop_table()`` added an IF EXISTS clause by default or it didn't work
+at all with some drivers. In CodeIgniter 3.0, the IF EXISTS condition is no longer added
+by default and has an optional second parameter that allows that instead and is set to
+FALSE by default.
+
+If your application relies on IF EXISTS, you'll have to change its usage.
+
+::
+
+ // Now produces just DROP TABLE `table_name`
+ $this->dbforge->drop_table('table_name');
+
+ // Produces DROP TABLE IF EXISTS `table_name`
+ $this->dbforge->drop_table('table_name', TRUE);
+
+.. note:: The given example users MySQL-specific syntax, but it should work across
+ all drivers with the exception of ODBC.
+
+***********************************************************
+Step 11: Change usage of Email library with multiple emails
+***********************************************************
The :doc:`Email library <../libraries/email>` will automatically clear the
set parameters after successfully sending emails. To override this behaviour,
@@ -110,7 +143,7 @@ pass FALSE as the first parameter in the ``send()`` method:
****************************************************************
-Step 10: Remove usage of (previously) deprecated functionalities
+Step 12: Remove usage of (previously) deprecated functionalities
****************************************************************
In addition to the ``$autoload['core']`` configuration setting, there's a number of other functionalities
@@ -159,23 +192,37 @@ CodeIgniter 3.1+.
String helper repeater()
========================
-:doc:`String Helper <../helpers/string_helper>` function ``repeater()`` is now just an alias for
-PHP's native ``str_repeat()`` function. It is deprecated and scheduled for removal in
-CodeIgniter 3.1+.
+:doc:`String Helper <../helpers/string_helper>` function :php:func:`repeater()` is now just an alias for
+PHP's native ``str_repeat()`` function. It is deprecated and scheduled for removal in CodeIgniter 3.1+.
.. note:: This function is still available, but you're strongly encouraged to remove it's usage sooner
rather than later.
-Form helper form_prep()
-=======================
+String helper trim_slashes()
+============================
-:doc:`Form Helper <../helpers/form_helper>` function ``form_prep()`` is now just an alias for
-:doc:`common function <../general/common_functions>` ``html_escape()`` and it's second argument
-is ignored. It is deprecated and scheduled for removal in CodeIgniter 3.1+.
+:doc:`String Helper <../helpers/string_helper>` function :php:func:`trim_slashes()` is now just an alias
+for PHP's native ``trim()`` function (with a slash passed as its second argument). It is deprecated and
+scheduled for removal in CodeIgniter 3.1+.
.. note:: This function is still available, but you're strongly encouraged to remove it's usage sooner
rather than later.
+Email helper functions
+======================
+
+:doc:`Email Helper <../helpers/email_helper>` only has two functions
+
+ - :php:func:`valid_email()`
+ - :php:func:`send_email()`
+
+Both of them are now aliases for PHP's native ``filter_var()`` and ``mail()`` functions, respectively.
+Therefore the :doc:`Email Helper <../helpers/email_helper>` altogether is being deprecated and
+is scheduled for removal in CodeIgniter 3.1+.
+
+.. note:: These functions are still available, but you're strongly encouraged to remove their usage
+ sooner rather than later.
+
Date helper standard_date()
===========================
@@ -212,4 +259,59 @@ As a result of that, the 'anchor_class' setting is now deprecated and scheduled
CodeIgniter 3.1+.
.. note:: This setting is still available, but you're strongly encouraged to remove its' usage sooner
- rather than later. \ No newline at end of file
+ rather than later.
+
+String helper random_string() types 'unique' and 'encrypt'
+==========================================================
+
+When using the :doc:`String Helper <helpers/string_helper>` function :php:func:`random_string()`,
+you should no longer pass the **unique** and **encrypt** randomization types. They are only
+aliases for **md5** and **sha1** respectively and are now deprecated and scheduled for removal
+in CodeIgniter 3.1+.
+
+.. note:: These options are still available, but you're strongly encouraged to remove their usage
+ sooner rather than later.
+
+URL helper url_title() separators 'dash' and 'underscore'
+=========================================================
+
+When using the :doc:`URL Helper <helpers/url_helper>` function :php:func:`url_title()`, you
+should no longer pass **dash** or **underscore** as the word separator. This function will
+now accept any character and you should just pass the chosen character directly, so you
+should write '-' instead of 'dash' and '_' instead of 'underscore'.
+
+**dash** and **underscore** now act as aliases and are deprecated and scheduled for removal
+in CodeIgniter 3.1+.
+
+.. note:: These options are still available, but you're strongly encouraged to remove their usage
+ sooner rather than later.
+
+Database Forge method add_column() with an AFTER clause
+=======================================================
+
+If you have used the **third parameter** for :doc:`Database Forge <database/forge>` method
+``add_column()`` to add a field for an AFTER clause, then you should change its usage.
+
+That third parameter has been deprecated and scheduled for removal in CodeIgniter 3.1+.
+
+You should now put AFTER clause field names in the field definition array instead::
+
+ // Old usage:
+ $field = array(
+ 'new_field' => array('type' => 'TEXT')
+ );
+
+ $this->dbforge->add_column('table_name', $field, 'another_field');
+
+ // New usage:
+ $field = array(
+ 'new_field' => array('type' => 'TEXT', 'after' => 'another_field')
+ );
+
+ $this->dbforge->add_column('table_name', $field);
+
+.. note:: The parameter is still available, but you're strongly encouraged to remove its usage
+ sooner rather than later.
+
+.. note:: This is for MySQL and CUBRID databases only! Other drivers don't support this
+ clause and will silently ignore it.