Как стать автором
Обновить

CodeIgniter и xajax

Здравствуйте, представляю вольный перевод (поскольку не знаю английский -) инструкции по установке xajax в фреймворк CodeIgniter. Оригинал: wiki:CI с небольшими дополнениями от себя.

xAjax — это библиотека классов для PHP с открытым исходным кодом. Используя эту библиотеку можно не углубляясь в изучение javascript начать использовать технологию ajax в своих проектах. xAjax сам формирует нужный javascript — код.

Итак, для того чтобы установить xAjax в CI необходимо:



1. Переписать файлы из xajax_core/ в /application/libraries
2. Переименовать xajax.inc.php в xajax.php
3. Создать директорию /application/init и положить в неё новый файл init_ajax.php с таким содержимым:

//Содержимое файла init_ajax
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
if ( ! class_exists('xajax'))
{
require_once(APPPATH.'libraries/xajax'.EXT);
}

$obj =& get_instance();
$obj->xajax = new xajax();
$obj->ci_is_loaded[] = 'xajax';

?>


4. Скопировать директорию xajax_js/ в папку с файлами .js вашего проекта. Изменять имя директории нельзя.

5. Измените файл .htaccess что бы его содержимое напоминало следующее:

RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|img|css|public|tmp|download|javascript|rte|document|xajax_js|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]


6. Поменяйте кодировку на нужную (например: cp1251). В файле xajax.php найдите строчку (она в начале) и внесите изменения:

if (!defined ('XAJAX_DEFAULT_CHAR_ENCODING')) define ('XAJAX_DEFAULT_CHAR_ENCODING', 'utf-8');

7. Если вам нужен тест для проверки работоспособности, то создайте контроллер testxajax и запишите в него следующий код:

<?php
class Testxajax extends Controller
{

  function Testxajax()
  {
   parent::controller();
     $this->load->library('xajax');
     $this->xajax->registerFunction(array('test_function',&$this,'test_function'));
     $this->xajax->processRequest();
  }
 
  function test_function($number)
  {
     $objResponse = new xajaxResponse();
     $objResponse->Assign("SomeElementId","innerHTML", "Ура, Xajax работает! Результат сложения: ".($number+3));

   return $objResponse;
  }

  function index()
  {
    
    $template['xajax_js'] = $this->xajax->getJavascript( base_url()."js/" ); // укажите вашу папку с файлами javascript

    $template['content'] = '<div id="SomeElementId"></div><input type="button" value="test" onclick="xajax_test_function(2);">';

    $this->load->view('template/index', $template);
 
  }
}
?>


8. Создайте в директории application/views/template/ файл index.php:

<html>
<head>
  <title>Xajax ТЕСТ</title>
  <?=$xajax_js?>
</head>

<body>
 <h1><?=$content?></h1>
</body>
</html>



Ну вот и всё, успехов!
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.