Cecil

Asset implements ArrayAccess

Asset class.

Represents an asset (file) in the Cecil project. Handles file locating, content reading, compiling, minifying, fingerprinting, resizing images, and more.

Table of Contents

Interfaces

ArrayAccess

Constants

IMAGE_THUMB  = 'thumbnails'

Properties

$builder  : Builder
$cacheTags  : array<string|int, mixed>
$config  : Config
$data  : array<string|int, mixed>

Methods

__construct()  : mixed
Creates an Asset from a file path, an array of files path or an URL.
__toString()  : string
Returns path.
avif()  : self
Converts an image asset to AVIF format.
buildPathFromUrl()  : string
Builds a relative path from a URL.
compile()  : self
Compiles a SCSS + cache.
convert()  : self
Converts an image asset to $format format.
cover()  : self
Crops the image to the specified width and height, keeping the specified position.
dataurl()  : string
Returns the Data URL (encoded in Base64).
fingerprint()  : self
Add hash to the file name + cache.
getAudio()  : Mp3Info
Returns MP3 file infos.
getIntegrity()  : string
Hashing content of an asset with the specified algo, sha384 by default.
getVideo()  : array<string|int, mixed>
Returns MP4 file infos.
isImageInCdn()  : bool
Is the asset an image and is it in CDN?
minify()  : self
Minifying a CSS or a JS.
offsetExists()  : bool
Implements \ArrayAccess.
offsetGet()  : mixed
Implements \ArrayAccess.
offsetSet()  : void
Implements \ArrayAccess.
offsetUnset()  : void
Implements \ArrayAccess.
resize()  : self
Scales down an image to a new $width.
sanitize()  : string
Replaces some characters by '_'.
save()  : void
Adds asset path to the list of assets to save.
webp()  : self
Converts an image asset to WebP format.
doCompile()  : self
Compiles a SCSS.
doFingerprint()  : self
Add hash to the file name.
doMinify()  : self
Minifying a CSS or a JS + cache.
buildImageCdnUrl()  : string
Builds CDN image URL.
checkImage()  : void
Checks if the asset is not missing and is typed as an image.
deduplicateThumbPath()  : string
Remove redondant '/thumbnails/<width>/' in the path.
getHeight()  : int
Returns the height of an image/SVG.
getImageSize()  : array<string|int, mixed>|false
Returns image size informations.
getRemoteFileContent()  : string
Try to get remote file content.
getWidth()  : int
Returns the width of an image/SVG.
locateFile()  : array<string|int, mixed>
Returns local file path and updated path, or throw an exception.
optimize()  : int
Optimizing $filepath image.

Constants

IMAGE_THUMB

public mixed IMAGE_THUMB = 'thumbnails'

Properties

$cacheTags

protected array<string|int, mixed> $cacheTags = []

Cache tags

$data

protected array<string|int, mixed> $data = []

Methods

__construct()

Creates an Asset from a file path, an array of files path or an URL.

public __construct(Builder $builder, string|array<string|int, mixed> $paths[, array<string|int, mixed>|null $options = null ]) : mixed

Options: [ 'filename' => , 'leading_slash' => 'ignore_missing' => , 'fingerprint' => , 'minify' => , 'optimize' => , 'fallback' => , 'useragent' => , ]

Parameters
$builder : Builder
$paths : string|array<string|int, mixed>
$options : array<string|int, mixed>|null = null
Tags
throws
RuntimeException

__toString()

Returns path.

public __toString() : string
Return values
string

avif()

Converts an image asset to AVIF format.

public avif([int|null $quality = null ]) : self
Parameters
$quality : int|null = null
Tags
throws
RuntimeException
Return values
self

buildPathFromUrl()

Builds a relative path from a URL.

public static buildPathFromUrl(string $url) : string

Used for remote files.

Parameters
$url : string
Return values
string

convert()

Converts an image asset to $format format.

