roelofjan-elsinga / prismic-php
PHP development kit for Prismic
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpdocumentor/phpdocumentor: ^3.0
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.0
- squizlabs/php_codesniffer: ^3.3
- 8.0.1
- 8.0.0
- 7.0.0
- 6.1.0
- 6.0.0
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.1
- 5.0.0
- v4.0.0
- 4.0.0-beta
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.0
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-beta1
- 1.7.1
- 1.7.0
- 1.6.1
- 1.6.0
- 1.5.12
- 1.5.11
- 1.5.10
- 1.5.9
- 1.5.8
- 1.5.7
- 1.5.6
- 1.5.5
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
- dev-master / 1.0.x-dev
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6-beta
- 1.0.5-beta
- 1.0.4-beta
- 1.0.3-beta
- 1.0.2-beta
- 1.0.1-beta
- dev-release-4.0.0
- dev-alw/uid-crosslang
- dev-develop
- dev-php7only
- dev-apiv2
- dev-docs-gh-pages
- dev-jbdb/api-v2
- dev-sre/remove-symphony-deps
- dev-new-slice-wip
- dev-missing-helpers
- dev-alw/cache
- dev-travis
- dev-guzzle
- dev-fixtravis
- dev-php-unit
- dev-standardize_code
This package is auto-updated.
Last update: 2024-11-13 18:09:28 UTC
README
PHP development kit for Prismic
Getting started
Install the kit for your project
First of all, install apc to have the default built-in cache support.
Install with Composer:
$ composer require roelofjan-elsinga/prismic-php
Usage
Include the dependency:
<?php include_once __DIR__.'/../vendor/autoload.php'; use Prismic\Api;
Then call the API:
<?php $api = Api::get('https://your-repo-name.prismic.io/api/v2'); $doc = $api->getByUID('get-started');
This kit supports PHP version >= 7.4.
Because of a dependency on the event dispatcher, this library is compatible with Symfony version 2.8 and higher. For Symfony 2.7 projects, use version 2.0.3.
DOM helpers usage
In these examples we have a $doc variable corresponding to the fetched Prismic document. We also have a $linkResolver variable containing the functional link resolver, read our docs to learn more about Link Resolving.
Link
<?php use Prismic\Dom\Link; echo Link::asUrl($doc->data->link, $linkResolver);
Rich Text
<?php use Prismic\Dom\RichText; echo RichText::asText($doc->data->title); echo RichText::asHtml($doc->data->description, $linkResolver);
Date
<?php use Prismic\Dom\Date; $date = Date::asDate($doc->data->date); echo $date->format('Y-m-d H:i:s');
More information
Install the kit locally
Clone this GitHub repository, then install Composer if you haven't, and run:
$ composer install
Tests
Please write tests for any bugfix or new feature.
If you find existing code that is not optimally tested and wish to make it better, we really appreciate it; but you should document it on its own branch and its own pull request.
Tests are run by running the command:
$ ./vendor/bin/phpunit
Some of the kit's tests check stuff that are built on top of APC and need APC to work from the command line. If you've installed and enabled APC, and your cache tests don't pass:
- check if your APC is enabled for your command line, by running
php -i | grep apc
; if no output is displayed, then maybe the APC extension you installed and enabled is only enabled in apache but not for your command line. Check how your OS works to make that happen, and if it involves changing a php.ini file, make sure it's the right php.ini (you might have one for apache, and one for the command line) - if APC is enabled for the command line, and yet the tests still fail, make sure your
apc.enable_cli
(which you see in the output ofphp -i | grep apc
) is 'On'. If it's not, add this at the end of your php.ini:apc.enable_cli = 1
. Make sure it's the right php.ini (you might have one for apache, and one for the command line)
License
This software is licensed under the Apache 2 license, quoted below.
Copyright 2018 Prismic (https://prismic.io).
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.