在我的控制器中使用外部类

Posted

技术标签:

【中文标题】在我的控制器中使用外部类【英文标题】:Using external class in my Controller 【发布时间】:2015-12-08 10:27:45 【问题描述】:

我正在编写我在 CodeIgniter 中的第一个项目,我想知道如何在我的 Controller 中使用库中的类。

库/Twitterclass.php

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

class Twetterclass 

public function __construct($hashtag, $tweet_id)

    require_once('TwitterAPIExchange.php');

    //There is my working code

    //I want to make use of this $n in my Controller
    return $n;




/* End of file Twetterclass.php */

我的控制器:

    public function microtweets()
    
        $params = array('hashtag' => 'somehashtag', 'tweet_id' => '673899616799191040');
        $data['count_tweets'] = $this->load->library('Twetterclass', $params);

        $this->load->view('tweets', $data);
    

我想在我的控制器中使用他的扩展类并在那里处理这个 $n 值,或者例如在我的视图中显示它

我得到了一些错误:

遇到了 PHP 错误

严重性:警告

消息:缺少 Twetterclass::__construct() 的参数 2,调用 /home/jail/kg7dad5/home/kg7dad5/domains/badzlepszy.pl/public_html/coinmonitor/system/core/Loader.php 在第 1246 行并定义

文件名:libraries/Twetterclass.php

行号:5

回溯:

文件:/application/libraries/Twetterclass.php 行:5 功能: _error_handler

文件:/application/controllers/Cointweet.php 行:24 功能: 图书馆

文件:/public_html/coinmonitor/index.php 行:292 功能: 需要一次

【问题讨论】:

【参考方案1】:

首先尝试调试你在构造函数中传递的参数

public function __construct($hashtag, $tweet_id)

   echo $hashtag;
   echo $tweet_id;
   die; 

【讨论】:

我收到了错误 Message: Undefined variable: hashtagtweet_id 的错误,但是如果我在 $params 中发送变量会发生这种情况吗?【参考方案2】:

根据你的代码,改成这样,

public function __construct($arr)

   echo $arr['hashtag'];
   echo $arr['tweet_id'];
   exit; 

因为你要传递 1 个数组,所以用数组索引在库中访问。

【讨论】:

以上是关于在我的控制器中使用外部类的主要内容,如果未能解决你的问题,请参考以下文章

C# - 使用外部 Midi 控制器更改音量

注册方法在我的控制器类中抛出空指针异常

iOS - 从外部类引用活动故事板视图控制器

外部类中的 NSTimer

使用 laravel 4.2 调用控制器外部的 php 函数

表格视图和外部数据源