joomla — & lt; br / & gt; & lt; b & gt; Parse error & lt; / b & gt ;: синтаксическая ошибка, неожиданная ‘{‘ в & lt; b & gt; /home/site/public_html/devel/modules//filter.php< / b & gt; на линии 35 b / b; & Quot;

Я сталкиваюсь с очень странными проблемами со скриптами, которые работали 2 недели назад и теперь выдают следующую ошибку:

"<br /> <b>Parse error</b>: syntax error, unexpected '{' in <b>/home/site/public_html/devel/modules/filter.php</b> on line <b>35</b><br /> "

Это код, и я посмотрел тысячу раз, но я не могу понять, что в этом плохого …

   <?php

define('_JEXEC',1);
define('JPATH_BASE', realpath(dirname(__FILE__).'/../..' ));

require_once(JPATH_BASE.'/includes/defines.php');
require_once(JPATH_BASE.'/includes/framework.php');
$mainframe = JFactory::getApplication('site');
$mainframe->initialise();
$db = JFactory::getDBO();

ob_start();
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');function getCountries() {
try {
$db = JFactory::getDBO();
$query = "SELECT id, name FROM `#__countries`";
$db->setQuery($query);
$result =  $db->loadRowList();
if(!$result) {
throw new exception("Country not found.");
}
$res = array();
foreach($result as $key=>$value) {
$res[$value[0]] = $value[1];
}
$data = array('status'=>'success', 'tp'=>1, 'msg'=>"Countries fetched successfully.", 'result'=>$res);
}
catch (Exception $e) {
$data = array('status'=>'error', 'tp'=>0, 'msg'=>$e->getMessage());
}
finally {
return $data;
}
}

// Fetch all states list by country id
function getStates($countryId) {
try {
$db = JFactory::getDBO();
$query = "SELECT id, name FROM #__states WHERE country_id=".$countryId;
$db->setQuery($query);
$result =  $db->loadRowList();
if(!$result) {
throw new exception("State not found.");
}
$res = array();
foreach($result as $key=>$value) {
$res[$value[0]] = $value[1];
}
$data = array('status'=>'success', 'tp'=>1, 'msg'=>"States fetched successfully.", 'result'=>$res);
} catch (Exception $e) {
$data = array('status'=>'error', 'tp'=>0, 'msg'=>$e->getMessage());
} finally {
return $data;
}
}

// Fetch all cities list by state id
function getCities($stateId) {
try {
$db = JFactory::getDBO();
$query = "SELECT id, name FROM #__cities WHERE state_id=".$stateId;
$db->setQuery($query);
$result =  $db->loadRowList();
if(!$result) {
throw new exception("City not found.");
}
$res = array();
foreach($result as $key=>$value) {
$res[$value[0]] = $value[1];
}
$data = array('status'=>'success', 'tp'=>1, 'msg'=>"Cities fetched successfully.", 'result'=>$res);
} catch (Exception $e) {
$data = array('status'=>'error', 'tp'=>0, 'msg'=>$e->getMessage());
} finally {return $data;}}

try {
if(!isset($_GET['type']) || empty($_GET['type'])) {
throw new exception("Type is not set.");
}
$type = $_GET['type'];
if($type=='getCountries') {
$data = getCountries();
}

if($type=='getStates') {
if(!isset($_GET['countryId']) || empty($_GET['countryId'])) {
throw new exception("Country Id is not set.");
}
$countryId = $_GET['countryId'];
$data = getStates($countryId);
}

if($type=='getCities') {
if(!isset($_GET['stateId']) || empty($_GET['stateId'])) {
throw new exception("State Id is not set.");
}
$stateId = $_GET['stateId'];
$data = getCities($stateId);
}

} catch (Exception $e) {
$data = array('status'=>'error', 'tp'=>0, 'msg'=>$e->getMessage());
} finally {
echo json_encode($data);
}

ob_flush();
?>

Может кто-нибудь сказать мне, что не так?

1

Решение

Это прекрасно разбирается в PHP 5.6. Линия 35 является finally ключевое слово. Если ваша версия PHP старше 5.5, я думаю, вы получите ошибку разбора здесь.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]