Download the PHP package taylanunutmaz/editorjs-php without Composer

On this page you can find all versions of the php package taylanunutmaz/editorjs-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 editorjs-php

Editor.js PHP

Server-side implementation sample for the Editor.js. It contains data validation, HTML sanitization and converts output from Editor.js to the Block objects.

Installation

To install lib use composer:

Guide

Add this line at the top of your PHP script

this line allows you to get editors class that has the following method:

getBlocks - return array of sanitized blocks

Basic usage

You can get data from editor and send as param to editor's server validator like

Editor.js constructor has the following arguments:

$data — JSON string with data from CodeX Editor frontend.

$configuration — JSON string with CodeX Editor tools configuration (see an example in the following paragraph).

Configuration file

You can manually configure validation rules for different types of Editor.js tools (header, paragraph, list, quote and other). You can also extend configuration with new tools.

Sample validation rule set:

Where:

tools — array of supported Editor.js tools.

header — defines header tool settings.

text and level — parameters in header tool structure.

text is a required string, which will be sanitized except b, i and a[href] tags.

level is an optional integer that can be only 0, 1 or 2.

allowedTags param should follow HTMLPurifier format.

There are three common parameters for every block:

  1. type (required) — type of the block
value description
string field with string value
int/integer field with integer value
bool/boolean field with boolean value
array field with nested fields
  1. allowedTags (optional) — HTML tags in string that won't be removed

    value default description
    empty yes all tags will be removed
    * no all tags are allowed

Other values are allowed according to the HTMLPurifier format.

Example:

  1. canBeOnly (optional) — define set of allowed values

Example:

Short settings syntax

Some syntax sugar has been added.

Tool settings can be a string. It defines tool's type with default settings.

It evaluates to:

Tool settings can be an array. It defines a set of allowed values without sanitizing.

It evaluates to:

Another configuration example: /tests/samples/syntax-sugar.json

Nested tools

Tools can contain nested values. It is possible with the array type.

Let the JSON input be the following:

We can define validation rules for this input in the config:

where data is the container for values of the array and - is the special shortcut for values if the array is sequential.

Another configuration example: /tests/samples/test-config.json

Exceptions

EditorJS class

Exception text Cause
JSON is empty EditorJS initiated with empty $json argument
Wrong JSON format: error json_decode failed during $json processing
Input is null json_decode returned null $data object
Input array is empty $data is an empty array
Field `blocks` is missing $data doesn't contain 'blocks' key
Blocks is not an array $data['blocks'] is not an array
Block must be an Array one element in $data['blocks'] is not an array

BlockHandler class

Exception text Cause
Tool `TOOL_NAME` not found in the configuration Configuration file doesn't contain TOOL_NAME in tools{} dictionary
Not found required param `key` key tool param exists in configuration but doesn't exist in input data. (Params are always required by default unless required: false is set)
Found extra param `key` Param key exists in input data but doesn't defined in configuration
Option `key` with value `value` has invalid value. Check canBeOnly param. Parameter must have one of the values from canBeOnly array in tool configuration
Option `key` with value `value` must be TYPE Param must have type which is defined in tool configuration (string, integer, boolean)
Unhandled type `elementType` Param type in configuration is invalid

ConfigLoader class

Exception text Cause
Configuration data is empty EditorJS initiated with empty $configuration argument
Tools not found in configuration Configuration file doesn't contain tools key
Duplicate tool `toolName` in configuration Configuration file has different tools with the same name

Make Tools

If you connect a new Tool on the frontend-side, then you should create a configuration rule for that Tool to validate it on server-side.

Repository

https://github.com/codex-editor/editorjs-php/

About CodeX

We are small team of Web-developing fans consisting of IFMO students and graduates located in St. Petersburg, Russia. Feel free to give us a feedback on [email protected]


All versions of editorjs-php with dependencies

PHP Build Version
Package Version
Requires php Version >=5.6
ezyang/htmlpurifier Version ^4.8
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 taylanunutmaz/editorjs-php contains the following files

Loading the files please wait ....