Codeigniter не может загрузить большую пользовательскую библиотеку

63
6

Обнаружена ошибка Не удалось загрузить запрошенный класс:

Plugin_update_checker

Я использую пользовательскую библиотеку, которая создает динамический php файл с кодом 740

функция контроллера:

public function create() {
$userId=$this->session->userdata('userId');
$userName=$this->session->userdata('userName');
//Form_validation stuff
$this->load->library('form_validation');

$this->form_validation->set_rules('title', 'Title', 'required');
$this->form_validation->set_rules('description', 'Description', 'required');
$this->form_validation->set_rules('requires', 'Requires', 'required');
$this->form_validation->set_rules('url', 'Homepage URL', 'required');

if ($this->form_validation->run() == FALSE)
{
$this->index();
}else {
$data = array(
'title' => $this->input->post('title'),
'readme_text' => ($this->input->post('readme_text') == 'yes' ? 1 : 0),
'description' => $this->input->post('description'),
'requires' => $this->input->post('requires'),
'url' => prep_url($this->input->post('url')),
'user_id' => $userId
);
$insert_id = $this->model->insert_data($data);
print ($insert_id);
if ($insert_id) {
$this->session->set_userdata('pluginId', $insert_id);
$key = substr(number_format(time() * rand(),0,'',''),0,6).$insert_id;
//$this->model->update_data(array('plugin_id' => $insert_id), array('secret_key' => $key,'php_file' => $WinnRepoPluginUpdater));
$this->load->library('RepositoryHelper');

// ------------------------Can't Load this Library ---------------------
$this->load->library('Plugin_update_checker');
// --------------------------------------------------------------------

$repo= new RepositoryHelper();
$php_code = new plugin_update_checker();
$dir = 'api/'.$repo->sum($userId,1548).'-'.$repo->slug($userName).'/plugins/';
$file_name = 'WinnRepo'.$repo->slug_space($data['title']).'PluginUpdater_'.$key;
$WinnRepoPluginUpdater = $dir.'/'.$file_name.'.php';
$repo->make_directory($dir);
$url = base_url().'home/plugin_version_control/';
//$code = $php_code->plugin_update_checker('WinnRepo_'.$key, $file_name, 'WinnRepoPluginUpdateChecker_2_1', $url, $key);
$repo->make_file($WinnRepoPluginUpdater,'ccccccccccc');
$this->model->update_data(array('plugin_id' => $insert_id), array('secret_key' => $key,'php_file' => $WinnRepoPluginUpdater));
redirect('Plugins/view');
}
}
}

Вот пользовательская библиотека:

class Plugin_update_checker
{

public function plugin_update_checker($winnRepo, $className, $PluginUpdateChecker_2_1, $url, $licence_key)
{
echo '<?php ';
?>
// Here 740 line which is auto generated a php file
<?php
}
}

спросил(а) 2017-03-09T00:51:00+03:00 4 года, 3 месяца назад
1
Решение
77

Имя библиотеки: /application/libraries/Plugin_update_checker.php

Код:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Plugin_update_checker
{
function __construct()
{
$this->ci =& get_instance();
}

function test(){
return 'test';
}
}

Код контроллера:

public function index()
{
$this->load->library('Plugin_update_checker');
echo $this->plugin_update_checker->test();
}

Попробуй это! Этот код работает для меня.

ответил(а) 2017-03-09T01:14:00+03:00 4 года, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема