почему так реализовано?
почему так реализовано?
Например, вот так $model = Model::method;
Хотя это не статический метод, public function method()
Почему так сделано?
Хотя это не статический метод, public function method()
Почему так сделано?
Re: почему так реализовано?
Это не реализовано, а указано, что method() принадлежит Model
Re: почему так реализовано?
Если это не Model::class, то потому что у кого-то рост рук не из стандартных мест реализован.
Re: почему так реализовано?
Стандартную конструкцию ::class, введённую в PHP 5.5 для получения имени класса:
Код: Выделить всё
use app\models\User;
$class = User::class;
echo $class; // 'app\models\User'
Re: почему так реализовано?
Дмитрий, а почему у меня так работает:
Контроллер:
Модель:
Контроллер:
Код: Выделить всё
$model = Truck::findTruckOne($id);
Код: Выделить всё
public function findTruckOne($id)
{
$model = Truck::find()
->andWhere(['truck.id' => $id])
->one();
return $model;
}
Re: почему так реализовано?
Потому что это php. Включите error_reporting в E_ALL и читайте что вам будут писать.
А вот в доках про это:
Внимание
В PHP 7 возможность вызова нестатического метода статически объявлена устаревшей и вызовет ошибку уровня E_DEPRECATED и в дальнейшем может быть удалена.
Re: почему так реализовано?
maleks писал(а): ↑2017.12.25, 20:34Потому что это php. Включите error_reporting в E_ALL и читайте что вам будут писать.
А вот в доках про это:Внимание
В PHP 7 возможность вызова нестатического метода статически объявлена устаревшей и вызовет ошибку уровня E_DEPRECATED и в дальнейшем может быть удалена.
у меня 7.1 стоит и ничего не выскакивает.
кстати, а почему phpstorm сам подставляет ::
а как правильно тогда?
Re: почему так реализовано?
добавьте в index.php в самом начале:
Код: Выделить всё
error_reporting(-1);
Re: почему так реализовано?
Метод всегда указывается через "::", это означает принадлежность метода к классу.
http://www.yiiframework.com/doc-2.0/gui ... ating-data
3. Call yii\db\ActiveRecord::save() to save the data into database.
Надо смотреть пример кода
или описание самого метода - static он или нет.
http://www.yiiframework.com/doc-2.0/gui ... ating-data
3. Call yii\db\ActiveRecord::save() to save the data into database.
Надо смотреть пример кода
Код: Выделить всё
$customer->save();
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.