function getShortString($string,$wordCount,$etc = true)
{
$expString = explode(' ',$string);
$wordsInString = count($expString);
if($wordsInString >= $wordCount )
{
$shortText = '';
for($i=0; $i < $wordCount-1; $i++)
{
$shortText .= $expString[$i].' ';
}
return $etc ? $shortText.='...' : $shortText;
}
else return $string;
}
Попробуй это. используйте другой улов, чтобы получить фатальные ошибки
try{
class Stuff
{
}
$stuff= new Stuff();
$stuff["test"]=0; <<<<<<< this should trigger the below catch
} catch (Exception $e) {
$myLogger->Log($e);
} catch (Error $e) {
// Handle error
echo $e->getMessage(); // Call to a member function method() on string
} catch (Throwable $e) {
// Handle error
echo $e->getMessage(); // Call to undefined function undefinedFunctionCall()
}
вот рабочий ответ:
try{
class Stuff
{
$test = null;
}
$stuff= new Stuff();
$stuff->test = 0;
}
catch (Throwable $e) {
$myLogger->Log($e);
}
Попробуй это. Это всегда полезно
try{
class Stuff
{
$test = null;
public function getTest()
{
return $this->test;
}
public function setTest($value)
{
$this->test = $value;
}
}
$stuff= new Stuff();
$stuff->setTest(0);
echo $stuff->getTest();
}
catch (Exception $e) {
$myLogger->Log($e);
}
В противном случае, если вы хотите преобразовать объект в массив, попробуйте это.
$stuff= new Stuff();
$stuff = (array)$stuff;
Это преобразует объект в массив (по типу приведения)
В противном случае устанавливается непосредственно при этом
try{
class Stuff
{
$test = null;
}
$stuff= new Stuff();
$stuff->test = 0;
}
catch (Exception $e) {
$myLogger->Log($e);
}