【问题标题】:php pass arguments to methodphp将参数传递给方法
【发布时间】:2013-05-19 01:35:09
【问题描述】:

我有以下代码:

$o_search = new ObjectSearch();
$o_search -> user = $user;
$o_search -> date =':"2012"';
$o_search -> chtype = 'created';
echo "Changetype: " . $o_search -> chtype . "<br/>\n";
echo "User: " .  $o_search -> user . "<br/>\n" ;
echo "Date: " . $o_search -> date  . "<br/>\n"  ;
$result = $o_search->search($o_search->chtype , $o_search->user , $o_search->date);

最后一行是我遇到麻烦的地方。将这些参数传递给“搜索”方法的正确语法是什么?如果我用有效的字符串替换这些参数,代码就可以工作。 接下来是objectSearch类:

include_once(__CA_LIB_DIR__."/ca/Search/BaseSearch.php");
include_once(__CA_LIB_DIR__."/ca/Search/ObjectSearchResult.php");

class ObjectSearch extends BaseSearch {
        # ----------------------------------------------------------------------
        /**
         * Which table does this class represent?
         */
        protected $ops_tablename = "ca_objects";
        protected $ops_primary_key = "object_id";
        # ----------------------------------------------------------------------
        public function &search($ps_search, $pa_options=null) {
                return parent::doSearch($ps_search, new ObjectSearchResult(), $pa_options);
        }
        # ----------------------------------------------------------------------
}

提前致谢。

【问题讨论】:

  • 这一切都取决于搜索的方法签名......你能发布方法定义吗?
  • $o_search-&gt;search($o_search-&gt;chtype , $o_search-&gt;user , $o_search-&gt;date) 看起来像重复,因为所有参数都来自 $o_search
  • 我应该使用 $this->something 代替吗?我试过但没有用
  • @Orangepill 我编辑了帖子并添加了方法定义。

标签: php methods arguments


【解决方案1】:

好吧,这很尴尬,就像输入正确一样简单......

$result = $o_search->search($o_search->chtype.".".$o_search->user.'.:"'.$o_search->date.'"');

我必须在正确的位置添加标点符号。 希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2012-10-22
    • 1970-01-01
    • 2011-04-20
    • 2011-07-23
    • 2017-01-05
    • 2013-10-04
    • 2013-02-08
    • 2021-07-19
    • 1970-01-01
    相关资源
    最近更新 更多