标签: codeigniter

如何将类添加到CodeIgniter锚点

我有以下内容:

'.anchor('','Home').'
Run Code Online (Sandbox Code Playgroud)

我想为它添加以下CSS类:

class="top_parent"
Run Code Online (Sandbox Code Playgroud)

这样,当它在浏览器中呈现时,代码将类似于以下内容:

<a href="#" class="top_parent">Home</a>
Run Code Online (Sandbox Code Playgroud)

在此先感谢,非常感谢任何帮助.

-

汤姆

css codeigniter

12
推荐指数
2
解决办法
2万
查看次数

如何使用CodeIgniter测试控制器?

我有一个使用CodeIgniter MVC框架构建的PHP Web应用程序.我想测试各种控制器类.我正在使用Toast进行单元测试.我的控制器没有状态,它们处理的所有内容都保存到会话中或传递给视图显示.创建一个模拟会话对象并测试它是否正常工作很简单(只需创建一个模拟对象并使用$ controller-> session = $ mock注入它).

我不知道的是,如何使用视图.在CodeIgniter中,视图加载为:

$this->load->view($view_name, $vars, $return);
Run Code Online (Sandbox Code Playgroud)

由于我不想改变CI代码,我虽然可以创建一个模拟Loader并替换原始代码.这就是问题所在,我找不到从CI_Loader派生新类的方法.

如果我不包含system/libraries/Loader.php文件,那么类CI_Loader是未定义的,我不能继承它:

class Loader_mock extends CI_Loader
Run Code Online (Sandbox Code Playgroud)

如果我确实包含该文件(使用require_once),我会收到错误:

Cannot redeclare class CI_Loader
Run Code Online (Sandbox Code Playgroud)

看起来CI代码本身不会出于任何原因使用require_once.

这里有没有人有单元测试CodeIgniter驱动的应用程序的经验?

编辑:我试图在运行时将一个真正的加载器对象注入一个模拟类,并使用__call,__ set,__ get,__ isset和__unset重定向所有调用和变量.但是,它似乎不起作用(我没有得到任何错误,只是没有输出,即来自Toast的空白页).这是代码:

class Loader_mock 
{
    public $real_loader;
    public $varijable = array();

    public function Loader_mock($real)
    {
        $this->real_loader = $real;
    }

    public function __call($name, $arguments) 
    {
        return $this->real_loader->$name($arguments);
    }

    public function __set($name, $value)
    {
        return $this->real_loader->$name = $value;
    }

    public function __isset($name)
    {
        return isset($this->real_loader->$name);
    }

    public function __unset($name)
    {
        unset($this->loader->$name);
    } …
Run Code Online (Sandbox Code Playgroud)

php codeigniter

12
推荐指数
1
解决办法
1万
查看次数

使用memcache作为会话存储?

我目前有一个很大的问题.两天前,我在一台服务器上运行的网站太多,所以我再购买了两台并将它们集群化(rsync和负载均衡).

然后我开始注意到用户会点击服务器-1,然后在下一个请求命中server3但是他们的会话仍然在server1而不是server3上,他们不再登录了.

我被建议使用memcache进行会话存储.

我的脚本已经使用了$_SESSION.

  • 我们可以安装memcache并启用会话处理程序支持并设置session.save_handler = "memcache"为强制php使用memcache吗?

  • 是否有任何应用程序编程需要使用memcache?

  • 这会解决我的服务器问题之间的会话吗?

  • 会话存储在创建时是存储在所有服务器上还是像主存储器服务器一样存储?

我正在使用codeiginiter框架

php memcached codeigniter

12
推荐指数
3
解决办法
2万
查看次数

这实际意味着什么> Codeigniter

愚蠢的问题,我知道,

从所有教程中他们都没有解释为什么他们使用$ this.

这是$像Codeigniter中基类的对象吗?

任何解释都会受到欢迎!:)

谢谢

php codeigniter

12
推荐指数
4
解决办法
1万
查看次数

使用php/codeigniter删除文件

我想删除在我的localhost中找到的文件.

localhost/project/folder/file_to_delete
Run Code Online (Sandbox Code Playgroud)

我正在使用codeigniter.

我想在php中使用unlink()函数,但我真的无法理解如何使用它.

php codeigniter unlink delete-file

12
推荐指数
3
解决办法
7万
查看次数

CodeIgniter PDO数据库驱动程序无法正常工作

