Компилятор выдает предупреждения при обнаружении ситуаций, в которых можно улучшить код или избежать потенциальной ошибки.

Предупреждения можно включить через параметры командной строки или добавить в конфигурацию.JSON, чтобы включить или отключить их раз и навсегда.

Предупреждения можно включить, передав их имена с префиксом -w:

zephir -wunused-variable -wnonexistent-function

Предупреждения можно отключить, передав их имена с префиксом -W:

zephir -Wunused-variable -Wnonexistent-function

Поддерживаются следующие предупреждения:

unused-variable

Возникает, когда переменная объявлена, но не используется в методе. Такое предупреждение включено по умолчанию.

public function some()
{
    var e; // declared but not used

    return false;
}

unused-variable-external

Вызывается, когда параметр объявлен, но не используется в методе.

public function sum(a, b, c) // c is not used
{
    return a + b;
}

possible-wrong-parameter-undefined

Вызывается при вызове метода с неправильным типом для параметра:

public function some()
{
    return this->sum("a string", "another");  // wrong parameters passed
}

public function sum(int a, int b)
{
    return a + b;
}

nonexistent-function

Возникает при вызове функции, которая не существует во время компиляции:

public function some()
{
    someFunction(); // someFunction does not exist
}

nonexistent-class

Вызывается при использовании класса, который не существует во время компиляции:

public function some()
{
    var a;

    let a = new \MyClass(); // MyClass does not exist
}

non-valid-isset

Вызывается, когда компилятор обнаруживает, что операция isset выполняется над значением, отличным от массива или объекта:

public function some()
{
    var b = 1.2;

    return isset b[0]; // variable integer 'b' used as array
}

non-array-update

Вызывается, когда компилятор обнаруживает, что операция обновления массива выполняется для значения, отличного от массива:

public function some()
{
    var b = 1.2;
    let b[0] = true; // variable 'b' cannot be used as array
}

non-valid-objectupdate

Вызывается, когда компилятор обнаруживает, что выполняется операция обновления объекта для значения, не являющегося объектом:

public function some()
{
    var b = 1.2;
    let b->name = true; // variable 'b' cannot be used as object
}

non-valid-fetch

Вызывается, когда компилятор обнаруживает, что операция' fetch ' выполняется над значением, отличным от массива или объекта:
переменная целое число 'b' используется в качестве массива

public function some()
{
    var b = 1.2, a;
    fetch a, b[0];
}

invalid-array-index

Вызывается, когда компилятор обнаруживает, что используется недопустимый индекс массива:

public function some(var a)
{
    var b = [];
    let a[b] = true;
}

non-array-append

Возникает, когда компилятор обнаруживает, что элемент добавляется в переменную не массив:

public function some()
{
    var b = false;
    let b[] = "some value";
}

 

Содержание.

Предыдушая  Следующая