标签: codeigniter-2

调用未定义的方法CI_Controller :: Controller()

我有这个控制器:

    class Start extends CI_Controller{
   var    $base;
   var    $css;

   function Start()
   {
       parent::Controller(); //error here.
       $this->base = $this->config->item('base_url'); //error here
       $this->css = $this->config->item('css');   

   }

  function hello($name)
  {
    $data['css'] = $this->css;
    $data['base'] = $this->base;
    $data['mytitle'] = 'Welcome to this site';
    $data['mytext'] = "Hello, $name, now we're getting dynamic!";
    $this->load->view('testView', $data);
   }
}
Run Code Online (Sandbox Code Playgroud)

它告诉我这一行:

父::控制器(); //这里错误

 Call to undefined method CI_Controller::Controller() 
Run Code Online (Sandbox Code Playgroud)

如果我删除该行..我得到一个错误的下一行说..

Call to a member function item() on a non-object
Run Code Online (Sandbox Code Playgroud)

如何防止此类错误发生?

php codeigniter-2

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

自动加载语言codeigniter

使用codeginiter创建一个多语言网站.我创建了两个文件夹.一个用于法语文件,一个用于英语.当我去自动加载语言(英语和法语)时

($autoload['language'] = array('en', 'fr');)
Run Code Online (Sandbox Code Playgroud)

我收到错误"无法加载请求的语言文件:language/english/fr_lang.php"

如何让它在适当的文件夹中查找?

谢谢

php codeigniter internationalization codeigniter-2

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

在Ion Auth - Codeigniter中检索用户的组ID

我正在使用Ion Auth作为我的codeigniter应用程序,除了一件事,一切似乎都很好.

我需要显示一个用户列表以及他们所在的组.如何在不创建自己的模型和查询的情况下检索特定用户的组ID.

$this->ion_auth->user($id)->row(); 不检索组ID.

php codeigniter codeigniter-2 ion-auth

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

在codeigniter中加入两个数据库的查询

我需要编写来自两个数据库的两个表的连接查询并获取连接的数据.例如,考虑我有一个数据库db1,它有一些名为companies,plans,customers的表.假设我需要加入两个表公司并计划在另一个数据库db2上使用另一个表'cdr',通过使用类似的列对它们进行分组.

我现在正在运行的查询如下:

function get_per_company_total_use ($custid)
        {         
                 $this->DB1->select('ph_Companies.CompanyName');
                 $this->DB1->where('ph_Companies.Cust_ID', $custid);
                 $this->DB2->select_sum('cdr.call_length_billable')->from('cdr');
                 $this->DB2->group_by('cdr.CompanyName');
                 $this->db->join('Kalix2.ph_Companies', 'Kalix2.ph_Companies.CompanyName = Asterisk.cdr.CompanyName');
                 $query = $this->db->get();
                 if($query->result()){
                     foreach ($query->result() as $value) {
                         $companies[]= array($value->CompanyName,$value->call_length_billable);
                          }
                     return $companies;
                 }
                 else 
                     return FALSE;
        }
Run Code Online (Sandbox Code Playgroud)

但我的查询不是获取数据并抛出错误.同样的查询,我在一个数据库上运行并正在运行.但我需要帮助才能找到如何使用两个数据库完成此操作.

php mysql join multiple-databases codeigniter-2

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

用于CodeIgniter的CSV导入库

需要将csv或xls导入到使用CodeIgniter创建的Application中.这有什么图书馆吗?任何建议表示赞赏.

php csv xls helper codeigniter-2

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

始终使用CodeIgniter分页类显示上一个和下一个链接

问题描述
当我在第一页时,previous链接没有显示,next当我在最后一页时链接也没有显示.我设置$config['prev_link']='previous'$config['next_link']='next'.

问题
如何使用CodeIgniter分页类始终显示上一个下一个链接作为<p>不使用时的标记?

更新
最终解决它自己.见下面的解决方案 致力于v2.1.3

php pagination codeigniter codeigniter-2

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

Codeigniter - 创建RESTful API

嘿所以我一直在尝试创建一个RESTful API使用codeigniter 2.1.4.

我是一名中级php程序员,最初辩论从头开始创建API.
然而,经过一些研究,在这里和谷歌上查看旧问题,我选择了几个教程和第三方库.
我在nettuts +上发现的最简单的一个.
这看起来是一个很好的解决方案,因为它使用了philsturgeon/codeigniter-restserver第三方库,但是它自己的教程是在2010年编写的.

经过进一步检查,我意识到使用这些库的大多数教程至少有2到3年的历史.这会引发任何问题吗?
我还可以在nettuts上关注教程+或者我应该编写自己的RESTful API吗?