我正在尝试在我的CodeIgniter应用程序中使用PDO MySQL驱动程序.这是我的数据库配置:

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'testdatabase';
$db['default']['dbdriver'] = 'pdo';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

但是,当我加载控制器时,我收到此错误:

致命错误:C:\ xampp\htdocs\testsite\system\database\drivers\pdo\pdo_driver.php中带有"无效数据源名称"消息的未捕获异常"PDOException":114

我已经使用die($this->hostname);in 检查了数据源pdo_driver.php,结果如下:

localhost;dbname=testdatabase
Run Code Online (Sandbox Code Playgroud)

所以它获得了正确的数据库名称.数据库存在,我确实在运行MySQL.

这可能会出错?谢谢.

php mysql pdo codeigniter

12
推荐指数
3
解决办法
2万
查看次数

Codeigniter:消息:无法修改标头信息 - 已经发送的标头(输出开始于

我创建了一个动态菜单CMS网站.我是在Windows系统中开发的.当我在Windows操作系统中运行我的项目时,我的项目运行没有任何错误.但现在将其上传到Linux操作系统服务器我收到警告和错误,如:

    A PHP Error was encountered

    Severity: Warning

    Message: Cannot modify header information - headers already sent by (output started at /home/ansofcm8/public_html/apps/resources/math/application/core/MY_Controller.php:1)

    Filename: libraries/Session.php

    Line Number: 675
Run Code Online (Sandbox Code Playgroud)

可能是什么原因.请帮我.

php codeigniter

12
推荐指数
1
解决办法
7万
查看次数

PHPExcel单元格中的垂直文本

如何使用PHPExcel类在单元格中垂直打印文本?

在此输入图像描述

需要打印如上图所示.

php codeigniter phpexcel

12
推荐指数
1
解决办法
1万
查看次数

PHP Codeigniter:设置MySQL配置的端口号

你能解释一下如何设置数据库配置的端口号:

class MY_Model extends CI_Model 
{
    protected static $db2_loaded = false;
    protected static $db2 = false;
    function __construct() 
    {
        parent::__construct();
        if(($this->session->userdata('login_user')!=false) && !self::$db2_loaded) 
        { 
            self::$db2_loaded = true;
            $config['hostname'] = "localhost";      
            $config['username'] = "root";
            $config['password'] = "";
            $config['database'] = $this->session->userdata('bdd_compte');
            $config['dbdriver'] = "mysql";
            $config['dbprefix'] = "";
            $config['pconnect'] = TRUE;
            $config['db_debug'] = TRUE;
            $config['cache_on'] = FALSE;
            $config['cachedir'] = "";
            $config['char_set'] = "utf8";

            $config['dbcollat'] = "utf8_general_ci";
            self::$db2 = $this->load->database($config,TRUE);

        }
        $this->db = self::$db2;


    }
}
Run Code Online (Sandbox Code Playgroud)

任何想法我应该如何设置不同的端口号

谢谢!

php mysql codeigniter

12
推荐指数
1
解决办法
2万
查看次数

会话不在localhost中工作但在实时服务器中工作(Codeigniter)

我从昨天开始就面对这个问题,但我无法解决这个问题.问题是会话在本地环境中不起作用,但出于测试目的,我将相同的文件放在实时服务器上,它们都可以正常工作.

这里,如果我的config.php文件:

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

$config['cookie_prefix']    = '';
$config['cookie_domain']    = '';
$config['cookie_path']      = '/';
$config['cookie_secure']    = FALSE;
$config['cookie_httponly']  = FALSE;
Run Code Online (Sandbox Code Playgroud)

以下是我在一个模型文件中保存数据的方法

$this->session->set_userdata('user',$result); //$result works fine, it produces
right result
Run Code Online (Sandbox Code Playgroud)

在我看来,我试图通过以下方式访问:

$this->session->userdata['user']['name']; //name here is an element in result array
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

严重性:注意

消息:未定义的索引:用户

文件名:home/home.php

行号:2

令我惊讶的是,这个相同的代码在服务器上运行没有任何错误.

另外,为了能够知道Codeigniter会话保存的数据,我尝试了数据库方法.

我在config.php文件中将代码更改为以下

$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_sessions';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] …
Run Code Online (Sandbox Code Playgroud)

php session codeigniter

12
推荐指数
2
解决办法
4316
查看次数

标签 统计

codeigniter ×10

php ×9

mysql ×2

css ×1

delete-file ×1

memcached ×1

pdo ×1

phpexcel ×1

session ×1

unlink ×1