public convert(string $format[, int|null $quality = null ]) : self
Parameters
$format : string
$quality : int|null = null
Tags
throws
RuntimeException
Return values
self

cover()

Crops the image to the specified width and height, keeping the specified position.

public cover(int $width, int $height[, string $position = 'center' ]) : self
Parameters
$width : int
$height : int
$position : string = 'center'
Tags
throws
RuntimeException
Return values
self

dataurl()

Returns the Data URL (encoded in Base64).

public dataurl() : string
Tags
throws
RuntimeException
Return values
string

fingerprint()

Add hash to the file name + cache.

public fingerprint() : self
Return values
self

isImageInCdn()

Is the asset an image and is it in CDN?

public isImageInCdn() : bool
Return values
bool

minify()

Minifying a CSS or a JS.

public minify() : self
Return values
self

offsetExists()

Implements \ArrayAccess.

public offsetExists(mixed $offset) : bool
Parameters
$offset : mixed
Attributes
#[ReturnTypeWillChange]
Return values
bool

offsetGet()

Implements \ArrayAccess.

public offsetGet(mixed $offset) : mixed
Parameters
$offset : mixed
Attributes
#[ReturnTypeWillChange]

offsetSet()

Implements \ArrayAccess.

public offsetSet(mixed $offset, mixed $value) : void
Parameters
$offset : mixed
$value : mixed
Attributes
#[ReturnTypeWillChange]

offsetUnset()

Implements \ArrayAccess.

public offsetUnset(mixed $offset) : void
Parameters
$offset : mixed
Attributes
#[ReturnTypeWillChange]

resize()

Scales down an image to a new $width.

public resize(int $width) : self
Parameters
$width : int
Tags
throws
RuntimeException
Return values
self

sanitize()

Replaces some characters by '_'.

public static sanitize(string $string) : string
Parameters
$string : string
Return values
string

webp()

Converts an image asset to WebP format.

public webp([int|null $quality = null ]) : self
Parameters
$quality : int|null = null
Tags
throws
RuntimeException
Return values
self

doFingerprint()

Add hash to the file name.

protected doFingerprint() : self
Return values
self

doMinify()

Minifying a CSS or a JS + cache.

protected doMinify() : self
Tags
throws
RuntimeException
Return values
self

buildImageCdnUrl()

Builds CDN image URL.

private buildImageCdnUrl() : string
Return values
string

checkImage()

Checks if the asset is not missing and is typed as an image.

private checkImage() : void
Tags
throws
RuntimeException

deduplicateThumbPath()

Remove redondant '/thumbnails/<width>/' in the path.

private deduplicateThumbPath(string $path) : string
Parameters
$path : string
Return values
string

getHeight()

Returns the height of an image/SVG.

private getHeight() : int
Tags
throws
RuntimeException
Return values
int

getRemoteFileContent()

Try to get remote file content.

private getRemoteFileContent(string $path[, string|null $userAgent = null ]) : string

Returns file content or throw an exception.

Parameters
$path : string
$userAgent : string|null = null
Tags
throws
RuntimeException
Return values
string

getWidth()

Returns the width of an image/SVG.

private getWidth() : int
Tags
throws
RuntimeException
Return values
int

locateFile()

Returns local file path and updated path, or throw an exception.

private locateFile(string $path[, string|null $fallback = null ][, string|null $userAgent = null ]) : array<string|int, mixed>

If $fallback path is set, it will be used if the remote file is not found.

Try to locate the file in: (1. remote file)

  1. assets
  2. themes//assets
  3. static
  4. themes//static
Parameters
$path : string
$fallback : string|null = null
$userAgent : string|null = null
Tags
throws
RuntimeException
Return values
array<string|int, mixed>

optimize()

Optimizing $filepath image.

private optimize(string $filepath, string $path, int $quality) : int

Returns the new file size.

Parameters
$filepath : string
$path : string
$quality : int
Return values
int
 
On this page

Search results