php rest codeigniter codeigniter-2 restful-architecture

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

CodeIgniter验证:可以验证GET查询字符串吗?

表单验证库似乎只适用于POST.我需要使用查询字符串,并希望使用CI来验证传递的值.有没有办法做到这一点?

codeigniter codeigniter-2

5
推荐指数
1
解决办法
5479
查看次数

Codeigniter:加入'where in'子句

我想加入表格列出两类小说和浪漫的书籍.如何使用WHERE IN子句进行JOIN(甚至可能?抱歉,noob在这里)

这是我被困在的地方:

$categories = array(10,12);
$query = select()->from('books');
$query->join('genre_map','genre_map.gid IN ('.implode(",", $categories).')');
Run Code Online (Sandbox Code Playgroud)

Jn Table genre_map:bookid,genre_id

任何SQL Query/CodeIgniter帮助都将非常感激.

codeigniter codeigniter-2

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

CodeIgniter项目的第一个HTTP请求的延迟非常高

我和一位朋友刚刚开始参与一个项目,其他人几年前就停止了开发,我们正试图复活它.我们已经解决了大多数与设置相关的问题,但是我们无法弄清楚这是一个非常烦人的问题.

在我们的本地主机中,所有页面都需要很多时间来加载/刷新.我不是指资产,脚本或任何东西,问题是在第一个请求完成之前的延迟.大多数情况下需要15到30秒,这是不可接受的,有时甚至会达到1或2分钟.

例如,这是Chrome开发工具中"网络"标签的屏幕截图.第一行是视图,其他是资产.

疯狂延迟的示例


我们用谷歌搜索了几个小时,尝试了一些不同的东西,但没有一个有效.像这样的一些解决方案指向一些Apache的httpd.conf设置,但我放弃了,因为我使用相同的服务器用于其他项目,这从未发生过(无论如何我试过了,但是没有用).其他人指出PHP版本冲突,所以我尝试将我的MAMP中的PHP从5.4.10更改为5.2.17(该项目需要5.2.3+),但这似乎也不起作用.

除了我的MAMP安装,我们还在带有WAMP(PHP5.5)的Windows机器上测试了它,并且在另一台带有干净MAMP(PHP5.5)的Mac上进行了测试,在这两种环境中都会发生同样的事情.所以,我们现在想知道问题是否可能出现在CodeIgniter本身(这听起来不太可能)或某些项目配置中,但我们对CodeIgniter(也不是PHP专家)都是新手,并且找不到任何东西.

哦,我们也尝试联系原始的开发人员,但是他们说这是两年前,听起来他们不愿意提供帮助.我真的希望他们在开发这个项目的时候没有这个问题,因为在30秒的加载时间内工作它只是疯了.

有人有任何想法或了解我们可以尝试找到问题的更多内容吗?如果需要,我可以发布一些代码.



更新:我刚刚发现这个未解决的问题,其中用户遇到了与Laravel类似的问题,但有时只是.正如我所说,在我的情况下,这种情况总是发生,延迟时间从大约10秒到几分钟.



更新2:正如Wrikken所建议的,我通过xdebug探查器运行它,但我不确定如何解释结果以查看问题所在.我用PHPStorm的"Analyze Xdebug Profiler"工具打开了一个快照,并按照每个调用中使用的时间对其进行了排序.以下是一些截图:

执行统计选项卡 调用树选项卡

并按自己的时间排序:

按自己的时间排序

CashewModel显示一些排队是某种自定义库由以前的开发者,这也是造成我们已经解决了一些问题建.我希望问题不会隐藏在那里,因为我不知道大多数自定义代码是如何工作的.

有任何想法吗?同样,我可以根据需要发布代码.



更新3:深入研究代码,MY_Controller在上面的屏幕截图中,以前的开发人员创建了一些扩展的自定义控制器CI_Controller.我刚刚发现他们将所有腰果代码推送到GitHub,这是MY_Controller文件.

我还会在这里粘贴第467行的所有相关代码(在GitHub的版本中是464),它涉及_remap内部的功能,CashewController并且是探查器说所有时间花费的地方.我将一些评论和名称翻译成英文.

/**
 *
 * Extension of the default controller, adding support for templates
 * 
 * Usage example:
 *
 * class Dummy extends EC_Controller
 * {
 *     public function index()
 *     {
 *         $this->add_section('id_in_template', 'page_name');
 *         $this->render_page(); // Renders the default …
Run Code Online (Sandbox Code Playgroud)

php apache mamp codeigniter codeigniter-2

5
推荐指数
1
解决办法
692
查看次数