Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in

Shorty1968

Erfahrenes Mitglied
Hallo ich bin bei der Entwicklung meines Plugins auf Folgenden Fehler gestossen.
Code:
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /var/www/vhosts/wbb-support.eu/httpdocs/testforum/wbb4/tutorials/lib/form/TutorialsAddForm.class.php on line 373
Die Zeile 373 sieht so aus.
Code:
$categoryTree = new TutorialsCategoryNodeTree('wcf2tutorialssystem.category');
10 Zeilen vor dem Code:
PHP:
/**
	 * @see	\wcf\page\IPage::readData()
	 */
	public function readData() {
		parent::readData();

		// get label groups
		$labelGroupIDs = TutorialsCategoryCache::getInstance()->getLabelGroups($this->category->categoryID);
		if (!empty($labelGroupIDs)) {
			$this->labelGroups = LabelHandler::getInstance()->getLabelGroups($labelGroupIDs);
		}
		return $this->$labelGroups;
        }
10 Zeilen nach dem Code:
PHP:
$this->categoryList = $categoryTree->getIterator();
		$this->categoryList->setMaxDepth(0);
		
		if (empty($_POST)) {
			// multilingualism
			if (!empty($this->availableContentLanguages)) {
				if (!$this->languageID) {
					$language = LanguageFactory::getInstance()->getUserLanguage();
					$this->languageID = $language->languageID;
				}

				if (!isset($this->availableContentLanguages[$this->languageID])) {
					$languageIDs = array_keys($this->availableContentLanguages);
					$this->languageID = array_shift($languageIDs);
				}
			}

			// set default publication and archivation date
			$dateTime = DateUtil::getDateTimeByTimestamp(TIME_NOW);
			$dateTime->setTimezone(WCF::getUser()->getTimeZone());
			$this->publicationDate = $this->archivingDate = $dateTime->format('c');
		}

		// add breadcrumbs
		TUTORIALSCore::getInstance()->setBreadcrumbs();
	}
Ich komme nicht dahinter was der Fehler ist?
 
Hi,

deine Codeschnipsel sind zwar etwas ungünstig geschnitten, aber so wie es aussieht fehlt vor der 373 ein "}". Du definierst eine Funktion, schließt diese mit einem "return" ab, aber da fehlt halt die Klammer.

Grüße,
BK
 
Danke das dachte ich auch aber wenn ich sie dort setze bekomme ich.
Code:
Parse error: syntax error, unexpected '}' in /var/www/vhosts/wbb-support.eu/httpdocs/testforum/wbb4/tutorials/lib/form/TutorialsAddForm.class.php on line 400
Zeile 373-400 sieht so aus.
PHP:
// get the accessible tutorials categories
		$categoryTree = new TutorialsCategoryNodeTree('wcf2tutorialssystem.category');
		$this->categoryList = $categoryTree->getIterator();
		$this->categoryList->setMaxDepth(0);
		
		if (empty($_POST)) {
			// multilingualism
			if (!empty($this->availableContentLanguages)) {
				if (!$this->languageID) {
					$language = LanguageFactory::getInstance()->getUserLanguage();
					$this->languageID = $language->languageID;
				}

				if (!isset($this->availableContentLanguages[$this->languageID])) {
					$languageIDs = array_keys($this->availableContentLanguages);
					$this->languageID = array_shift($languageIDs);
				}
			}

			// set default publication and archivation date
			$dateTime = DateUtil::getDateTimeByTimestamp(TIME_NOW);
			$dateTime->setTimezone(WCF::getUser()->getTimeZone());
			$this->publicationDate = $this->archivingDate = $dateTime->format('c');
		}

		// add breadcrumbs
		TUTORIALSCore::getInstance()->setBreadcrumbs();
	}
 
