CakePHP 4 has Deprecated File & Folder

Written by James McDonald

June 28, 2020

So recently my code editor has been putting a line through File because it is going to removed in CakePHP 5

So here is an example of code that uses the deprecated methods and the suggested SplFileObject

Using File

public function createTempFile($print_content, $print_settings = [])
    {
        if (isset($print_settings['temp_file'])) {
            $tempFile = $print_settings['temp_file'];
        } else {
            $tempFile = TMP . 'PrintTempFile.txt';
        }

        $print_file = new File($tempFile, true, 0644);

        $print_file->write($print_content);

        $print_file->close();
    }

Using SplFileObject

Note that to “close()” the file you assign the SplFileObject to null

Also there doesn’t appear to be an inbuilt chmod so you just have to use the PHP builtin

    public function createTempFile($print_content)
    {
        $tempFile = TMP . sprintf( 'PrintTempFile-%s.txt', $this->action);

        $print_file = new SplFileObject($tempFile, 'w');
        
        chmod ($print_file->getRealPath(), 0666);

        $print_file->fwrite($print_content);

        $print_file = null;
    }

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

You May Also Like…

Toggen builds a new website

So I have built and hosted a new website for Roger Clark Pest Management they are a family owned and operated Pest...

WizTree

Just downloaded WizTree (not a sponsor) from https://wiztreefree.com/ It seems to do what it says on the tin which is...

Scam call from “Telstra”

Just had a call from a man with a sub-continental accent from caller ID 0734946596 Told me there was problem with my...