Download the PHP package robertpainsi/sanity-image-url-php without Composer

On this page you can find all versions of the php package robertpainsi/sanity-image-url-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package sanity-image-url-php

PHP port of @sanity/image-url

Packagist Build Status

This PHP library is a direct port of the official Sanity JavaScript library @sanity/image-url. Version maps to @sanity/image-url @fff9fc1 Aug 8, 2024.

Quickly generate image urls from Sanity image records.

This helper will by default respect any crops/hotspots specified in the Sanity content provided to it. The most typical use case for this is to give it a sanity image and specify a width, height or both and get a nice, cropped and resized image according to the wishes of the content editor and the specifications of the front end developer.

In addition to the core use case, this library provides a handy builder to access the rich selection of processing options available in the Sanity image pipeline.

Requirements

sanity-image-url-php requires PHP >= 7.4.

Composer

You can install the library via Composer. Run the following command:

To use the library, use Composer's autoload:

Usage

The most common way to use this library in your project is to configure it by passing it your sanity client configuration. That way it will automatically be preconfigured to your current project and dataset:

When working with the official sanity-php library, you can also initialize the urlBuilder by passing the Sanity\Client as parameter.

Once the builder is initialized, you can use the handy builder syntax to generate your urls:

This will ensure that the author image is always 200 pixels wide, automatically applying any crop specified by the editor and cropping towards the hot-spot she drew. You can specify both width and height like this:

There are a large number of useful options you can specify, like e.g. blur:

Note that the url() function needs to be the final one in order to output the url as a string.

Full usage example

Builder methods

image( $source )

Specify the image to be rendered. Accepts either a Sanity image record, an asset record, or just the asset id as a string. In order for hotspot/crop processing to be applied, the image record must be supplied, as well as both width and height.

dataset( $dataset ), projectId( $projectId )

Usually you should preconfigure your builder with dataset and project id, but even when you did, these let you temporarily override them if you need to render assets from other projects or datasets.

width( $pixels )

Specify the width of the rendered image in pixels.

height( $pixels )

Specify the height of the rendered image in pixels.

size( $width, $height )

Specify width and height in one go.

focalPoint( $x, $y )

Specify a center point to focus on when cropping the image. Values from 0.0 to 1.0 in fractions of the image dimensions. When specified, overrides any crop or hotspot in the image record.

blur( $amount ), sharpen( $amount ), invert()

Apply image processing.

rect( $left, $top, $width, $height )

Specify the crop in pixels. Overrides any crop/hotspot in the image record.

format( $name )

Specify the image format of the image. 'jpg', 'pjpg', 'png', 'webp'

auto( $mode )

Specify transformations to automatically apply based on browser capabilities. Supported values:

orientation( $angle )

Rotation in degrees. Acceptable values: 0, 90, 180, 270

quality( $value )

Compression quality, where applicable. 0-100

forceDownload( $defaultFileName )

Make this an url to download the image. Specify the file name that will be suggested to the user.

flipHorizontal(), flipVertical()

Flips the image.

crop( $mode )

Specifies how to crop the image. When specified, overrides any crop or hotspot in the image record. See the documentation for details.

fit( $value )

Configures the fit mode. See the documentation for details.

dpr( $value )

Specifies device pixel ratio scaling factor. From 1 to 3.

saturation( $value )

Adjusts the saturation of the image. Currently the only supported value is -100 - meaning it grayscales the image.

ignoreImageParams()

Ignore any specifications from the image record (i.e. crop and hotspot).

url(), __toString()

Return the url as a string.

pad( $value )

Specify the number of pixels to pad the image.

frame( $value )

Specify the frame of an animated image to transform. Acceptable values:

Deprecated: minWidth( $pixels ), maxWidth( $pixels ), minHeight( $pixels ), maxHeight( $pixels )

Specifies min/max dimensions when cropping.

Deprecated: You usually want to use width/height with a fit mode of max or min instead.

Custom CDN domains

ℹ️ This feature is available to select Enterprise accounts. Get in touch with your sales executive to learn more.

You can specify a custom baseUrl in the builder options in order to override the default (https://cdn.sanity.io):

Feature requests

Currently, there are no plans to support features that aren't in the official JavaScript project. Please request new features on the official GitHub project and if accepted and implemented, this library will also implement the feature at a later point.

Issues

Before submitting a new issue, please check if it doesn't exist already. If not, verify if this issue also exists in the official JavaScript project. If the JavaScript code and PHP code behave differently, feel free to report the issue.

Pull requests

Only pull requests addressing differences in behavior between the official JavaScript project and this PHP project will be considered. The PHP code has been ported from the JavaScript code in a near line by line manner, which will make any future updates easier to implement. Changes to the structure or readability will most likely end in slower future updates and should be avoided. So let's try to keep the PHP code and JavaScript code in sync :handshake:

License

MIT © Robert Painsi


All versions of sanity-image-url-php with dependencies

PHP Build Version
Package Version
Requires php Version >=7.4
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package robertpainsi/sanity-image-url-php contains the following files

Loading the files please wait ...