Code von 358 - 383:
PHP:
/**
	 * @see	\wcf\page\IPage::readData()
	 */
	public function readData() {
		parent::readData();

		// get label groups
		$labelGroupIDs = TutorialsCategoryCache::getInstance()->getLabelGroups($this->category->categoryID);
		if (!empty($labelGroupIDs)) {
			$this->labelGroups = LabelHandler::getInstance()->getLabelGroups($labelGroupIDs);
		}
		return $this->$labelGroups;
        }
	
		// get the accessible tutorials categories
		$categoryTree = new TutorialsCategoryNodeTree('wcf2tutorialssystem.category');
		$this->categoryList = $categoryTree->getIterator();
		$this->categoryList->setMaxDepth(0);
		
		if (empty($_POST)) {
			// multilingualism
			if (!empty($this->availableContentLanguages)) {
				if (!$this->languageID) {
					$language = LanguageFactory::getInstance()->getUserLanguage();
					$this->languageID = $language->languageID;
				}
 
Hi,

bin mir zwar nicht sicher, aber müsste bei dem return nicht folgendes stehen:

PHP:
// alt:
return $this->$labelGroups; 

// neu:
return $this->labelGroups;

Grüße,
BK
 
Nein sorry das ist leider nicht das Problem.

Wenn ich das return $this->$labelGroups; } ganz raus nehme bekomme ich.
Code:
Fatal error: PHP notice in file /var/www/vhosts/wbb-support.eu/httpdocs/testforum/wbb4/tutorials/lib/form/TutorialsAddForm.class.php (365): Undefined property: tutorials\form\TutorialsAddForm::$category
Information:
id: 2a649fa9b9f71a413c3992093f4b286c62cd91ef
error message: PHP notice in file /var/www/vhosts/wbb-support.eu/httpdocs/testforum/wbb4/tutorials/lib/form/TutorialsAddForm.class.php (365): Undefined property: tutorials\form\TutorialsAddForm::$category
error code: 0
file: /var/www/vhosts/wbb-support.eu/httpdocs/testforum/wbb4/wcf/lib/system/WCF.class.php (297)
php version: 5.3.3-7+squeeze17
wcf version: 2.0.0 (Maelstrom)
date: Wed, 08 Jan 2014 12:01:55 +0000
request: /testforum/wbb4/tutorials/index.php/TutorialsAdd/
referer: http://wbb-support.eu/testforum/wbb4/tutorials/index.php/TutorialsOverview/?dd2f38d8
Stacktrace:
#0 /var/www/vhosts/wbb-support.eu/httpdocs/testforum/wbb4/tutorials/lib/form/TutorialsAddForm.class.php(365): wcf\system\WCF::handleError(8, 'Undefined prope...', '/var/www/vhosts...', 365, Array)
#1 /var/www/vhosts/wbb-support.eu/httpdocs/testforum/wbb4/wcf/lib/page/AbstractPage.class.php(179): tutorials\form\TutorialsAddForm->readData()
#2 /var/www/vhosts/wbb-support.eu/httpdocs/testforum/wbb4/wcf/lib/page/AbstractPage.class.php(86): wcf\page\AbstractPage->show()
#3 /var/www/vhosts/wbb-support.eu/httpdocs/testforum/wbb4/wcf/lib/system/request/Request.class.php(58): wcf\page\AbstractPage->__run()
#4 /var/www/vhosts/wbb-support.eu/httpdocs/testforum/wbb4/wcf/lib/system/request/RequestHandler.class.php(106): wcf\system\request\Request->execute()
#5 /var/www/vhosts/wbb-support.eu/httpdocs/testforum/wbb4/tutorials/index.php(9): wcf\system\request\RequestHandler->handle('tutorials')
#6 {main}
 
Die Lösung für die behebung des Fehlers muss in diesem Code liegen,wenn ich diesen raus nehme ist die Fehlermeldung weg.
PHP:
// get label groups
        $labelGroupIDs = TutorialsCategoryCache::getInstance()->getLabelGroups($this->category->categoryID);
        if (!empty($labelGroupIDs)) {
            $this->labelGroups = LabelHandler::getInstance()->getLabelGroups($labelGroupIDs);
        }
Aber was verursacht den fehler?
 
Aus einer WoltLab Datei die zum Labelsystem des wBB4 gehört das möchte ich in meinem wBB4 Plugin Intiegrieren und nutzen,so gesehen gehört der Code schon zu mir und dem WoltLab Labelsystem.
 
Zurück