Download the PHP package ali1/cakephp-json-tools without Composer

On this page you can find all versions of the php package ali1/cakephp-json-tools. 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 cakephp-json-tools

CakePHP Json Tools Plugin

Framework license Total Downloads

A CakePHP plugin to assist with creating Json responses from controllers.

Json Tools has been created to be used by traditional CakePHP projects which are mostly browser-based, but have a few AJAX or API methods. The Json Tools component makes creating these a breeze.

Features

Requirements

Upgrading to 6.0.0 (breaking changes)

6.0.0 contains no new features. It applies the full coding standard to the published API. Two sniffs that were previously excluded because satisfying them breaks backward compatibility are now enforced, so the trait name and five method signatures below have changed.

1. The Route trait is now RouteTrait

JsonTools\Model\Entity\Traits\Route has been renamed to JsonTools\Model\Entity\Traits\RouteTrait, and its file moved from src/Model/Entity/Traits/Route.php to src/Model/Entity/Traits/RouteTrait.php. Behaviour is unchanged. Any entity that uses the trait must update its import, or it will fatal with "Trait not found".

Before:

After:

If you aliased the import (use ... Route as SomethingElse;) only the imported class name changes; the alias can stay.

2. Five JsonComponent methods now have native parameter types

These methods were previously untyped, with the accepted types documented only in their @param docblocks. The native types are now declared, so passing anything outside them throws a TypeError instead of failing later (or silently) inside the method.

Method 5.x signature 6.0.0 signature
redirect() redirect($url) redirect(array\|string\|null $url)
sendContent() sendContent($template = null) sendContent(?string $template = null)
set() set($name, $value = null) set(array\|string $name, mixed $value = null)
entityErrorVars() entityErrorVars($entity) entityErrorVars(EntityInterface\|Form $entity)
generateErrorMessage() generateErrorMessage($entity) generateErrorMessage(EntityInterface\|Form\|array $entity)

EntityInterface is \Cake\Datasource\EntityInterface and Form is \Cake\Form\Form.

What now throws TypeError that previously did not:

Scalar coercion follows PHP's normal rule: strictness is decided by the file making the call, not by this plugin. If your calling file does not declare strict_types=1, passing 42 to sendContent() or set() still coerces to '42' as before. If it does, that call now throws. Objects, arrays, and null where the type does not allow them throw either way.

3. generateErrorMessage() no longer returns '' for unsupported input

In 5.x, generateErrorMessage() ended with an else branch that returned an empty string for any argument that was not an array, an EntityInterface, or a Form — so generateErrorMessage(null), generateErrorMessage('oops') or generateErrorMessage($someRandomObject) quietly produced '' and the caller carried on.

With the parameter typed as EntityInterface|Form|array, that input is rejected at the call boundary with a TypeError and the branch became unreachable, so it has been removed. If your code relied on passing loosely-typed input and getting an empty string back, guard the call yourself:

An entity or form with no errors still returns '', and an empty array still returns '', exactly as before. Only genuinely unsupported types changed.

Installation

In your CakePHP root directory: run the following command:

Then in your Application.php in your project root, add the following snippet:

or you can use the following shell command to enable to plugin in your bootstrap.php automatically:

Now add it to your src/AppController.php or to specific controllers

Usage (in controller methods that may need to output Json)

Understanding the boiler plate Json output

This component primes JsonView to output something that looks like this:

Which corresponds to a json output of:

Your controller method can then override these keys or add new ones easily using this component.

Priming the method with boiler-plate Json output

Setting the JSON output

Boiler plate output keys (see above) could be overwritten later in your method using one of these methods

Example controller

Example AJAX form

This is an example form that corresponds to the ajaxUpdateUser method above.

templates/Users/edit.php

webroot/ajax_submit.js


All versions of cakephp-json-tools with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
cakephp/cakephp Version ^5.0
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 ali1/cakephp-json-tools contains the following files

Loading the files please wait ...