У меня была такая же проблема, и я смог изменить файл csv, поэтому я искал символ, например \xc7
в http://www.codetable.net , и заменил его на другой символ в моем файле.
Вы также можете изменить свой тип на utf8 , чтобы он возвращал меньше ошибок.
Если я правильно понимаю, вы хотите вызвать ошибку при использовании встроенной функции PHP? В этом случае взгляните на функцию Override Function .
Если ваши функции являются частью класса, вы можете использовать trigger_error в конструкторе, чтобы предупредить об устаревании.
В качестве альтернативы, если функции находятся в одном файле, то при запуске предупреждения об устаревании в верхней части файла будет отображаться ошибка всякий раз, когда файл включен в другое место.
Наконец, вы можете выдать ошибку в первой строке любой из устаревших функций.
Я не проверял это сам, но нашел это в своих закладках: http://wiki.php.net/rfc/e-user-deprecated-warning
Изменить: Хорошо, это еще не работает - поэтому вместо E_USER_DEPRECATED просто используйте что-то вроде E_USER_NOTICE:
<?php
class Foo
{
public function __construct()
{
trigger_error('Use Bar instead', E_USER_NOTICE);
}
}
$foo = new Foo()
Это закончится этим:
Notice: Use Bar instead in /home/unexist/projects/ingame/svn/foo.php on line 6
function my_deprecated_function() {
trigger_error("Deprecated function called.", E_USER_NOTICE);
// do stuff.
}
Вместо того чтобы выдавать предупреждение об использовании во время выполнения, вы можете написать скрипт, который может сканировать вашу кодовую базу на предмет использования этой функции, а затем сгенерировать отчет о нарушающем коде. Время от времени, пропустите это.
Если вы используете систему управления версиями, вы можете установить скрипт в качестве коммит-хука. Я бы, вероятно, рекомендовал бы пост-ловушку, которая просто отправляет электронное письмо, когда сценарий, содержащий устаревшие функции, зарегистрирован, но если вы действительно хотите применить его, вы можете иметь предварительную ловушку, чтобы никто не мог ее проверить .
Вообще говоря, вы можете пометить метод как устаревший, чтобы предупредить пользователей о коде, который не будет работать в будущих версиях. Я думаю, что лучше всего использовать trigger_error вместе с некоторым phpdoc .
/**
* @deprecated
*
* @return $this
*/
public function oldMethod()
{
trigger_error('Method ' . __METHOD__ . ' is deprecated', E_USER_DEPRECATED);
return $this;
}
phpdoc @deprecated
важен, потому что многие IDE, такие как PHPStorm , распознают его и вводят имя метода, если вы пытаетесь его использовать, поэтому вы замечаете, что он устарел, прежде чем фактически запускать ваш код.
Это будет выглядеть примерно так:
Помимо phpdoc, вы можете убедиться, что пользователь получит предупреждение, вызвав правильная ошибка во время выполнения. Просто убедитесь, что вы используете правильную константу (т. Е. E_USER_DEPRECATED
).
E_DEPRECATED
вместо этого используется внутри PHP, поэтому вы не должны его использовать. Больше информации здесь .