При использовании автозагрузки классов всем известная функция class_exists(), которая должна проверять, существует ли класс, не просто проверяет, но и загружает класс. Выявляется это и несколько вводит в заблуждение, если после вызова функции динамически изменить класс, т.е. переписать файл.
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- function autoload($class_name){
- require_once(__DIR__ . DIRECTORY_SEPARATOR . $class_name . '.php');
- }
- if (version_compare(phpversion(), '5.3.0', '>=')) spl_autoload_register('autoload',true,false);
- else spl_autoload_register('autoload',true);
- file_put_contents(
- __DIR__ . DIRECTORY_SEPARATOR . 'some_class.php',
- '<?
- class some_class{
- public function __construct(){
- echo 1;
- }
- }
- ?>'
- );
- if( class_exists('some_class') ) echo 'Класс some_class существует, ';
- file_put_contents(
- __DIR__ . DIRECTORY_SEPARATOR . 'some_class.php',
- '<?
- class some_class{
- public function __construct(){
- echo 2;
- }
- }
- ?>'
- );
- $some_class = new some_class();