# Override core class

**URL:** <https://forum.getkirby.com/t/override-core-class/34707>\
**Category:** Questions\
**Tags:** v4\
**Created:** [September 12, 2025, 11:58am UTC](https://forum.getkirby.com/t/override-core-class/34707 "2025-09-12T11:58:11Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![SamllSystems](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.getkirby.com/samllsystems/32/12360_2.png) [@SamllSystems](https://forum.getkirby.com/u/SamllSystems)\
**Post date:** [September 12, 2025, 11:58am UTC](https://forum.getkirby.com/t/override-core-class/34707/1 "2025-09-12T11:58:11Z")

</div>

I am trying to override the create file function from the FileRules class in a plugin like this (Kirby 4). Should I expect this to work? If not how can I override that function?

```php
<?php
use Kirby\Cms\App;
use Kirby\Cms\FileRules as BaseFileRules;
class CustomFileRules extends BaseFileRules {
    public static function create($file, $upload): bool {
        if ($file->exists() === true) {
            $existing = $file->parent()->file($file->filename());
            if (
                $file->name() === $upload->name() &&
                $file->template() === $existing->template()
            ) {
                return true;
            }
        }
        return parent::create($file, $upload);
    }
}
App::plugin('vuek/files', [
    'extends' => [
        'classes' => [
            'Kirby\Cms\FileRules' => CustomFileRules::class
        ]
    ]
])

```
