对象/ myClass.php
class myClass
{
public $curID;
function get_next_id($type)
{
if($type == '1')
{
$this->enquiryID = "CAT" . $row['nextEnquiryID'];
$this->curID = $this->enquiryID;
}
elseif($type == '2')
{
$this->enquiryID = "GE" . $row['nextEnquiryID'];
$this->curID = $this->enquiryID;
}
elseif($type == '3')
{
$this->enquiryID = $row['nextEnquiryID'];
$this->curID = $this->enquiryID;
}
}
}
我试图在另一个文件中更改时访问curID的新值。
的index.php
所以我尝试这样做:
<?php
include_once("objects/myClass.php");
echo ($myClass->curID);
?>
但是我根本看不到任何输出。条件语句将基于以下内容给出不同的类型:
<select class="form-control" name="enquiryType" id="enquiryType">
<option value="1">Enquiry 1</option>
<option value="2">Enquiry 2</option>
<option value="3">Enquiry 3</option>
</select>
因此,每次条件更改时,我都需要使用该语句更新curID,然后将其发送到目前为止回显它,以便我可以对index.php进行其他处理
我怎样才能做到这一点?
修改
我试着更彻底地解释一下。我有Select with选项(在index.php上)然后这些输入到我的类,然后根据选择的内容我检查enquiryType 1 2或3并转到数据库以获取该类型的最后一个enquiryID并追加无论是“GE”还是“CAT”,都没有。然后我将curID设置为新ID的任何内容。因此,如果最后一个id是GE1,它将找出它是什么enquiryType,例如说“GE”并将它附加到它所以它的“GE2”然后将curID设置为GE2然后我希望能够重新获得该值index.php,现在就回声一下吧。如果最初的问题不明确的话,希望这会让人更加抱歉。
答案 0 :(得分:1)
下面:
<?php
include_once("objects/myClass.php");
echo ($myClass->curID);
?>
应该是:
<?php
include_once("objects/myClass.php");
$myClass = new myClass();
echo ($myClass->curID);
?>
编辑: 根据您的评论,您的类似乎希望至少有一个参数传递到构造中:
<?php
include_once("objects/myClass.php");
$someParameter = 'some data';
$myClass = new myClass($someParameter);
echo ($myClass->curID);
?>
如果没有看到完整的类,很难确定__construct()函数的期望值。
编辑:
我决定填写一些缺失的数据,这是一个简单的例子:
<?php
// objects/myClass.php
class myClass
{
// $enquiryID was missing in your class
public $enquiryID;
public $curID;
function get_next_id($type)
{
// This array was missing as well, so here it's been faked
$row = array('nextEnquiryID'=>1);
if ($type=='1')
{
$this->enquiryID = "CAT".$row['nextEnquiryID'];
$this->curID = $this->enquiryID;
}
else if ($type=='2')
{
$this->enquiryID = "GE".$row['nextEnquiryID'];
$this->curID = $this->enquiryID;
}
else if ($type=='3')
{
$this->enquiryID = $row['nextEnquiryID'];
$this->curID = $this->enquiryID;
}
}
另一个文件:
<?php
include_once("object/myClass.php");
$someParameter = 'some data';
$myClass = new myClass($someParameter);
// Call get_next_id(), passing in the $type
$myClass->get_next_id(1);
// Now that get_next_id() has been called, we can load the value of $myClass->curID
echo $myClass->curID;
答案 1 :(得分:0)
仔细查看objects / myClass.php还有一个额外的}找到
答案 2 :(得分:0)
您在课堂上的语法错误,因为在公共$ curID之后关闭课程,请将此括号放在最后。 Class是一个模板(对象的工厂),你必须先定义一个这个类的实例,然后才能获得它的属性,如$ object = new myClass(); $ property = $ object-&gt; curID;你可以通过在类中创建一个接受参数的方法并将其赋值给curID属性来更改此属性。如果你有问题,就问吧。希望我能正确理解这个问题,不好意思,如果没有。