0
的实例变量我有一个类,我通过拨打:访问在构造
$tagIt_Instance1 = new TagIt;
$tagIt_Instance1->tag_table = 'tags';
// if maintenace is set to true, fill out these (for update)
$tagIt_Instance1->tag_object_table = 'projects'; // the name of your table
$tagIt_Instance1->tag_object_fieldname = 'project_tags'; // the name of your field
$tagIt_Instance1->tag_object_id = isset($_GET['id']) ? $_GET['id'] : ''; // the corresponding id for the row of the table
// end maintenance
if (isset($_GET['tag_it']) && $_GET['tag_it'] == true) {
$tagIt_Instance1->TagItAjax(
isset($_GET['action']) ? $_GET['action'] : '',
isset($_GET['term']) ? $_GET['term'] : '',
isset($_GET['match_id']) ? $_GET['match_id'] : '',
isset($_GET['tag_object_id']) ? $_GET['tag_object_id'] : ''
);
}
在课堂上,在构造函数中,我想访问$tag_table
class TagIt
{
// edit defaults
private $debug = true;
/* this will reload the page if a new tag cannot be added. suggested to leave true as otherwise the user
could submit a page with a tag that is not in the system because of said error. if maintenance is enabled
then the tag would be removed eventually when matching occurs, but lets keep the db clean */
private $reloadOnError = true;
private $confirmationMsgAdd = 'Do you want to add the new tag'; // no question mark or tag identifier, thats handled by jquery
private $confirmationMsgDel = 'Do you want to delete the tag';
private $confirmationMsgDel2 = 'from the database as well';
private $errorNewTag = 'An error occured. Could not process new tag!';
private $generalErrorMsg = 'An error occured.';
// do allow users to delete special cases
private $special_cases = array('featured');
private $select2JS = '<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/select2/3.5.0/select2.min.js"></script>';
private $select2CSS = '<link rel="stylesheet" href="/neou_cms/plugins/select2.css" type="text/css" media="all">';
public $tag_table = '';
/* enabling this will make sure that only tags in the database are
kept for a specific row when tagit checks for matches */
public $maintenance = true;
// do not edit!!! ///////////////////////
// if maintenace is set to true these become applicable (leave blank here)
public $tag_object_table = '';
public $tag_object_fieldname = '';
public $tag_object_id = '';
private $location = '';
public function __construct()
{
// we don't want the query string messing up the AJAX request, thus we remove it
$this->location = strtok($_SERVER["REQUEST_URI"], '?');
echo $this->tag_table;
}
然而,每当我尝试并访问$this->tag_table
,尽管$this->tag_table
在脚本后面的函数中工作,我总是会得到一个空变量。我觉得这可能是一个范围问题,我不确定。
该死的男人尴尬我忘记了,它已经有一段时间了,因为我已经编码,我一直试图围绕我写的一些东西,而我回头哈哈。 – Alex
@Alex我们都在那里之前哈哈!请记住,您可以通过'__construct()'传递所有这些变量,并使代码更易于维护:) – Darren